:root {
    --tgdg-ink: #172032;
    --tgdg-muted: #586276;
    --tgdg-paper: #fffdf8;
    --tgdg-cream: #fff7e9;
    --tgdg-red: #8e1a22;
    --tgdg-red-dark: #70131b;
    --tgdg-line: #e7e1d7;
    --tgdg-blue: #f4fbfd;
    --tgdg-display: "Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", ui-rounded, system-ui, sans-serif;
}

body.tgdg-redesign-page {
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-paper) !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 16px;
    line-height: 1.55;
}

body.tgdg-redesign-page *,
body.tgdg-redesign-page *::before,
body.tgdg-redesign-page *::after {
    box-sizing: border-box;
}

body.tgdg-redesign-page a { color: inherit; }
body.tgdg-redesign-page button,
body.tgdg-redesign-page input,
body.tgdg-redesign-page textarea,
body.tgdg-redesign-page select { font: inherit; }

.tgdg-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 500;
    padding: 10px 14px;
    color: #fff !important;
    background: var(--tgdg-ink);
    border-radius: 10px;
    text-decoration: none;
    transform: translateY(-150%);
}
.tgdg-skip-link:focus { transform: translateY(0); }

.tgdg-site-header {
    position: relative;
    z-index: 100;
    width: 100%;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(23,32,50,.08);
}
.tgdg-header-inner {
    width: min(1460px, calc(100% - 32px));
    min-height: 124px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
}
.tgdg-brand { flex: 0 0 auto; display: inline-flex; height: 124px; align-items: center; gap: 12px; color: var(--tgdg-ink) !important; text-decoration: none; overflow: visible; }
.tgdg-brand-logo { display: block; flex: 0 0 auto; width: 142px; height: 142px; max-width: none; object-fit: contain; transform: translateY(7px); }
.tgdg-brand-copy { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.tgdg-brand-name { display: block; max-width: none; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 23px; font-weight: 700; line-height: 1; letter-spacing: -.015em; white-space: nowrap; text-align: center; }
.tgdg-brand-tagline { display: block; margin-top: 4px; color: var(--tgdg-muted); font-size: 12px; font-weight: 800; line-height: 1.1; white-space: nowrap; text-align: center; }
.tgdg-desktop-nav { display: flex; flex: 0 1 auto; align-items: center; gap: clamp(14px,1.4vw,24px); margin-left: auto; }
.tgdg-desktop-nav > a,
.tgdg-desktop-nav > a:visited { color: var(--tgdg-ink); font-size: 15px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.tgdg-desktop-nav > a:hover,
.tgdg-desktop-nav > a:focus-visible { color: var(--tgdg-red); }
.tgdg-nav-menu { position: relative; }
.tgdg-nav-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 14px 0;
    color: var(--tgdg-ink);
    background: transparent;
    border: 0;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
}
.tgdg-nav-menu-toggle:hover,
.tgdg-nav-menu-toggle:focus-visible { color: var(--tgdg-red); }
.tgdg-nav-dropdown {
    position: absolute;
    top: calc(100% - 2px);
    left: -18px;
    z-index: 120;
    display: none;
    min-width: 260px;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(23,32,50,.16);
}
.tgdg-nav-menu:hover .tgdg-nav-dropdown,
.tgdg-nav-menu:focus-within .tgdg-nav-dropdown { display: block; }
.tgdg-nav-dropdown-wide { min-width: 330px; max-height: min(72vh,620px); overflow-y: auto; }
.tgdg-nav-dropdown-right { right: -18px; left: auto; }
.tgdg-nav-dropdown a,
.tgdg-nav-dropdown a:visited { display: block; padding: 10px 12px; color: var(--tgdg-ink); border-radius: 10px; font-size: 16px; line-height: 1.3; font-weight: 500; text-decoration: none; }
.tgdg-nav-dropdown a:hover,
.tgdg-nav-dropdown a:focus-visible { background: var(--tgdg-cream); }
.tgdg-nav-dropdown-label { display: block; margin-top: 4px; padding: 10px 12px 7px; border-bottom: 1px solid var(--tgdg-line); font-size: 14px; font-weight: 900; line-height: 1.15; letter-spacing: .025em; text-transform: uppercase; }
.tgdg-nav-dropdown-label:first-child { margin-top: 0; }
.tgdg-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.tgdg-login-link,
.tgdg-login-link:visited { padding: 12px 4px; color: var(--tgdg-ink); font-weight: 800; text-decoration: none; white-space: nowrap; }
.tgdg-business-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; color: #fff !important; background: var(--tgdg-red); border: 0; border-radius: 13px; box-shadow: 0 8px 18px rgba(142,26,34,.2); font-weight: 900; text-decoration: none; white-space: nowrap; }
.tgdg-business-button:hover { background: var(--tgdg-red-dark); }
.tgdg-menu-toggle,
.tgdg-menu-button { display: none; }

/* Desktop/tablet header: use the same spacing as the homepage.
   Hide only the Add a Listing text link; keep it available in the burger menu. */
@media (min-width: 821px) {
    .tgdg-desktop-nav > a[href="/submit-listing"] { display: none !important; }
}

.tgdg-redesign-shell { width: 100%; min-height: 50vh; margin: 0; padding: 0; }

.tgdg-page-hero { padding: 64px 20px 54px; background: var(--tgdg-blue); }
.tgdg-page-hero-inner { width: min(1180px, calc(100% - 20px)); margin: 0 auto; }
.tgdg-eyebrow { display: inline-flex; margin: 0 0 14px; padding: 7px 12px; color: var(--tgdg-red-dark); background: #fff; border: 1px solid rgba(142,26,34,.18); border-radius: 999px; font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.tgdg-page-hero h1 { max-width: 900px; margin: 0; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(44px,6vw,76px); line-height: .98; letter-spacing: -.045em; }
.tgdg-page-hero p { max-width: 800px; margin: 20px 0 0; color: var(--tgdg-muted); font-size: 19px; }

.tgdg-page-content { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 58px 0 76px; }
.tgdg-story-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); gap: 38px; align-items: start; }
.tgdg-prose h2,
.tgdg-section-title { margin: 0 0 16px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(30px,4vw,46px); line-height: 1.05; letter-spacing: -.035em; }
.tgdg-prose h3 { margin: 34px 0 10px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 26px; }
.tgdg-prose p { margin: 0 0 18px; color: #354052; font-size: 17px; line-height: 1.75; }
.tgdg-prose a { color: var(--tgdg-red-dark); font-weight: 800; text-underline-offset: 3px; }
.tgdg-story-card { position: sticky; top: 22px; padding: 28px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 24px; box-shadow: 0 14px 34px rgba(23,32,50,.09); }
.tgdg-story-logo { display: block; width: 132px; height: 132px; margin: 0 auto 18px; object-fit: contain; }
.tgdg-story-card strong { display: block; font-family: var(--tgdg-display); font-size: 28px; line-height: 1.05; text-align: center; }
.tgdg-story-card p { margin: 10px 0 0; color: var(--tgdg-muted); text-align: center; }
.tgdg-stat-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.tgdg-stat { padding: 14px; background: var(--tgdg-cream); border: 1px solid #f1dfbd; border-radius: 16px; text-align: center; }
.tgdg-stat b { display: block; font-family: var(--tgdg-display); font-size: 22px; }
.tgdg-stat span { display: block; margin-top: 2px; color: var(--tgdg-muted); font-size: 12px; font-weight: 750; }

.tgdg-values { margin-top: 58px; padding-top: 48px; border-top: 1px solid var(--tgdg-line); }
.tgdg-values-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.tgdg-value-card { padding: 24px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 20px; box-shadow: 0 10px 26px rgba(23,32,50,.06); }
.tgdg-value-card span { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 14px; background: var(--tgdg-cream); border-radius: 50%; font-size: 20px; }
.tgdg-value-card h3 { margin: 0 0 8px; font-family: var(--tgdg-display); font-size: 22px; }
.tgdg-value-card p { margin: 0; color: var(--tgdg-muted); line-height: 1.65; }

.tgdg-page-cta { margin-top: 56px; padding: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--tgdg-ink); border-radius: 24px; color: #fff; }
.tgdg-page-cta h2 { margin: 0 0 7px; color: #fff; font-family: var(--tgdg-display); font-size: 30px; }
.tgdg-page-cta p { margin: 0; color: rgba(255,255,255,.75); }
.tgdg-page-cta .tgdg-business-button { flex: 0 0 auto; }

.tgdg-site-footer { width: 100%; color: #fff; background: var(--tgdg-ink); }
.tgdg-footer-inner { width: min(1280px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 26px; }
.tgdg-footer-grid { display: grid; grid-template-columns: minmax(260px,1.3fr) repeat(3,minmax(150px,.7fr)); gap: 34px; align-items: start; }
.tgdg-footer-brand { display: flex; align-items: center; gap: 16px; }
.tgdg-footer-logo { width: 86px; height: 86px; object-fit: contain; padding: 10px; background: #fff; border-radius: 50%; }
.tgdg-footer-brand strong { display: block; color: #fff; font-family: var(--tgdg-display); font-size: 24px; line-height: 1.05; }
.tgdg-footer-brand p { max-width: 360px; margin: 7px 0 0; color: rgba(255,255,255,.72); font-size: 14px; }
.tgdg-footer-social { display: flex; gap: 10px; margin-top: 16px; }
.tgdg-footer-social a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; color: #fff !important; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; text-decoration: none; transition: transform .18s ease,background .18s ease,border-color .18s ease; }
.tgdg-footer-social a:hover,
.tgdg-footer-social a:focus-visible { background: var(--tgdg-red); border-color: var(--tgdg-red); transform: translateY(-2px); }
.tgdg-footer-social svg { width: 20px; height: 20px; fill: currentColor; }
.tgdg-footer-column h3 { margin: 0 0 12px; color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }
.tgdg-footer-column a { display: block; width: fit-content; margin: 8px 0; color: rgba(255,255,255,.78) !important; text-decoration: none; font-size: 14px; }
.tgdg-footer-column a:hover,
.tgdg-footer-column a:focus-visible { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.tgdg-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.65); font-size: 13px; }
.tgdg-footer-bottom p { margin: 0; }

@media (max-width:1180px) and (min-width:821px) {
    .tgdg-header-inner { gap: 14px; }
    .tgdg-brand { gap: 10px; }
    .tgdg-brand-logo { width: 108px; height: 108px; transform: translateY(5px); }
    .tgdg-brand-name { display: block; font-size: 20px; }
    .tgdg-brand-tagline { display: block; font-size: 11px; }
    .tgdg-desktop-nav { gap: clamp(10px,1vw,16px); }
    .tgdg-desktop-nav > a,
    .tgdg-nav-menu-toggle { font-size: 14px; }
}

@media (max-width:1080px) {
    .tgdg-header-inner { gap: 10px; }
    .tgdg-brand-logo { width: 96px; height: 96px; transform: translateY(4px); }
    .tgdg-brand-name { font-size: 18px; }
    .tgdg-brand-tagline { font-size: 10px; }
    .tgdg-desktop-nav { gap: 10px; }
    .tgdg-desktop-nav > a,
    .tgdg-nav-menu-toggle { font-size: 13px; }
    .tgdg-business-button { padding: 0 12px; font-size: 13px; }
    .tgdg-login-link { font-size: 13px; }
    .tgdg-footer-grid { grid-template-columns: 1.2fr repeat(3,.8fr); }
}

@media (max-width:820px) {
    .tgdg-header-inner { width: min(100% - 28px,760px); min-height: 88px; flex-wrap: wrap; gap: 0; }
    .tgdg-brand { height: 88px; gap: 8px; }
    .tgdg-brand-logo { width: 98px; height: 98px; transform: translateY(7px); }
    .tgdg-brand-copy { align-items: center; justify-content: center; }
    .tgdg-brand-name { display: block; max-width: none; font-size: 18px; line-height: 1.02; white-space: nowrap; }
    .tgdg-brand-tagline { display: block; margin-top: 4px; font-size: 13px; }
    .tgdg-menu-button { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; margin-left: auto; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 12px; font-size: 24px; cursor: pointer; }
    .tgdg-desktop-nav,
    .tgdg-header-actions { display: none; width: 100%; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav,
    .tgdg-menu-toggle:checked ~ .tgdg-header-actions { display: flex; flex-direction: column; align-items: stretch; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav { gap: 0; order: 4; padding-top: 10px; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav > a { padding: 13px 4px; border-top: 1px solid var(--tgdg-line); }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu { border-top: 1px solid var(--tgdg-line); }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu-toggle { width: 100%; justify-content: space-between; padding: 13px 4px; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown { position: static; display: none; min-width: 0; max-height: none; padding: 0 0 8px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu.is-open .tgdg-nav-dropdown { display: block; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown-label { display: none; }
    .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown a { padding: 9px 8px; color: var(--tgdg-muted); font-weight: 750; }
    .tgdg-menu-toggle:checked ~ .tgdg-header-actions { order: 5; padding: 6px 0 16px; }
    .tgdg-login-link { text-align: left; }
    .tgdg-story-grid { grid-template-columns: 1fr; }
    .tgdg-story-card { position: static; }
    .tgdg-values-grid { grid-template-columns: 1fr; }
    .tgdg-page-cta { align-items: flex-start; flex-direction: column; }
    .tgdg-footer-grid { grid-template-columns: 1fr 1fr; }
    .tgdg-footer-brand { grid-column: 1/-1; }
    .tgdg-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width:560px) {
    .tgdg-page-hero { padding: 42px 14px 38px; }
    .tgdg-page-hero-inner,
    .tgdg-page-content { width: min(100% - 28px,760px); }
    .tgdg-page-hero h1 { font-size: 44px; }
    .tgdg-page-hero p { font-size: 17px; }
    .tgdg-page-content { padding: 42px 0 56px; }
    .tgdg-stat-list { grid-template-columns: 1fr; }
    .tgdg-page-cta { padding: 26px; }
    .tgdg-footer-inner { width: min(100% - 28px,760px); padding-top: 42px; }
    .tgdg-footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .tgdg-footer-brand { grid-column: auto; align-items: flex-start; }
}

/* About page: centred structure with left-aligned long-form copy for easier reading. */
.tgdg-about-article {
    max-width: 820px;
    margin: 0 auto;
}
.tgdg-about-article > p {
    text-align: left;
}
.tgdg-about-article > h2 {
    margin-top: 48px;
    text-align: center;
}
.tgdg-about-article > h2:first-of-type {
    margin-top: 30px;
}
.tgdg-about-closing {
    margin-top: 34px !important;
    padding: 24px 26px;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-cream);
    border: 1px solid #f1dfbd;
    border-radius: 18px;
    font-size: 19px !important;
    text-align: center !important;
}
.tgdg-about-signoff {
    margin-top: 34px !important;
    color: var(--tgdg-ink) !important;
    font-size: 18px !important;
    text-align: center !important;
}


/* About page illustrations. */
.tgdg-about-feature {
    margin: 0 auto 42px;
    text-align: center;
}
.tgdg-about-feature img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
.tgdg-about-feature-group {
    max-width: 680px;
}
.tgdg-about-feature-group img {
    max-height: 520px;
    object-fit: contain;
}
.tgdg-about-people {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    width: min(1080px, calc(100vw - 48px));
    max-width: none;
    margin: 30px 0 34px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.tgdg-about-person {
    margin: 0;
    padding: 18px 18px 14px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 10px 26px rgba(23,32,50,.07);
    text-align: center;
}
.tgdg-about-person img {
    display: block;
    width: min(100%, 260px);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    object-fit: contain;
}
.tgdg-about-person figcaption {
    margin-top: 10px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 22px;
    font-weight: 700;
}
.tgdg-about-feature-dogs {
    max-width: 560px;
    margin-top: 18px;
    margin-bottom: 0;
}
.tgdg-about-feature-dogs img {
    max-height: 500px;
    object-fit: contain;
}

@media (max-width: 900px) {
    .tgdg-about-people {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(640px, calc(100vw - 40px));
        gap: 18px;
    }
}

@media (max-width: 560px) {
    .tgdg-about-feature-group {
        max-width: 100%;
        margin-bottom: 32px;
    }
    .tgdg-about-people {
        grid-template-columns: 1fr;
        width: min(330px, calc(100vw - 32px));
        gap: 16px;
    }
    .tgdg-about-feature-dogs {
        max-width: 330px;
    }
}

/* About page hero: centre the title block against the full hero container. */
.tgdg-about-hero .tgdg-page-hero-inner {
    text-align: center;
}
.tgdg-about-hero h1 {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-about-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}

/* Link to us page. */
.tgdg-link-hero .tgdg-page-hero-inner {
    text-align: center;
}
.tgdg-link-hero h1,
.tgdg-link-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-link-page {
    max-width: 1120px;
}
.tgdg-link-intro {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}
.tgdg-link-intro h2,
.tgdg-link-help h2 {
    margin: 0 0 12px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.05;
}
.tgdg-link-intro p {
    margin: 0 auto 12px;
    color: #354052;
    font-size: 17px;
    line-height: 1.7;
}
.tgdg-link-intro a {
    color: var(--tgdg-red-dark);
    font-weight: 800;
    text-underline-offset: 3px;
}
.tgdg-link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.tgdg-link-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(23,32,50,.07);
}
.tgdg-link-preview {
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
    background: var(--tgdg-cream);
    border-right: 1px solid #f1dfbd;
}
.tgdg-link-preview img {
    display: block;
    max-width: 150px;
    max-height: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.tgdg-link-card:last-child .tgdg-link-preview img {
    max-width: 64px;
    max-height: 64px;
}
.tgdg-link-card-body {
    min-width: 0;
    padding: 26px;
}
.tgdg-link-card h3 {
    margin: 0 0 8px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 25px;
    line-height: 1.08;
}
.tgdg-link-card-body > p {
    margin: 0 0 20px;
    color: var(--tgdg-muted);
    line-height: 1.6;
}
.tgdg-code-group + .tgdg-code-group {
    margin-top: 18px;
}
.tgdg-code-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
}
.tgdg-code-heading strong {
    color: var(--tgdg-ink);
    font-size: 14px;
}
.tgdg-copy-button {
    flex: 0 0 auto;
    padding: 7px 10px;
    color: var(--tgdg-red-dark);
    background: #fff;
    border: 1px solid rgba(142,26,34,.22);
    border-radius: 9px;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}
.tgdg-copy-button:hover,
.tgdg-copy-button:focus-visible {
    color: #fff;
    background: var(--tgdg-red);
    border-color: var(--tgdg-red);
}
.tgdg-code-box {
    display: block;
    width: 100%;
    min-height: 98px;
    padding: 12px 14px;
    resize: vertical;
    color: #293246;
    background: #f7f8fa;
    border: 1px solid #dfe3e9;
    border-radius: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    font-size: 12px;
    line-height: 1.5;
}
.tgdg-link-help {
    margin-top: 44px;
    padding: 30px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: #fff;
    background: var(--tgdg-ink);
    border-radius: 22px;
}
.tgdg-link-help h2 {
    color: #fff;
    font-size: 30px;
}
.tgdg-link-help p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.76);
}

@media (max-width: 980px) {
    .tgdg-link-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .tgdg-link-card {
        grid-template-columns: 1fr;
    }
    .tgdg-link-preview {
        border-right: 0;
        border-bottom: 1px solid #f1dfbd;
    }
    .tgdg-link-card-body {
        padding: 22px;
    }
    .tgdg-link-help {
        align-items: flex-start;
        flex-direction: column;
        padding: 26px;
    }
}

/* Shared legal-page treatment: Privacy now, Terms can reuse this next. */
.tgdg-legal-hero .tgdg-page-hero-inner {
    text-align: center;
}
.tgdg-legal-hero h1,
.tgdg-legal-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-legal-page {
    max-width: 940px;
}
.tgdg-legal-intro {
    margin: 0 auto 34px;
    padding: 28px 30px;
    background: var(--tgdg-cream);
    border: 1px solid #f1dfbd;
    border-radius: 20px;
}
.tgdg-legal-intro p {
    margin: 0 0 14px;
    color: #354052;
    font-size: 17px;
    line-height: 1.72;
}
.tgdg-legal-intro p:last-child {
    margin-bottom: 0;
}
.tgdg-legal-card {
    margin-top: 22px;
    padding: 30px 32px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(23,32,50,.055);
}
.tgdg-legal-card h2 {
    margin: 0 0 16px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(28px,3.5vw,38px);
    line-height: 1.08;
    letter-spacing: -.03em;
}
.tgdg-legal-card p {
    margin: 0 0 16px;
    color: #354052;
    font-size: 16px;
    line-height: 1.72;
}
.tgdg-legal-card p:last-child {
    margin-bottom: 0;
}
.tgdg-legal-card a {
    color: var(--tgdg-red-dark);
    font-weight: 800;
    text-underline-offset: 3px;
}
.tgdg-legal-list {
    margin: 4px 0 20px;
    padding: 0;
    list-style: none;
}
.tgdg-legal-list li {
    position: relative;
    margin: 8px 0;
    padding-left: 28px;
    color: #354052;
    line-height: 1.6;
}
.tgdg-legal-list li::before {
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    color: var(--tgdg-red);
    font-weight: 900;
}
.tgdg-legal-company {
    background: var(--tgdg-blue);
}

@media (max-width: 620px) {
    .tgdg-legal-intro,
    .tgdg-legal-card {
        padding: 24px 22px;
        border-radius: 18px;
    }
}

/* Privacy/legal pages: keep section headings centred but align long-form copy and lists left for readability, matching About. */
.tgdg-legal-intro,
.tgdg-legal-card {
    text-align: left;
}
.tgdg-legal-card h2 {
    text-align: center;
}
.tgdg-legal-card p,
.tgdg-legal-list,
.tgdg-legal-list li {
    text-align: left;
}
.tgdg-legal-company,
.tgdg-legal-company h2,
.tgdg-legal-company p {
    text-align: center;
}

/* Terms & Conditions: reuse the legal layout with neutral bullets and clear sub-sections. */
.tgdg-terms-page .tgdg-legal-list li::before {
    content: "•";
    top: -1px;
    font-size: 22px;
    line-height: 1;
}
.tgdg-terms-page .tgdg-legal-card h3 {
    margin: 28px 0 12px;
    padding-top: 22px;
    border-top: 1px solid var(--tgdg-line);
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(21px, 2.4vw, 26px);
    line-height: 1.15;
    letter-spacing: -.02em;
    text-align: left;
}
.tgdg-terms-page .tgdg-legal-card h3:first-of-type {
    margin-top: 22px;
}
.tgdg-terms-page .tgdg-legal-card strong {
    color: var(--tgdg-ink);
}

/* Contact page */
.tgdg-contact-hero .tgdg-page-hero-inner {
    text-align: center;
}
.tgdg-contact-hero h1,
.tgdg-contact-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-contact-page {
    max-width: 1080px;
}
.tgdg-contact-flash:empty {
    display: none;
}
.tgdg-contact-flash {
    margin-bottom: 24px;
}
.tgdg-contact-grid {
    display: grid;
    grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
    gap: 28px;
    align-items: start;
}
.tgdg-contact-details,
.tgdg-contact-form-card {
    padding: 30px 32px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(23,32,50,.065);
}
.tgdg-contact-details h2,
.tgdg-contact-form-card h2 {
    margin: 0 0 12px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(29px,3vw,38px);
    line-height: 1.08;
    letter-spacing: -.03em;
}
.tgdg-contact-details > p,
.tgdg-contact-form-intro {
    margin: 0 0 24px;
    color: var(--tgdg-muted);
    line-height: 1.65;
}
.tgdg-contact-detail {
    padding: 17px 0;
    border-top: 1px solid var(--tgdg-line);
}
.tgdg-contact-detail-label {
    display: block;
    margin-bottom: 4px;
    color: var(--tgdg-ink);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.tgdg-contact-detail a {
    color: var(--tgdg-red-dark) !important;
    font-weight: 800;
    text-decoration: none;
}
.tgdg-contact-detail a:hover,
.tgdg-contact-detail a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.tgdg-contact-detail p {
    margin: 0;
    color: #354052;
    line-height: 1.6;
}
.tgdg-contact-warning {
    margin-top: 18px;
    padding: 18px 20px;
    background: var(--tgdg-cream);
    border: 1px solid #f1dfbd;
    border-radius: 16px;
}
.tgdg-contact-warning strong {
    display: block;
    margin-bottom: 5px;
    color: var(--tgdg-ink);
}
.tgdg-contact-warning p {
    margin: 0;
    color: #354052;
    line-height: 1.55;
}
.tgdg-contact-form .form-group {
    margin-bottom: 18px;
}
.tgdg-contact-form label {
    display: block;
    margin-bottom: 7px;
    color: var(--tgdg-ink);
    font-weight: 850;
}
.tgdg-contact-form .form-control {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d6dce4;
    border-radius: 11px;
    box-shadow: none;
}
.tgdg-contact-form textarea.form-control {
    min-height: 150px;
    resize: vertical;
}
.tgdg-contact-form .form-control:focus {
    border-color: rgba(142,26,34,.7);
    box-shadow: 0 0 0 3px rgba(142,26,34,.1);
    outline: 0;
}
.tgdg-contact-form .help-block {
    margin: 6px 0 0;
    color: #a33;
    font-size: 13px;
}
.tgdg-contact-submit {
    margin-top: 8px;
}
.tgdg-contact-submit .tgdg-business-button {
    min-width: 160px;
    cursor: pointer;
}

@media (max-width: 820px) {
    .tgdg-contact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .tgdg-contact-details,
    .tgdg-contact-form-card {
        padding: 24px 22px;
        border-radius: 18px;
    }
    .tgdg-contact-submit .tgdg-business-button {
        width: 100%;
    }
}

/* Testimonials page. */
.tgdg-testimonials-hero .tgdg-page-hero-inner,
.tgdg-competition-hero .tgdg-page-hero-inner { text-align: center; }
.tgdg-testimonials-hero h1,
.tgdg-testimonials-hero p:not(.tgdg-eyebrow),
.tgdg-competition-hero h1,
.tgdg-competition-hero p:not(.tgdg-eyebrow) { margin-left: auto; margin-right: auto; }
.tgdg-testimonials-page { max-width: 1180px; }
.tgdg-testimonials-intro { max-width: 820px; margin: 0 auto 36px; text-align: center; }
.tgdg-testimonials-intro h2 { margin: 0 0 12px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(30px,4vw,44px); line-height: 1.05; }
.tgdg-testimonials-intro p { margin: 0; color: var(--tgdg-muted); font-size: 17px; line-height: 1.7; }
.tgdg-testimonials-grid { columns: 2 360px; column-gap: 22px; }
.tgdg-testimonial-card { position: relative; break-inside: avoid; margin: 0 0 22px; padding: 28px 28px 24px 58px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 20px; box-shadow: 0 10px 28px rgba(23,32,50,.055); }
.tgdg-quote-mark { position: absolute; top: 20px; left: 22px; color: var(--tgdg-red); font-family: Georgia, serif; font-size: 52px; line-height: 1; }
.tgdg-testimonial-copy { color: #354052; font-size: 16px; line-height: 1.68; text-align: left; }
.tgdg-testimonial-copy i { font-style: normal; }
.tgdg-testimonial-copy b { display: block; margin-top: 14px; color: var(--tgdg-ink); font-style: normal; }
.tgdg-testimonials-cta { margin-top: 42px; }

/* Dog competitions page. */
.tgdg-competition-page { max-width: 1000px; }
.tgdg-competition-empty { max-width: 760px; margin: 0 auto; padding: 54px 34px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 24px; box-shadow: 0 14px 34px rgba(23,32,50,.07); text-align: center; }
.tgdg-competition-paw { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; margin-bottom: 18px; background: var(--tgdg-cream); border-radius: 50%; font-size: 30px; }
.tgdg-competition-empty h2 { margin: 0 0 12px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(30px,4vw,44px); }
.tgdg-competition-empty p { max-width: 580px; margin: 0 auto 24px; color: var(--tgdg-muted); font-size: 17px; line-height: 1.7; }
.tgdg-competition-flash { margin-bottom: 22px; }
.tgdg-competition-card { margin-bottom: 24px; padding: 32px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 12px 30px rgba(23,32,50,.06); }
.tgdg-competition-prize-title { margin-bottom: 24px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(28px,4vw,42px); line-height: 1.1; text-align: center; }
.tgdg-competition-prize-title strong { color: var(--tgdg-red); font-size: 1.35em; }
.tgdg-competition-main-image { text-align: center; }
.tgdg-competition-main-image img { max-width: min(100%,680px); height: auto; border-radius: 18px; }
.tgdg-competition-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.tgdg-competition-gallery-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tgdg-competition-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.tgdg-competition-callout { margin-top: 26px !important; padding: 20px 22px; background: var(--tgdg-cream); border: 1px solid #f1dfbd; border-radius: 16px; text-align: center; }
.tgdg-competition-entry-card h2 { margin: 0 0 8px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(30px,4vw,42px); }
.tgdg-competition-entry-card > p { color: var(--tgdg-muted); }
.tgdg-competition-form .form-group { margin-bottom: 18px; }
.tgdg-competition-form label { color: var(--tgdg-ink); font-weight: 800; }
.tgdg-competition-form .form-control { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #d6dce4; border-radius: 11px; box-shadow: none; }
.tgdg-competition-form .radio label,
.tgdg-competition-form .checkbox label { display: block; padding: 6px 0 6px 24px; font-weight: 500; }
.tgdg-competition-question { margin: 8px 0 14px; padding: 18px 20px; background: var(--tgdg-blue); border-radius: 15px; }
.tgdg-competition-question p { margin: 5px 0 0; }
.tgdg-competition-terms { margin: 24px 0; padding: 20px 22px; background: var(--tgdg-cream); border-radius: 15px; }
.tgdg-competition-terms p { margin: 0 0 10px; line-height: 1.6; }
.tgdg-competition-terms p:last-child { margin-bottom: 0; }
.tgdg-competition-captcha { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; align-items: center; max-width: 520px; }
.tgdg-competition-footnote { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--tgdg-line); color: var(--tgdg-muted); font-size: 14px; }
.tgdg-competition-footnote a,
.tgdg-competition-card a { color: var(--tgdg-red-dark); font-weight: 800; text-underline-offset: 3px; }

@media (max-width: 680px) {
    .tgdg-testimonials-grid { columns: 1; }
    .tgdg-testimonial-card { padding: 24px 22px 22px 50px; }
    .tgdg-competition-card { padding: 24px 22px; }
    .tgdg-competition-gallery,
    .tgdg-competition-gallery-two { grid-template-columns: 1fr; }
    .tgdg-competition-captcha { grid-template-columns: 1fr; }
}




/* Advertise page: one responsive desktop/mobile experience. */
.tgdg-advertise-hero .tgdg-page-hero-inner { text-align: center; }
.tgdg-advertise-hero h1,
.tgdg-advertise-hero p:not(.tgdg-eyebrow) { margin-left: auto; margin-right: auto; }
.tgdg-advertise-page { max-width: 1180px; }
.tgdg-advertise-intro-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 28px; align-items: stretch; margin-bottom: 58px; }
.tgdg-advertise-intro-copy,
.tgdg-advertise-highlight,
.tgdg-advertise-post-signup { padding: 32px 34px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 12px 30px rgba(23,32,50,.06); }
.tgdg-advertise-intro-copy h2,
.tgdg-advertise-post-signup h2,
.tgdg-advertise-highlight h2 { margin: 0 0 14px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(30px,3.5vw,42px); line-height: 1.06; letter-spacing: -.03em; }
.tgdg-advertise-intro-copy p,
.tgdg-advertise-post-signup p { margin: 0 0 16px; color: #354052; font-size: 17px; line-height: 1.72; }
.tgdg-advertise-intro-copy p:last-of-type { margin-bottom: 0; }
.tgdg-advertise-intro-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 28px; }
.tgdg-advertise-secondary-link { color: var(--tgdg-red-dark) !important; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }
.tgdg-advertise-highlight { background: var(--tgdg-cream); border-color: #f1dfbd; }
.tgdg-advertise-highlight-kicker { display: block; margin-bottom: 8px; color: var(--tgdg-red-dark); font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.tgdg-advertise-highlight ul { margin: 20px 0 0; padding: 0; list-style: none; }
.tgdg-advertise-highlight li { position: relative; margin: 12px 0; padding-left: 28px; color: #354052; font-weight: 700; }
.tgdg-advertise-highlight li::before { content: "✓"; position: absolute; left: 0; color: var(--tgdg-red); font-weight: 900; }
.tgdg-advertise-post-signup { max-width: 840px; margin: 0 auto 42px; text-align: center; }

.tgdg-listing-options { margin-top: 8px; }
.tgdg-advertise-section-heading { max-width: 820px; margin: 0 auto 30px; text-align: center; }
.tgdg-advertise-section-heading h2 { margin: 0; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: clamp(34px,4.5vw,52px); line-height: 1.04; letter-spacing: -.035em; }
.tgdg-advertise-section-heading > p:not(.tgdg-eyebrow) { margin: 14px auto 0; color: var(--tgdg-muted); font-size: 17px; line-height: 1.68; }
.tgdg-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
body.tgdg-redesign-page .tgdg-plan-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 30px 28px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 12px 30px rgba(23,32,50,.065); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease; }
body.tgdg-redesign-page .tgdg-plan-premium { background: #fff4f6 !important; border: 2px solid rgba(142,26,34,.58) !important; box-shadow: 0 16px 38px rgba(142,26,34,.10) !important; }
body.tgdg-redesign-page .tgdg-plan-basic { background: #eef8ff !important; border: 2px solid rgba(23,143,208,.58) !important; box-shadow: 0 16px 38px rgba(23,143,208,.10) !important; }
body.tgdg-redesign-page .tgdg-plan-free { background: #f6f7f9 !important; border: 1px solid #d7dce4 !important; box-shadow: 0 12px 30px rgba(23,32,50,.065) !important; }
body.tgdg-redesign-page .tgdg-plan-card:hover,
body.tgdg-redesign-page .tgdg-plan-card:focus-within { transform: translateY(-5px); }
body.tgdg-redesign-page .tgdg-plan-premium:hover,
body.tgdg-redesign-page .tgdg-plan-premium:focus-within { box-shadow: 0 22px 46px rgba(142,26,34,.22) !important; }
body.tgdg-redesign-page .tgdg-plan-basic:hover,
body.tgdg-redesign-page .tgdg-plan-basic:focus-within { box-shadow: 0 22px 46px rgba(23,143,208,.24) !important; }
body.tgdg-redesign-page .tgdg-plan-free:hover,
body.tgdg-redesign-page .tgdg-plan-free:focus-within { box-shadow: 0 22px 46px rgba(88,98,118,.18) !important; }
body.tgdg-redesign-page .tgdg-plan-badge { display: inline-flex; width: fit-content; margin-bottom: 16px; padding: 6px 10px; color: var(--tgdg-red-dark); background: #fff0f3 !important; border-radius: 999px; font-size: 11px; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
body.tgdg-redesign-page .tgdg-plan-basic .tgdg-plan-badge { color: #1176ad !important; background: #dff2fd !important; }
body.tgdg-redesign-page .tgdg-plan-free .tgdg-plan-badge { color: #586276 !important; background: #e9edf1 !important; }
.tgdg-plan-card h3 { margin: 0; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 34px; line-height: 1; }
.tgdg-plan-price { display: flex; align-items: baseline; gap: 8px; margin: 14px 0 18px; }
.tgdg-plan-price strong { color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 48px; line-height: 1; }
.tgdg-plan-price span { color: var(--tgdg-muted); font-size: 14px; font-weight: 750; }
.tgdg-plan-summary { margin: 0 0 18px; color: var(--tgdg-muted); line-height: 1.65; }
.tgdg-plan-card ul { margin: 0 0 24px; padding: 0; list-style: none; }
.tgdg-plan-card li { position: relative; margin: 10px 0; padding-left: 25px; color: #354052; line-height: 1.5; }
.tgdg-plan-card li::before { content: "✓"; position: absolute; left: 0; color: var(--tgdg-red); font-weight: 900; }
.tgdg-plan-basic li::before { color: #178fd0; }
.tgdg-plan-free li::before { color: #8792a3; }
.tgdg-plan-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: auto; padding: 0 16px; color: var(--tgdg-ink) !important; background: #fff; border: 1px solid #cfd5df; border-radius: 12px; font-weight: 900; text-decoration: none; }
.tgdg-plan-button:hover,
.tgdg-plan-button:focus-visible { border-color: var(--tgdg-red); color: var(--tgdg-red-dark) !important; }
.tgdg-plan-basic .tgdg-plan-button { color: #1176ad !important; border-color: rgba(23,143,208,.52); }
.tgdg-plan-basic .tgdg-plan-button:hover,
.tgdg-plan-basic .tgdg-plan-button:focus-visible { color: #fff !important; background: #178fd0; border-color: #178fd0; }
.tgdg-plan-button-primary { color: #fff !important; background: var(--tgdg-red); border-color: var(--tgdg-red); box-shadow: 0 8px 18px rgba(142,26,34,.18); }
.tgdg-plan-button-primary:hover,
.tgdg-plan-button-primary:focus-visible { color: #fff !important; background: var(--tgdg-red-dark); border-color: var(--tgdg-red-dark); }
.tgdg-plan-example { display: block; margin-top: 12px; color: var(--tgdg-red-dark) !important; font-size: 13px; font-weight: 800; text-align: center; text-underline-offset: 3px; }
.tgdg-plan-current-note { display: flex; align-items: center; min-height: 46px; margin-top: auto; color: var(--tgdg-muted); font-size: 13px; font-weight: 750; text-align: center; }

.tgdg-comparison-card { margin-top: 32px; padding: 28px 28px 24px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 10px 26px rgba(23,32,50,.05); }
.tgdg-comparison-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.tgdg-comparison-heading h3 { margin: 0; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 30px; }
.tgdg-comparison-heading p { margin: 0; color: var(--tgdg-muted); font-size: 13px; }
.tgdg-comparison-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tgdg-comparison-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.tgdg-comparison-table th,
.tgdg-comparison-table td { padding: 15px 14px; border-top: 1px solid var(--tgdg-line); vertical-align: middle; }
.tgdg-comparison-table thead th { border-top: 0; color: var(--tgdg-ink); background: var(--tgdg-blue); font-size: 13px; text-align: center; }
.tgdg-comparison-table thead th:first-child { border-radius: 12px 0 0 12px; text-align: left; }
.tgdg-comparison-table thead th:last-child { border-radius: 0 12px 12px 0; }
.tgdg-comparison-table tbody th { width: 52%; color: var(--tgdg-ink); font-weight: 500; text-align: left; }
.tgdg-comparison-table tbody th strong { display: block; margin-bottom: 3px; font-size: 15px; }
.tgdg-comparison-table tbody th span { display: block; color: var(--tgdg-muted); font-size: 12px; line-height: 1.45; }
.tgdg-comparison-table td { width: 16%; color: #465064; text-align: center; }
.tgdg-comparison-table .tgdg-yes { color: var(--tgdg-red); font-size: 20px; font-weight: 900; }
.tgdg-advertise-vat-note { margin: 18px 0 0; color: var(--tgdg-muted); font-size: 13px; text-align: right; }

.tgdg-advertise-design-callout { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 30px; padding: 28px 30px; color: #fff; background: var(--tgdg-ink); border-radius: 22px; }
.tgdg-advertise-design-callout .tgdg-advertise-highlight-kicker { color: #ffb8c4; }
.tgdg-advertise-design-callout h3 { margin: 0 0 6px; color: #fff; font-family: var(--tgdg-display); font-size: 28px; }
.tgdg-advertise-design-callout p { margin: 0; color: rgba(255,255,255,.76); }

.tgdg-advertise-extra-section { margin-top: 66px; padding-top: 58px; border-top: 1px solid var(--tgdg-line); }
.tgdg-advertise-media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.tgdg-advertise-media-card { overflow: hidden; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 10px 26px rgba(23,32,50,.055); }
.tgdg-advertise-media-card img { display: block; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; border-bottom: 1px solid var(--tgdg-line); }
.tgdg-advertise-media-card > div { padding: 26px 28px 28px; }
.tgdg-advertise-media-card h3,
.tgdg-advertise-promo-card h3,
.tgdg-advertise-social-card h3,
.tgdg-advertise-social-note h3 { margin: 0 0 10px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 28px; line-height: 1.08; }
.tgdg-advertise-media-card p,
.tgdg-advertise-promo-card p,
.tgdg-advertise-social-card p,
.tgdg-advertise-social-note p { margin: 0 0 13px; color: #354052; line-height: 1.65; }
.tgdg-advertise-price-line strong { color: var(--tgdg-red-dark); }
.tgdg-advertise-media-card small { color: var(--tgdg-muted); }
.tgdg-advertise-promo-card { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 22px; padding: 28px 30px; background: var(--tgdg-cream); border: 1px solid #f1dfbd; border-radius: 22px; }
.tgdg-advertise-promo-price { flex: 0 0 190px; text-align: center; }
.tgdg-advertise-promo-price strong { display: block; color: var(--tgdg-red-dark); font-family: var(--tgdg-display); font-size: 46px; line-height: 1; }
.tgdg-advertise-promo-price span { display: block; margin-top: 4px; color: var(--tgdg-muted); font-weight: 800; }
.tgdg-advertise-promo-price small { display: block; margin-top: 9px; color: var(--tgdg-muted); line-height: 1.35; }
.tgdg-advertise-smallprint { max-width: 900px; margin: 20px auto 0; color: var(--tgdg-muted); font-size: 14px; line-height: 1.65; text-align: center; }
.tgdg-advertise-smallprint a { color: var(--tgdg-red-dark) !important; font-weight: 800; }
.tgdg-advertise-social-card { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); overflow: hidden; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 10px 26px rgba(23,32,50,.055); }
.tgdg-advertise-social-card img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.tgdg-advertise-social-card > div { padding: 30px 32px; }
.tgdg-advertise-social-note { margin-top: 20px; padding: 24px 28px; background: var(--tgdg-blue); border-radius: 18px; }
.tgdg-advertise-social-note p:last-child { margin-bottom: 0; }
.tgdg-advertise-final-cta { margin-top: 66px; }
.tgdg-advertise-final-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.tgdg-advertise-cta-link { color: #fff !important; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 900px) {
    .tgdg-advertise-intro-grid,
    .tgdg-plan-grid,
    .tgdg-advertise-media-grid,
    .tgdg-advertise-social-card { grid-template-columns: 1fr; }
    .tgdg-plan-card { max-width: 620px; width: 100%; margin-left: auto; margin-right: auto; }
    .tgdg-advertise-social-card img { min-height: 0; max-height: 360px; }
}

@media (max-width: 620px) {
    .tgdg-advertise-intro-copy,
    .tgdg-advertise-highlight,
    .tgdg-advertise-post-signup,
    .tgdg-plan-card,
    .tgdg-comparison-card { padding: 24px 22px; border-radius: 18px; }
    .tgdg-advertise-intro-actions { align-items: stretch; flex-direction: column; }
    .tgdg-advertise-intro-actions .tgdg-business-button { width: 100%; }
    .tgdg-advertise-secondary-link { text-align: center; }
    .tgdg-plan-price strong { font-size: 42px; }
    .tgdg-comparison-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
    .tgdg-advertise-vat-note { text-align: left; }
    .tgdg-advertise-design-callout,
    .tgdg-advertise-promo-card { align-items: flex-start; flex-direction: column; padding: 24px 22px; }
    .tgdg-advertise-design-callout .tgdg-business-button { width: 100%; }
    .tgdg-advertise-promo-price { flex-basis: auto; text-align: left; }
    .tgdg-advertise-social-card > div { padding: 24px 22px; }
    .tgdg-advertise-final-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .tgdg-advertise-final-actions .tgdg-business-button { width: 100%; }
    .tgdg-advertise-cta-link { text-align: center; }
}


/* Advertise v2: package progression replaces the old tick comparison chart. */
.tgdg-advertise-highlight li::before,
.tgdg-plan-card li::before { content: "•"; top: -.02em; font-size: 20px; line-height: 1; }
.tgdg-plan-example { display: none !important; }
.tgdg-package-breakdown { margin-top: 32px; padding: 30px; background: #fff; border: 1px solid var(--tgdg-line); border-radius: 22px; box-shadow: 0 10px 26px rgba(23,32,50,.05); }
.tgdg-package-breakdown .tgdg-comparison-heading { display: block; max-width: 820px; margin: 0 auto 24px; text-align: center; }
.tgdg-package-breakdown .tgdg-comparison-heading h3 { font-size: 32px; }
.tgdg-package-breakdown .tgdg-comparison-heading p { max-width: 720px; margin: 10px auto 0; font-size: 15px; line-height: 1.6; }
.tgdg-package-breakdown-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tgdg-package-level { min-width: 0; padding: 24px 22px; background: var(--tgdg-paper); border: 1px solid var(--tgdg-line); border-radius: 18px; }
.tgdg-package-level-premium { background: #fff4f6; border-color: rgba(142,26,34,.32); }
.tgdg-package-level-basic { background: #f3faff; border-color: rgba(23,143,208,.32); }
.tgdg-package-level-free { background: #f7f8fa; border-color: #d7dce4; }
.tgdg-package-level-label { display: inline-flex; width: fit-content; margin-bottom: 12px; padding: 5px 9px; color: var(--tgdg-red-dark); background: #fff0f3; border-radius: 999px; font-size: 11px; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.tgdg-package-level-basic .tgdg-package-level-label { color: #1176ad; background: #eaf6fd; }
.tgdg-package-level-free .tgdg-package-level-label { color: #586276; background: #eef1f4; }
.tgdg-package-level h4 { margin: 0 0 8px; color: var(--tgdg-ink); font-family: var(--tgdg-display); font-size: 26px; line-height: 1.08; }
.tgdg-package-level > p { margin: 0 0 18px; color: var(--tgdg-muted); line-height: 1.6; }
.tgdg-package-level ul { margin: 0; padding: 0; list-style: none; }
.tgdg-package-level li { margin: 0; padding: 14px 0; border-top: 1px solid var(--tgdg-line); }
.tgdg-package-level li:first-child { border-top: 0; padding-top: 0; }
.tgdg-package-level li strong { display: block; margin-bottom: 3px; color: var(--tgdg-ink); font-size: 14px; }
.tgdg-package-level li span { display: block; color: var(--tgdg-muted); font-size: 13px; line-height: 1.48; }

@media (max-width: 900px) {
    .tgdg-package-breakdown-grid { grid-template-columns: 1fr; }
    .tgdg-package-level { max-width: 680px; width: 100%; margin: 0 auto; }
}

@media (max-width: 620px) {
    .tgdg-package-breakdown { padding: 24px 18px; border-radius: 18px; }
    .tgdg-package-level { padding: 22px 20px; }
}

/* Login page. */
.tgdg-login-hero .tgdg-page-hero-inner { text-align: center; }
.tgdg-login-hero h1,
.tgdg-login-hero p:not(.tgdg-eyebrow) { margin-left: auto; margin-right: auto; }
.tgdg-login-page { max-width: 680px; }
.tgdg-login-card {
    padding: 36px 38px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(23,32,50,.075);
}
.tgdg-login-card-heading { margin-bottom: 28px; text-align: center; }
.tgdg-login-card-heading h2 {
    margin: 0 0 9px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(30px,4vw,42px);
    line-height: 1.05;
    letter-spacing: -.03em;
}
.tgdg-login-card-heading p { margin: 0; color: var(--tgdg-muted); font-size: 16px; }
.tgdg-login-form .form-group { margin-bottom: 20px; }
.tgdg-login-form label {
    display: block;
    margin-bottom: 7px;
    color: var(--tgdg-ink);
    font-weight: 850;
}
.tgdg-login-form .form-control {
    width: 100%;
    min-height: 50px;
    padding: 11px 14px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d6dce4;
    border-radius: 12px;
    box-shadow: none;
}
.tgdg-login-form .form-control:focus {
    border-color: rgba(142,26,34,.7);
    box-shadow: 0 0 0 3px rgba(142,26,34,.1);
    outline: 0;
}
.tgdg-login-form .pwd-toggle-relative .form-control { padding-right: 44px; }
.tgdg-login-form .help-block {
    margin: 6px 0 0;
    color: #a33;
    font-size: 13px;
}
.tgdg-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 2px 0 24px;
}
.tgdg-login-remember { margin: 0 !important; }
.tgdg-login-remember .checkbox { margin: 0; }
.tgdg-login-remember .checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding-left: 0;
    color: #354052;
    font-weight: 650;
}
.tgdg-login-remember input[type="checkbox"] {
    position: static;
    width: 17px;
    height: 17px;
    margin: 0;
}
.tgdg-login-reset {
    color: var(--tgdg-red-dark) !important;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.tgdg-login-reset:hover,
.tgdg-login-reset:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.tgdg-login-submit .tgdg-business-button { width: 100%; min-height: 52px; cursor: pointer; }
.tgdg-login-new-account {
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid var(--tgdg-line);
    text-align: center;
}
.tgdg-login-new-account strong {
    display: block;
    margin-bottom: 5px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 22px;
}
.tgdg-login-new-account p { margin: 0 0 10px; color: var(--tgdg-muted); }
.tgdg-login-new-account a {
    color: var(--tgdg-red-dark) !important;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 560px) {
    .tgdg-login-card { padding: 28px 22px; border-radius: 19px; }
    .tgdg-login-options { align-items: flex-start; flex-direction: column; gap: 12px; }
    .tgdg-login-reset { white-space: normal; }
}

/* Submit listing journey. */
.tgdg-listing-journey-hero .tgdg-page-hero-inner {
    max-width: 900px;
    text-align: center;
}
.tgdg-listing-journey-hero h1,
.tgdg-listing-journey-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-listing-start-page { max-width: 1180px; }
.tgdg-listing-start-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 30px;
    align-items: start;
}
body.tgdg-redesign-page .tgdg-listing-start-main {
    float: none !important;
    width: 100% !important;
    min-width: 0;
}
body.tgdg-redesign-page .tgdg-listing-start-card {
    width: 100% !important;
    margin: 0 !important;
    padding: 34px 36px 38px !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 36px rgba(23,32,50,.07) !important;
}
.tgdg-listing-start-heading { margin-bottom: 18px; }
.tgdg-listing-start-heading h2 {
    margin: 5px 0 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(28px,3vw,38px);
    line-height: 1.08;
    letter-spacing: -.025em;
}
.tgdg-listing-step-label {
    display: inline-block;
    color: var(--tgdg-red-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body.tgdg-redesign-page .tgdg-listing-start-card > p,
body.tgdg-redesign-page .tgdg-listing-start-card form > p { color: #3f495a; }
body.tgdg-redesign-page .tgdg-listing-start-card .row { margin-left: 0; margin-right: 0; }
body.tgdg-redesign-page .tgdg-listing-start-card [class*="col-"] {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
body.tgdg-redesign-page .tgdg-listing-start-card .form-group { margin-bottom: 20px; }
body.tgdg-redesign-page .tgdg-listing-start-card label {
    display: block;
    margin-bottom: 7px;
    color: var(--tgdg-ink);
    font-weight: 800;
}
body.tgdg-redesign-page .tgdg-listing-start-card .form-control,
body.tgdg-redesign-page .tgdg-listing-start-card .select2-container .select2-selection--single {
    width: 100%;
    min-height: 50px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d6dce4;
    border-radius: 12px;
    box-shadow: none;
}
body.tgdg-redesign-page .tgdg-listing-start-card .form-control { padding: 11px 14px; }
body.tgdg-redesign-page .tgdg-listing-start-card .select2-container--krajee .select2-selection--single .select2-selection__rendered,
body.tgdg-redesign-page .tgdg-listing-start-card .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 10px 13px;
    line-height: 28px;
}
body.tgdg-redesign-page .tgdg-listing-start-card .form-control:focus {
    border-color: rgba(142,26,34,.7);
    box-shadow: 0 0 0 3px rgba(142,26,34,.1);
    outline: 0;
}
body.tgdg-redesign-page #gdg-category-filters-container {
    padding: 16px 18px;
    background: var(--tgdg-blue);
    border: 1px solid #d8e8ed;
    border-radius: 14px;
}
body.tgdg-redesign-page #gdg-category-filters-container .checkbox { margin: 8px 0; }
body.tgdg-redesign-page #gdg-category-filters-container .checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-weight: 650;
}
body.tgdg-redesign-page #gdg-category-filters-container input[type="checkbox"] { position: static; margin: 0; }
body.tgdg-redesign-page .tgdg-listing-start-card .btn-primary,
body.tgdg-redesign-page .tgdg-submit-listing-page .btn-primary {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
    border-radius: 12px;
    font-weight: 850;
    box-shadow: none;
}
body.tgdg-redesign-page .tgdg-listing-start-card .btn-primary:hover,
body.tgdg-redesign-page .tgdg-listing-start-card .btn-primary:focus,
body.tgdg-redesign-page .tgdg-submit-listing-page .btn-primary:hover,
body.tgdg-redesign-page .tgdg-submit-listing-page .btn-primary:focus {
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}
body.tgdg-redesign-page #gdg-write-own-text-link { color: var(--tgdg-red-dark) !important; font-weight: 750; }
.tgdg-listing-faq {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
.tgdg-listing-faq-card {
    position: sticky;
    top: 24px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(23,32,50,.06);
}
.tgdg-listing-faq-card h3 {
    margin: 0;
    padding: 17px 20px;
    color: var(--tgdg-ink);
    background: var(--tgdg-cream);
    border-bottom: 1px solid #f0dfbf;
    font-family: var(--tgdg-display);
    font-size: 23px;
}
.tgdg-listing-faq-card p {
    margin: 0;
    padding: 15px 20px;
    color: #3f495a;
    border-bottom: 1px solid #eee9e1;
    line-height: 1.48;
}
.tgdg-listing-faq-card p:last-child { border-bottom: 0; }
.tgdg-listing-faq-card a { color: var(--tgdg-red-dark) !important; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

/* Full listing builder uses the same shared shell without changing its existing JS behaviour. */
body.tgdg-redesign-page .tgdg-submit-listing-page { color: var(--tgdg-ink); }
body.tgdg-redesign-page .tgdg-submit-listing-card { min-width: 0; }
.tgdg-listing-builder-intro {
    margin: 0 0 20px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(23,32,50,.05);
}
.tgdg-listing-builder-intro p { margin: 5px 0 0; color: var(--tgdg-muted); }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-form-section,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-panel {
    margin: 18px 0;
    padding: 22px 24px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(23,32,50,.045);
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-source-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-images-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-business-details-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-filter-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-optional-links-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-panel { background: #fff; border-color: var(--tgdg-line); }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-form-section > .gdg-section-heading-row,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading { min-height: 42px; }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-form-section h3,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-panel h3 {
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(21px,2.2vw,28px);
    line-height: 1.16;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-step-badge { background: var(--tgdg-red); }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-toggle,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-toggle,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-offers-toggle {
    min-width: 68px;
    padding: 7px 12px;
    color: var(--tgdg-ink);
    background: var(--tgdg-cream);
    border: 1px solid #ead8b7;
    border-radius: 10px;
    font-weight: 800;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-public-ai-helper {
    max-width: none;
    padding: 20px;
    background: var(--tgdg-blue);
    border: 1px solid #d8e8ed;
    border-radius: 16px;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-dogbot-options { background: #fff; border: 1px solid #d8e8ed; border-radius: 14px; }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-dogbot-option-title { color: var(--tgdg-ink); }
body.tgdg-redesign-page .tgdg-submit-listing-page .form-control {
    min-height: 48px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d6dce4;
    border-radius: 11px;
    box-shadow: none;
}
body.tgdg-redesign-page .tgdg-submit-listing-page textarea.form-control { min-height: 110px; }
body.tgdg-redesign-page .tgdg-submit-listing-page .form-control:focus { border-color: rgba(142,26,34,.7); box-shadow: 0 0 0 3px rgba(142,26,34,.1); outline: 0; }
body.tgdg-redesign-page .tgdg-submit-listing-page label { color: var(--tgdg-ink); }
body.tgdg-redesign-page .tgdg-submit-listing-page .help-block { color: #7b4150; }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel { border: 2px solid rgba(142,26,34,.18); box-shadow: 0 12px 30px rgba(142,26,34,.06); }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel h3 { color: var(--tgdg-ink); }
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-preview-form-warning { border-radius: 12px; }
body.tgdg-redesign-page .tgdg-submit-listing-page .btn { border-radius: 10px; font-weight: 750; }

@media (max-width: 900px) {
    .tgdg-listing-start-grid { grid-template-columns: 1fr; }
    .tgdg-listing-faq-card { position: static; }
}

@media (max-width: 620px) {
    body.tgdg-redesign-page .tgdg-listing-start-card { padding: 26px 20px 30px !important; border-radius: 19px !important; }
    body.tgdg-redesign-page .submit_listing_parent#main-content { padding: 0 16px 52px; }
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-form-section,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-panel { padding: 18px 16px; border-radius: 16px; }
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-heading-row,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading { align-items: flex-start; }
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-heading-row h3,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading h3,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading h3 { flex-basis: calc(100% - 78px); }
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-public-bullet-grid { grid-template-columns: 1fr; }
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel .form-group .btn { display: block; width: 100%; margin: 8px 0 0 !important; }
    body.tgdg-redesign-page .tgdg-submit-listing-page #gdg-save-draft-status { display: block !important; margin: 8px 0 !important; }
}


/* Signup / account creation. */
.tgdg-signup-hero .tgdg-page-hero-inner {
    max-width: 860px;
    text-align: center;
}
.tgdg-signup-hero h1,
.tgdg-signup-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-signup-page { max-width: 1160px; }
.tgdg-signup-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 30px;
    align-items: start;
}
.tgdg-signup-card,
.tgdg-signup-help-card {
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(23,32,50,.07);
}
.tgdg-signup-card { padding: 34px 36px 38px; }
.tgdg-signup-card-heading { margin-bottom: 26px; }
.tgdg-signup-card-heading h2 {
    margin: 5px 0 8px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(30px,3.3vw,42px);
    line-height: 1.05;
    letter-spacing: -.03em;
}
.tgdg-signup-card-heading p {
    max-width: 720px;
    margin: 0;
    color: var(--tgdg-muted);
}
.tgdg-signup-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 20px;
}
.tgdg-signup-field-full { grid-column: 1 / -1; }
.tgdg-signup-form .form-group { margin-bottom: 20px; }
.tgdg-signup-form label.control-label {
    display: block;
    margin-bottom: 7px;
    color: var(--tgdg-ink);
    font-weight: 800;
}
.tgdg-signup-form .form-control {
    width: 100%;
    min-height: 50px;
    padding: 11px 14px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d6dce4;
    border-radius: 12px;
    box-shadow: none;
}
.tgdg-signup-form .form-control:focus {
    border-color: rgba(142,26,34,.7);
    box-shadow: 0 0 0 3px rgba(142,26,34,.1);
    outline: 0;
}
.tgdg-signup-form .pwd-toggle-relative .form-control { padding-right: 44px; }
.tgdg-signup-form .help-block {
    margin: 6px 0 0;
    color: #a33;
    font-size: 13px;
}
.tgdg-signup-terms {
    margin: 2px 0 22px;
    padding: 16px 18px;
    color: #3f495a;
    background: var(--tgdg-blue);
    border: 1px solid #d8e8ed;
    border-radius: 14px;
    line-height: 1.55;
}
.tgdg-signup-terms a {
    color: var(--tgdg-red-dark) !important;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.tgdg-signup-captcha {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.tgdg-signup-captcha-image img {
    display: block;
    max-width: 100%;
    height: auto;
}
.tgdg-signup-captcha-input {
    flex: 1 1 220px;
    max-width: 320px;
}
.tgdg-signup-submit { margin-top: 6px; }
.tgdg-signup-submit .tgdg-business-button {
    min-width: 220px;
    min-height: 52px;
    cursor: pointer;
}
.tgdg-signup-aside {
    display: grid;
    gap: 20px;
}
.tgdg-signup-help-card { padding: 24px 24px 26px; }
.tgdg-signup-help-card h2 {
    margin: 0 0 9px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 25px;
    line-height: 1.08;
}
.tgdg-signup-help-card > p {
    margin: 0 0 15px;
    color: var(--tgdg-muted);
}
.tgdg-signup-login-link {
    display: inline-flex;
    color: var(--tgdg-red-dark) !important;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.tgdg-signup-next-card {
    background: var(--tgdg-cream);
    border-color: #f0dfbf;
}
.tgdg-signup-next-card ol {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: tgdg-signup-step;
}
.tgdg-signup-next-card li {
    position: relative;
    min-height: 42px;
    margin-top: 17px;
    padding-left: 48px;
    counter-increment: tgdg-signup-step;
}
.tgdg-signup-next-card li:first-child { margin-top: 0; }
.tgdg-signup-next-card li::before {
    content: counter(tgdg-signup-step);
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #fff;
    background: var(--tgdg-red);
    border-radius: 50%;
    font-family: var(--tgdg-display);
    font-weight: 800;
}
.tgdg-signup-next-card strong {
    display: block;
    color: var(--tgdg-ink);
}
.tgdg-signup-next-card span {
    display: block;
    margin-top: 2px;
    color: var(--tgdg-muted);
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .tgdg-signup-grid { grid-template-columns: 1fr; }
    .tgdg-signup-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 650px) {
    .tgdg-signup-card { padding: 28px 22px 30px; border-radius: 19px; }
    .tgdg-signup-form-grid { grid-template-columns: 1fr; gap: 0; }
    .tgdg-signup-field-full { grid-column: auto; }
    .tgdg-signup-aside { grid-template-columns: 1fr; }
    .tgdg-signup-help-card { padding: 22px 20px; border-radius: 19px; }
    .tgdg-signup-captcha { align-items: flex-start; flex-direction: column; }
    .tgdg-signup-captcha-input { width: 100%; max-width: none; flex-basis: auto; }
    .tgdg-signup-submit .tgdg-business-button { width: 100%; }
}

/* Shared redesign footer: isolate it from legacy site CSS so it matches the standalone homepage footer. */
body.tgdg-redesign-page .tgdg-site-footer {
    position: static !important;
    float: none !important;
    clear: both !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
    font-style: normal !important;
}
body.tgdg-redesign-page .tgdg-footer-inner {
    position: static !important;
    float: none !important;
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 52px 0 26px !important;
    transform: none !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-footer-grid {
    position: static !important;
    float: none !important;
    display: grid !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(150px, .7fr)) !important;
    gap: 34px !important;
    align-items: start !important;
    transform: none !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-footer-brand,
body.tgdg-redesign-page .tgdg-footer-column,
body.tgdg-redesign-page .tgdg-footer-bottom {
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    text-align: left !important;
    font-style: normal !important;
}
body.tgdg-redesign-page .tgdg-footer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-footer-logo {
    float: none !important;
    display: block !important;
    width: 86px !important;
    height: 86px !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #fff !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    transform: none !important;
}
body.tgdg-redesign-page .tgdg-footer-brand strong,
body.tgdg-redesign-page .tgdg-footer-brand p,
body.tgdg-redesign-page .tgdg-footer-column h3,
body.tgdg-redesign-page .tgdg-footer-column a,
body.tgdg-redesign-page .tgdg-footer-bottom p {
    font-style: normal !important;
}
body.tgdg-redesign-page .tgdg-footer-brand strong {
    font-family: var(--tgdg-display) !important;
}
body.tgdg-redesign-page .tgdg-footer-column h3,
body.tgdg-redesign-page .tgdg-footer-column a,
body.tgdg-redesign-page .tgdg-footer-bottom {
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body.tgdg-redesign-page .tgdg-footer-column {
    width: auto !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-top: 34px !important;
    padding: 22px 0 0 !important;
}

@media (max-width: 1080px) {
    body.tgdg-redesign-page .tgdg-footer-grid {
        grid-template-columns: 1.2fr repeat(3, .8fr) !important;
    }
}

@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    body.tgdg-redesign-page .tgdg-footer-brand {
        grid-column: 1 / -1 !important;
    }
    body.tgdg-redesign-page .tgdg-footer-bottom {
        flex-direction: column !important;
        gap: 8px !important;
    }
}

@media (max-width: 560px) {
    body.tgdg-redesign-page .tgdg-footer-inner {
        width: min(100% - 28px, 760px) !important;
        max-width: 760px !important;
        padding-top: 42px !important;
    }
    body.tgdg-redesign-page .tgdg-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    body.tgdg-redesign-page .tgdg-footer-brand {
        grid-column: auto !important;
        align-items: flex-start !important;
    }
}

/* My Listings / account dashboard */
.tgdg-account-hero .tgdg-page-hero-inner {
    text-align: center;
}
.tgdg-account-hero h1,
.tgdg-account-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-account-page {
    max-width: 1180px;
}
.tgdg-account-welcome-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 20px;
    padding: 30px 32px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(23,32,50,.065);
}
.tgdg-account-welcome-copy {
    min-width: 0;
}
.tgdg-account-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--tgdg-red-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.tgdg-account-welcome-card h2,
.tgdg-account-card h2 {
    margin: 0 0 10px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(27px,3vw,38px);
    line-height: 1.08;
    letter-spacing: -.03em;
}
.tgdg-account-welcome-card p,
.tgdg-account-card > p {
    margin: 0;
    color: var(--tgdg-muted);
    line-height: 1.65;
}
.tgdg-account-flash {
    margin-top: 18px;
}
.tgdg-account-flash:empty {
    display: none;
}
.tgdg-account-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 20px;
}
.tgdg-account-quick-actions a,
.tgdg-account-tabs a,
.tgdg-account-inline-link {
    text-decoration: none;
}
.tgdg-account-quick-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-cream);
    border: 1px solid #f1dfbd;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 800;
}
.tgdg-account-quick-actions a:hover,
.tgdg-account-quick-actions a:focus-visible {
    border-color: rgba(142,26,34,.35);
    color: var(--tgdg-red-dark) !important;
}
.tgdg-account-logout {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    color: var(--tgdg-red-dark) !important;
    background: #fff;
    border: 1px solid rgba(142,26,34,.28);
    border-radius: 12px;
    font-weight: 850;
    text-decoration: none;
}
.tgdg-account-logout:hover,
.tgdg-account-logout:focus-visible {
    background: #fff4f6;
}
.tgdg-account-tabs {
    margin-bottom: 26px;
    padding: 8px;
    background: var(--tgdg-ink);
    border-radius: 16px;
}
.tgdg-account-tabs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.tgdg-account-tabs li {
    margin: 0 !important;
    padding: 0 !important;
}
.tgdg-account-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    color: rgba(255,255,255,.8) !important;
    border-radius: 11px;
    font-weight: 850;
}
.tgdg-account-tabs a:hover,
.tgdg-account-tabs a:focus-visible {
    color: #fff !important;
    background: rgba(255,255,255,.09);
}
.tgdg-account-tabs li.active a {
    color: var(--tgdg-ink) !important;
    background: #fff;
}
.tgdg-account-content,
.tgdg-my-listings-stack {
    min-width: 0;
}
.tgdg-my-listings-stack {
    display: grid;
    gap: 20px;
}
.tgdg-account-card {
    padding: 28px 30px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(23,32,50,.055);
}
.tgdg-account-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 12px;
}
.tgdg-account-card-heading h2 {
    margin-bottom: 0;
}
.tgdg-account-inline-link {
    flex: 0 0 auto;
    margin-top: 5px;
    color: var(--tgdg-red-dark) !important;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.tgdg-listing-plan-actions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    margin-top: 22px;
}
.tgdg-listing-plan {
    display: flex;
    min-height: 86px;
    padding: 16px 18px;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--tgdg-line);
    border-radius: 16px;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.tgdg-listing-plan:hover,
.tgdg-listing-plan:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(23,32,50,.09);
}
.tgdg-listing-plan strong {
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 22px;
    line-height: 1.05;
}
.tgdg-listing-plan span {
    margin-top: 5px;
    color: var(--tgdg-muted);
    font-size: 14px;
    font-weight: 750;
}
.tgdg-listing-plan-premium { background: #fff4f6; border: 2px solid rgba(142,26,34,.52); }
.tgdg-listing-plan-premium strong { color: var(--tgdg-red-dark); }
.tgdg-listing-plan-basic { background: #f3faff; border: 2px solid rgba(23,143,208,.52); }
.tgdg-listing-plan-basic strong { color: #1176ad; }
.tgdg-listing-plan-free { background: #f7f8fa; border-color: #d7dce4; }
.tgdg-account-promo-card {
    background: var(--tgdg-blue);
    border-color: #cfe9ef;
}
.tgdg-account-primary-action,
.tgdg-account-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 18px;
    padding: 0 18px;
    border-radius: 12px;
    font-weight: 900;
    text-decoration: none;
}
.tgdg-account-primary-action {
    color: #fff !important;
    background: var(--tgdg-red);
    box-shadow: 0 7px 16px rgba(142,26,34,.18);
}
.tgdg-account-primary-action:hover,
.tgdg-account-primary-action:focus-visible {
    background: var(--tgdg-red-dark);
}
.tgdg-account-secondary-action {
    color: #fff !important;
    background: var(--tgdg-ink);
}
.tgdg-account-empty-state {
    margin-top: 18px;
    padding: 28px;
    text-align: center;
    background: var(--tgdg-cream);
    border: 1px dashed #dfccb0;
    border-radius: 18px;
}
.tgdg-account-empty-state h3 {
    margin: 0 0 7px;
    font-family: var(--tgdg-display);
    font-size: 24px;
}
.tgdg-account-empty-state p {
    margin: 0;
    color: var(--tgdg-muted);
}
.tgdg-account-listings-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid var(--tgdg-line);
    border-radius: 16px;
}
.tgdg-account-page .account-listings {
    width: 100% !important;
    min-width: 880px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
    background: #fff;
}
.tgdg-account-page .account-listings th {
    padding: 13px 12px !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-blue) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--tgdg-line) !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.tgdg-account-page .account-listings tr.listing_summary td {
    padding: 14px 12px !important;
    color: #354052 !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--tgdg-line) !important;
    vertical-align: middle;
}
.tgdg-account-page .account-listings tr.listing_summary_separator {
    display: none !important;
}
.tgdg-account-page .account-listings tr.listing_summary td:first-child {
    color: var(--tgdg-ink) !important;
    font-weight: 850;
}
.tgdg-account-page .account-listings a {
    text-underline-offset: 2px;
}
.tgdg-account-page .account-listings a.button,
.tgdg-account-page .account-listings a.gdg-upgrade-open,
.tgdg-account-page .account-listings a.gdg-request-deletion-open {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 10px !important;
    margin: 2px 0 !important;
    color: #fff !important;
    background: var(--tgdg-ink) !important;
    border: 0 !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.tgdg-account-page .account-listings a.button.upgrade,
.tgdg-account-page .account-listings a.gdg-upgrade-open {
    background: #b97900 !important;
}
.tgdg-account-page .account-listings a.gdg-request-deletion-open {
    background: #9d2540 !important;
}
.tgdg-account-category-card {
    background: var(--tgdg-cream);
    border-color: #f1dfbd;
}
.tgdg-account-info-card {
    background: #fff;
}
.tgdg-account-info-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 26px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}
.tgdg-account-info-list li {
    position: relative;
    padding-left: 22px;
    color: #354052;
    line-height: 1.55;
}
.tgdg-account-info-list li::before {
    content: "•";
    position: absolute;
    top: -1px;
    left: 4px;
    color: var(--tgdg-red);
    font-size: 20px;
    font-weight: 900;
}

/* Keep the existing account popups functional, but visually tie them into the redesign. */
body.tgdg-redesign-page #gdg-change-email-modal,
body.tgdg-redesign-page #gdg-change-name-modal,
body.tgdg-redesign-page #gdg-password-reset-modal,
body.tgdg-redesign-page #gdg-account-contact-modal,
body.tgdg-redesign-page #gdg-trial-popup,
body.tgdg-redesign-page #gdg-trial-popup-plain,
body.tgdg-redesign-page #gdg-upgrade-modal,
body.tgdg-redesign-page #gdg-deletion-modal {
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 20px !important;
    box-shadow: 0 22px 60px rgba(23,32,50,.24) !important;
}
body.tgdg-redesign-page #gdg-change-email-modal h3,
body.tgdg-redesign-page #gdg-change-name-modal h3,
body.tgdg-redesign-page #gdg-password-reset-modal h3,
body.tgdg-redesign-page #gdg-account-contact-modal h3,
body.tgdg-redesign-page #gdg-trial-popup h3,
body.tgdg-redesign-page #gdg-trial-popup-plain h3,
body.tgdg-redesign-page #gdg-upgrade-modal h3,
body.tgdg-redesign-page #gdg-deletion-modal h3 {
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
}

@media (max-width: 760px) {
    .tgdg-account-welcome-card,
    .tgdg-account-card-heading {
        flex-direction: column;
    }
    .tgdg-account-logout,
    .tgdg-account-inline-link {
        align-self: flex-start;
    }
    .tgdg-listing-plan-actions,
    .tgdg-account-info-list {
        grid-template-columns: 1fr;
    }
    .tgdg-account-tabs ul {
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .tgdg-account-tabs a {
        justify-content: center;
        padding: 0 9px;
        font-size: 14px;
        text-align: center;
    }
    .tgdg-account-page .account-listings {
        min-width: 0;
        display: block;
        background: transparent;
    }
    .tgdg-account-page .account-listings tbody {
        display: block;
    }
    .tgdg-account-page .account-listings th,
    .tgdg-account-page .account-listings .tgdg-account-listings-head {
        display: none !important;
    }
    .tgdg-account-page .account-listings tr.listing_summary {
        display: flex !important;
        flex-direction: column;
        margin: 0 0 14px;
        padding: 14px;
        background: #fff;
        border: 1px solid var(--tgdg-line);
        border-radius: 16px;
        box-shadow: 0 7px 18px rgba(23,32,50,.05);
    }
    .tgdg-account-page .account-listings tr.listing_summary td {
        display: block !important;
        width: 100% !important;
        padding: 5px 0 !important;
        border: 0 !important;
    }
    .tgdg-account-page .account-listings tr.listing_summary td:empty {
        display: none !important;
    }
    .tgdg-account-page .account-listings tr.listing_summary td[data-label]:not([data-label=""])::before {
        content: attr(data-label) ": ";
        color: var(--tgdg-ink);
        font-weight: 900;
    }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(1) { order: 1; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(2) { order: 2; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(3) { order: 3; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(4) { order: 4; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(6) { order: 5; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(7) { order: 6; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(5) { order: 7; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(8) { order: 8; }
    .tgdg-account-page .account-listings tr.listing_summary td:nth-child(9) { order: 9; }
    .tgdg-account-page .account-listings a.button,
    .tgdg-account-page .account-listings a.gdg-upgrade-open,
    .tgdg-account-page .account-listings a.gdg-request-deletion-open {
        width: 100%;
        min-height: 42px;
        margin-top: 4px !important;
    }
    .tgdg-account-listings-wrap {
        overflow: visible;
        border: 0;
    }
}

@media (max-width: 520px) {
    .tgdg-account-welcome-card,
    .tgdg-account-card {
        padding: 24px 20px;
        border-radius: 18px;
    }
    .tgdg-account-quick-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .tgdg-account-quick-actions a,
    .tgdg-account-primary-action,
    .tgdg-account-secondary-action {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .tgdg-account-tabs ul {
        grid-template-columns: 1fr;
    }
}


/* My Favourites: first reusable listing-strip / banner-rail prototype. */
.tgdg-favourites-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 20px;
    padding: 26px 28px;
    background: var(--tgdg-blue);
    border: 1px solid #d5e9ee;
    border-radius: 20px;
}
.tgdg-favourites-intro h2 {
    margin: 0 0 8px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(30px,3.5vw,42px);
    line-height: 1.05;
    letter-spacing: -.03em;
}
.tgdg-favourites-intro p {
    max-width: 720px;
    margin: 0;
    color: var(--tgdg-muted);
    line-height: 1.65;
}
.tgdg-favourites-browse-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    color: #fff !important;
    background: var(--tgdg-red);
    border-radius: 12px;
    font-weight: 850;
    text-decoration: none;
    box-shadow: 0 7px 16px rgba(142,26,34,.17);
}
.tgdg-favourites-browse-link:hover,
.tgdg-favourites-browse-link:focus-visible {
    background: var(--tgdg-red-dark);
}
.tgdg-favourites-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 28px;
    align-items: start;
}
body.tgdg-redesign-page .tgdg-favourites-results#main-content,
body.tgdg-redesign-page .tgdg-favourites-sidebar#sidebar {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.tgdg-favourites-results {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(23,32,50,.055);
}
.tgdg-favourites-results-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
    background: #fff;
    border-bottom: 1px solid var(--tgdg-line);
}
.tgdg-favourites-results-heading h3,
.tgdg-favourites-sidebar-heading h3 {
    margin: 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 25px;
    line-height: 1.08;
    letter-spacing: -.02em;
}
.tgdg-favourites-listings {
    min-width: 0;
    padding: 18px;
}
/* Neutralise the old result-column dimensions without changing listing data or controls. */
.tgdg-favourites-listings > div,
.tgdg-favourites-listings > article,
.tgdg-favourites-listings > section {
    max-width: 100% !important;
}
.tgdg-favourites-listings img {
    max-width: 100%;
    height: auto;
}
.tgdg-favourites-listings a {
    text-underline-offset: 2px;
}
.tgdg-favourites-listings h2,
.tgdg-favourites-listings h3,
.tgdg-favourites-listings h4 {
    color: var(--tgdg-ink);
}
.tgdg-favourites-sidebar {
    position: sticky;
    top: 24px;
}
.tgdg-favourites-sidebar-heading {
    margin-bottom: 14px;
    padding: 20px 20px 18px;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 18px;
}
.tgdg-favourites-sidebar-heading p {
    margin: 0;
    color: var(--tgdg-muted);
    font-size: 14px;
    line-height: 1.5;
}
.tgdg-favourites-sidebar-note {
    padding: 14px 16px;
}
.tgdg-favourites-banners {
    display: grid;
    gap: 16px;
    min-width: 0;
}
.tgdg-favourites-banners > * {
    max-width: 100% !important;
    border-radius: 0 !important;
    overflow: visible !important;
}
.tgdg-favourites-banners a {
    display: block;
    max-width: 100%;
    border-radius: 0 !important;
    overflow: visible !important;
}
.tgdg-favourites-banners img {
    display: block;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto;
    border-radius: 0 !important;
    box-shadow: 0 8px 22px rgba(23,32,50,.08);
}

@media (max-width: 900px) {
    .tgdg-favourites-layout {
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 20px;
    }
}

@media (max-width: 760px) {
    .tgdg-favourites-intro {
        align-items: flex-start;
        flex-direction: column;
    }
    .tgdg-favourites-layout {
        grid-template-columns: 1fr;
    }
    .tgdg-favourites-sidebar {
        position: static;
    }
    .tgdg-favourites-banners {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .tgdg-favourites-intro {
        padding: 22px 20px;
        border-radius: 18px;
    }
    .tgdg-favourites-browse-link {
        width: 100%;
    }
    .tgdg-favourites-results-heading {
        flex-direction: column;
        padding: 20px;
    }
    .tgdg-favourites-listings {
        padding: 12px;
    }
    .tgdg-favourites-banners {
        grid-template-columns: 1fr;
    }
}

/* Special Offers account page: dynamic offer filters, result strips and live banner rail. */
.tgdg-offers-intro {
    margin-bottom: 20px;
    padding: 26px 28px;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 20px;
    text-align: center;
}
.tgdg-offers-intro h2 {
    margin: 0 0 8px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(30px,3.5vw,42px);
    line-height: 1.05;
    letter-spacing: -.03em;
}
.tgdg-offers-intro p {
    max-width: 780px;
    margin: 0 auto;
    color: var(--tgdg-muted);
    line-height: 1.65;
    text-align: center;
}
.tgdg-offers-filter-card {
    margin-bottom: 20px;
    padding: 22px 24px 24px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 20px;
    box-shadow: 0 9px 24px rgba(23,32,50,.045);
}
.tgdg-offers-filter-heading {
    margin-bottom: 16px;
}
.tgdg-offers-filter-heading h3,
.tgdg-offers-results-heading h3 {
    margin: 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 25px;
    line-height: 1.08;
    letter-spacing: -.02em;
}
body.tgdg-redesign-page .tgdg-offers-filters.row {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-offers-filters > [class*="col-"] {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-offers-filters > .col-md-12 {
    flex: 1 1 620px;
}
body.tgdg-redesign-page .tgdg-offers-location-filter {
    flex: 0 1 330px;
    min-width: 290px;
}
.tgdg-offers-location-panel {
    display: flex;
    min-height: 98px;
    flex-direction: column;
    justify-content: center;
    padding: 11px 12px 12px;
    background: var(--tgdg-blue);
    border: 1px solid #d7e8ed;
    border-radius: 14px;
}
body.tgdg-redesign-page .tgdg-offers-location-label {
    display: block;
    margin: 0 0 7px;
    color: var(--tgdg-ink);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.2;
    text-transform: uppercase;
}
.tgdg-offers-location-select {
    width: 100%;
}
.tgdg-offers-filter-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
}
.tgdg-offers-filter-options .single-filter {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-offers-filter-options .check_wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 44px;
    margin: 0 !important;
    padding: 9px 13px !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-blue);
    border: 1px solid #d7e8ed;
    border-radius: 12px;
    font-weight: 750;
    line-height: 1.25;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-offers-filter-options .check_wrap input[type="checkbox"] {
    position: static !important;
    display: block !important;
    order: -1;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    accent-color: var(--tgdg-red);
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-offers-filter-options .check_wrap .checkmark {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-offers-filter-options .check_wrap:hover {
    border-color: #bad8df;
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-container {
    width: 100% !important;
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-selection--single {
    display: flex !important;
    align-items: center;
    height: 48px !important;
    min-height: 48px;
    background: #fff !important;
    border: 1px solid #c9dce2 !important;
    border-radius: 11px !important;
    box-shadow: 0 2px 7px rgba(23,32,50,.035) !important;
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-selection__rendered {
    width: 100%;
    padding: 0 44px 0 15px !important;
    color: var(--tgdg-ink) !important;
    font-size: 15px;
    font-weight: 650;
    line-height: 46px !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-selection__placeholder {
    color: #667287 !important;
    font-weight: 600;
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-selection__arrow {
    top: 50% !important;
    right: 9px !important;
    width: 28px !important;
    height: 28px !important;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 8px;
    transform: translateY(-50%);
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-selection__arrow b {
    left: 50% !important;
    margin-left: -4px !important;
}
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-container--open .select2-selection--single,
body.tgdg-redesign-page .tgdg-offers-location-filter .select2-container--focus .select2-selection--single {
    border-color: #9fc6d1 !important;
    box-shadow: 0 0 0 3px rgba(91,160,178,.12) !important;
}
.tgdg-offers-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 28px;
    align-items: start;
}
.tgdg-offers-results-shell {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(23,32,50,.055);
}
.tgdg-offers-results-heading {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 24px 20px;
    background: linear-gradient(90deg, var(--tgdg-cream), #fff);
    border-bottom: 1px solid #f0dfbf;
    box-shadow: inset 5px 0 0 var(--tgdg-red);
}
.tgdg-offers-results-heading::before {
    content: "%";
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: #fff;
    background: var(--tgdg-red);
    border-radius: 13px;
    font-family: var(--tgdg-display);
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}
body.tgdg-redesign-page .tgdg-offers-results#main-content,
body.tgdg-redesign-page .tgdg-offers-sidebar#sidebar {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.tgdg-offers-results {
    min-width: 0;
    padding: 18px;
}
.tgdg-offers-results > div,
.tgdg-offers-results > article,
.tgdg-offers-results > section {
    max-width: 100% !important;
}
.tgdg-offers-results img {
    max-width: 100%;
    height: auto;
}
.tgdg-offers-sidebar {
    position: sticky;
    top: 24px;
}

@media (max-width: 900px) {
    .tgdg-offers-layout {
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 20px;
    }
    body.tgdg-redesign-page .tgdg-offers-filters > .col-md-12,
    body.tgdg-redesign-page .tgdg-offers-location-filter {
        flex-basis: 100%;
        min-width: 0;
    }
}

@media (max-width: 760px) {
    .tgdg-offers-layout {
        grid-template-columns: 1fr;
    }
    .tgdg-offers-sidebar {
        position: static;
    }
}

@media (max-width: 520px) {
    .tgdg-offers-intro,
    .tgdg-offers-filter-card {
        padding: 22px 20px;
        border-radius: 18px;
    }
    .tgdg-offers-filter-options {
        grid-template-columns: 1fr;
    }
    body.tgdg-redesign-page .tgdg-offers-filter-options .check_wrap {
        display: flex;
        width: 100%;
    }
    .tgdg-offers-location-panel {
        min-height: 0;
    }
    .tgdg-offers-results-heading {
        padding: 20px;
    }
    .tgdg-offers-results {
        padding: 12px;
    }
}



/* Top-level category pages: shared regional and national directory treatment. */
.tgdg-category-hero .tgdg-page-hero-inner {
    text-align: center;
}
.tgdg-category-hero h1,
.tgdg-category-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}
.tgdg-directory-page {
    width: min(1280px, calc(100% - 40px));
    max-width: none;
}
.tgdg-directory-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 28px;
    align-items: start;
}
body.tgdg-redesign-page .tgdg-directory-main,
body.tgdg-redesign-page .tgdg-directory-sidebar {
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
}
.tgdg-directory-intro-card {
    margin-bottom: 26px;
    padding: 28px 30px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(23,32,50,.055);
}
.tgdg-directory-prose,
.tgdg-directory-prose p,
.tgdg-directory-prose ul,
.tgdg-directory-prose ol {
    text-align: left;
}
.tgdg-directory-prose p {
    margin: 0 0 15px;
    color: #354052;
    font-size: 16px;
    line-height: 1.72;
}
.tgdg-directory-prose p:last-child { margin-bottom: 0; }
.tgdg-directory-prose a {
    color: var(--tgdg-red-dark) !important;
    font-weight: 800;
    text-underline-offset: 3px;
}
.tgdg-directory-kicker {
    margin: 0 0 7px !important;
    color: var(--tgdg-red-dark) !important;
    font-size: 12px !important;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.tgdg-category-section-heading {
    max-width: 700px;
    margin-bottom: 24px;
}
.tgdg-category-section-heading h2,
.tgdg-results-heading h2 {
    margin: 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(30px, 3.7vw, 44px);
    line-height: 1.06;
    letter-spacing: -.035em;
}
.tgdg-category-section-heading > p:last-child {
    margin: 10px 0 0;
    color: var(--tgdg-muted);
    line-height: 1.65;
}
.tgdg-map-help-mobile { display: none; }

/* Regional category: interactive illustrated map. */
.tgdg-category-map-card {
    margin-bottom: 34px;
    padding: 30px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 24px;
    box-shadow: 0 12px 32px rgba(23,32,50,.06);
}
.tgdg-category-map-grid {
    display: block;
}
.tgdg-category-map-stage {
    min-width: 0;
    padding: 12px;
    background: var(--tgdg-blue);
    border: 1px solid #d6e9ee;
    border-radius: 26px;
}
#tgdg-category-map {
    width: min(100%, 690px);
    margin: 0 auto;
}
#tgdg-category-map .tgdg-county-map-svg {
    width: 100%;
    height: auto;
    filter: saturate(.98);
}
.tgdg-county-map-tooltip {
    box-shadow: 0 8px 20px rgba(23,32,50,.2);
    white-space: nowrap;
}
.tgdg-category-county-picker {
    padding: 22px;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 20px;
}
.tgdg-category-county-picker label {
    display: block;
    margin-bottom: 8px;
    color: var(--tgdg-ink);
    font-weight: 900;
}
.tgdg-category-county-picker select {
    width: 100%;
    min-height: 50px;
    padding: 0 42px 0 13px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d5dce5;
    border-radius: 12px;
    box-shadow: none;
}
.tgdg-category-county-picker > p {
    margin: 10px 0 0;
    color: var(--tgdg-muted);
    font-size: 13px;
    line-height: 1.5;
}
.tgdg-category-map-note {
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid #ead6b1;
}
.tgdg-category-map-note strong {
    display: block;
    margin-bottom: 4px;
    color: var(--tgdg-red-dark);
    font-size: 12px;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.tgdg-category-map-note span {
    display: block;
    color: #465064;
    font-size: 13px;
    line-height: 1.48;
}

/* Region cards beneath the map. */
.tgdg-region-browse {
    padding: 30px;
    background: var(--tgdg-blue);
    border: 1px solid #d7e9ed;
    border-radius: 24px;
}
.tgdg-region-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.tgdg-region-card {
    min-width: 0;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 18px;
    box-shadow: 0 8px 20px rgba(23,32,50,.045);
}
.tgdg-region-card h3 {
    margin: 0 0 7px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 25px;
    line-height: 1.08;
}
.tgdg-region-card > p {
    margin: 0 0 15px;
    color: var(--tgdg-muted);
    font-size: 14px;
    line-height: 1.5;
}
.tgdg-region-quick-links,
.tgdg-region-more > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.tgdg-region-quick-links a,
.tgdg-region-more a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}
.tgdg-region-quick-links a small,
.tgdg-region-more a small {
    color: var(--tgdg-muted);
    font-size: .82em;
    font-weight: 800;
}
.tgdg-region-quick-links a:hover small,
.tgdg-region-quick-links a:focus-visible small,
.tgdg-region-more a:hover small,
.tgdg-region-more a:focus-visible small {
    color: inherit;
}
.tgdg-region-quick-links a:hover,
.tgdg-region-more a:hover {
    color: #fff !important;
    background: var(--tgdg-red);
    border-color: var(--tgdg-red);
}
.tgdg-region-more {
    margin-top: 14px;
}
.tgdg-region-more summary {
    color: var(--tgdg-red-dark);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}
.tgdg-region-more > div { margin-top: 10px; }

/* National category: intro, logo strip, results and existing filters. */
.tgdg-national-intro { margin-bottom: 30px; }
.tgdg-intro-text-wrap { position: relative; }
.tgdg-national-category-page .intro-text {
    position: relative;
    max-height: 74px;
    overflow: hidden;
    transition: max-height .25s ease;
}
.tgdg-national-category-page .intro-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 38px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
    pointer-events: none;
}
.tgdg-national-category-page .intro-text.expanded { max-height: 2400px; }
.tgdg-national-category-page .intro-text.expanded::after { display: none; }
.tgdg-national-category-page .read-more-btn {
    margin: 10px 0 0;
    padding: 8px 13px;
    color: #fff;
    background: var(--tgdg-red);
    border: 0;
    border-radius: 10px;
    font-weight: 850;
    cursor: pointer;
}
.tgdg-national-category-page .read-more-btn:hover { background: var(--tgdg-red-dark); }
/* RH/AI 29/10/2026: keep the national-category Read more label visible on its red button.
   A later shared accent rule sets intro links red with !important, so restore white only for this solid button. */
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn,
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn:hover,
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn:focus {
    color: #fff !important;
}
.tgdg-category-logo-carousel {
    overflow: hidden;
    margin: 18px 0;
    padding: 13px 0;
    border-top: 1px solid var(--tgdg-line);
    border-bottom: 1px solid var(--tgdg-line);
}
.tgdg-category-logo-carousel .listing-carousel-track {
    display: flex;
    width: max-content;
    align-items: center;
    animation: gdgCarouselScroll 40s linear infinite;
}
.tgdg-category-logo-carousel .listing-carousel-item {
    flex: 0 0 auto;
    margin-right: 16px;
}
.tgdg-category-logo-carousel .listing-carousel-item img {
    display: block;
    width: auto;
    height: 74px;
    max-width: 150px;
    object-fit: contain;
    border-radius: 0 !important;
}
.tgdg-category-logo-carousel .tgdg-carousel-listing-link {
    display: block;
    line-height: 0;
    text-decoration: none !important;
    cursor: pointer;
    outline-offset: 3px;
    transition: transform .16s ease;
}
.tgdg-category-logo-carousel .tgdg-carousel-listing-link:hover {
    transform: translateY(-2px);
}
.tgdg-category-logo-carousel .tgdg-carousel-listing-link:focus-visible {
    outline: 2px solid var(--tgdg-red);
}
.tgdg-category-logo-carousel:hover .listing-carousel-track,
.tgdg-category-logo-carousel:focus-within .listing-carousel-track {
    animation-play-state: paused;
}
@keyframes gdgCarouselScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.tgdg-results-heading {
    margin-bottom: 16px;
    padding: 22px 24px;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 18px;
}
.tgdg-results-heading .tgdg-directory-kicker { margin-bottom: 4px !important; }

/* Existing filter markup, reskinned without changing filter behaviour. */
.tgdg-filter-shell {
    overflow: hidden;
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(23,32,50,.055);
}
body.tgdg-redesign-page .tgdg-filter-shell .d_filters_hide {
    display: block !important;
    margin: 0;
    padding: 17px 19px;
    color: var(--tgdg-ink);
    background: var(--tgdg-blue);
    border-bottom: 1px solid #d8e8ed;
    font-family: var(--tgdg-display);
    font-size: 24px;
    line-height: 1.1;
}
body.tgdg-redesign-page .tgdg-filter-shell #filterForm {
    margin: 0;
    padding: 16px 18px 18px;
}
body.tgdg-redesign-page .tgdg-filter-shell .sidebar-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
body.tgdg-redesign-page .tgdg-filter-shell ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
body.tgdg-redesign-page .tgdg-filter-shell li {
    margin: 0;
    padding: 9px 0;
    border-top: 1px solid #eee9e1;
}
body.tgdg-redesign-page .tgdg-filter-shell li:first-child { border-top: 0; }
body.tgdg-redesign-page .tgdg-filter-shell label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    color: #354052;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}
body.tgdg-redesign-page .tgdg-filter-shell input[type="checkbox"],
body.tgdg-redesign-page .tgdg-filter-shell input[type="radio"] {
    position: static !important;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 1px 0 0 !important;
}
body.tgdg-redesign-page .tgdg-filter-shell input[type="number"],
body.tgdg-redesign-page .tgdg-filter-shell input[type="text"],
body.tgdg-redesign-page .tgdg-filter-shell select {
    max-width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid #d6dce4;
    border-radius: 9px;
}
body.tgdg-redesign-page .tgdg-filter-shell .filter_btn {
    clear: both;
    padding-top: 14px;
}
body.tgdg-redesign-page .tgdg-filter-shell .filter_btn .btn-primary {
    float: none !important;
    width: 100%;
    min-height: 42px;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
    border-radius: 10px;
    font-weight: 850;
}
body.tgdg-redesign-page .tgdg-filter-shell .filter_btn .btn-primary:hover {
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}

/* Keep live advertising untouched, but remove cosmetic clipping. */
.tgdg-category-banner-rail {
    min-width: 0;
}
.tgdg-category-banner-rail #banners,
.tgdg-category-banner-rail #banners > * {
    max-width: 100%;
}
.tgdg-category-banner-rail #banners img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0 !important;
}

@media (max-width: 980px) {
    .tgdg-directory-layout {
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 20px;
    }
    .tgdg-category-map-grid {
        grid-template-columns: 1fr;
    }
    .tgdg-category-county-picker {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .tgdg-directory-layout {
        grid-template-columns: 1fr;
    }
    .tgdg-directory-sidebar {
        position: static;
    }
    .tgdg-map-help-desktop { display: none; }
    .tgdg-map-help-mobile { display: inline; }
    .tgdg-national-results-layout .tgdg-category-sidebar { display: contents; }
    .tgdg-national-results-layout .tgdg-filter-shell { order: 1; }
    .tgdg-national-results-layout .tgdg-category-listing-results { order: 2; }
    .tgdg-national-results-layout .tgdg-category-banner-rail { order: 3; }
    .tgdg-region-card-grid {
        grid-template-columns: 1fr;
    }
    .tgdg-category-banner-rail {
        max-width: 360px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 560px) {
    .tgdg-directory-page {
        width: min(100% - 28px, 760px);
    }
    .tgdg-directory-intro-card,
    .tgdg-category-map-card,
    .tgdg-region-browse {
        padding: 22px 20px;
        border-radius: 18px;
    }
    .tgdg-category-map-stage {
        padding: 6px;
        border-radius: 18px;
    }
    .tgdg-category-county-picker,
    .tgdg-region-card {
        padding: 18px;
        border-radius: 16px;
    }
}

/* Shared photographic directory hero + search (Oct 2026 redesign). */
.tgdg-directory-hero {
    position: relative;
    z-index: 10;
    min-height: 390px;
    overflow: visible;
    isolation: isolate;
    background: var(--tgdg-blue);
}
.tgdg-directory-hero-media,
.tgdg-directory-hero-shade {
    position: absolute;
    inset: 0;
}
.tgdg-directory-hero-media {
    z-index: 0;
    overflow: hidden;
    background: #dff1f7;
}
.tgdg-directory-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--tgdg-hero-desktop-position, 72% center);
}
.tgdg-directory-hero-shade {
    z-index: 1;
    background: linear-gradient(90deg,
        rgba(244,251,253,.99) 0%,
        rgba(244,251,253,.96) 30%,
        rgba(244,251,253,.80) 43%,
        rgba(244,251,253,.30) 59%,
        rgba(244,251,253,0) 75%);
}
.tgdg-directory-hero-inner {
    position: relative;
    z-index: 2;
    width: min(1280px, calc(100% - 40px));
    min-height: 390px;
    margin: 0 auto;
    padding: 44px 0 42px;
    display: flex;
    align-items: center;
}
.tgdg-directory-hero-copy {
    width: min(760px, 62vw);
}
.tgdg-directory-hero .tgdg-eyebrow {
    margin-bottom: 12px;
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(5px);
}
.tgdg-directory-hero h1 {
    max-width: 760px;
    margin: 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(40px,4.5vw,62px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.045em;
}
.tgdg-directory-hero-lead {
    max-width: 650px;
    margin: 17px 0 20px;
    color: #3f4b60;
    font-size: clamp(16px,1.35vw,19px);
    line-height: 1.45;
}
.tgdg-directory-hero--standard {
    min-height: 330px;
}
.tgdg-directory-hero--standard .tgdg-directory-hero-inner {
    min-height: 330px;
}

/* National Park trial: a taller desktop letterbox reveals more of the supplied hero art. */
.tgdg-directory-hero--protected-area,
.tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
    min-height: 470px;
}

/* Same search component is used on the homepage and the interior directory heroes. */
.tgdg-directory-search.search-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px,1.05fr) minmax(310px,1.15fr) auto;
    width: min(840px, 100%);
    padding: 7px;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(23,32,50,.09);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(23,32,50,.14);
    backdrop-filter: blur(10px);
}
.tgdg-directory-search .search-field {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 14px;
}
.tgdg-directory-search .search-field + .search-field {
    border-left: 1px solid var(--tgdg-line);
}
.tgdg-directory-search .search-icon {
    flex: 0 0 auto;
    color: var(--tgdg-red);
    font-size: 18px;
}
.tgdg-directory-search .search-field input[type="search"] {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0;
    color: var(--tgdg-ink);
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
}
.tgdg-directory-search .search-field input[type="search"]::placeholder {
    color: #737b8c;
}
.tgdg-directory-search .search-select-arrow {
    flex: 0 0 auto;
    color: var(--tgdg-muted);
    font-size: 14px;
}
.tgdg-directory-search .search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 70;
    display: none;
    max-height: 280px;
    overflow-y: auto;
    padding: 6px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(23,32,50,.16);
}
.tgdg-directory-search .search-suggestions.is-open {
    display: block;
}
.tgdg-directory-search .search-suggestion {
    display: block;
    width: 100%;
    padding: 10px 12px;
    color: var(--tgdg-ink);
    background: transparent;
    border: 0;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}
.tgdg-directory-search .search-suggestion:hover,
.tgdg-directory-search .search-suggestion:focus-visible,
.tgdg-directory-search .search-suggestion.is-selected {
    background: var(--tgdg-cream);
}
.tgdg-directory-search .search-category-group {
    display: block;
    padding: 9px 11px 6px;
    color: var(--tgdg-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.tgdg-search-button,
.tgdg-directory-search .primary-button {
    display: inline-flex;
    min-width: 112px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    color: #fff;
    background: var(--tgdg-red);
    border: 0;
    border-radius: 13px;
    font-weight: 900;
    cursor: pointer;
}
.tgdg-search-button:hover,
.tgdg-directory-search .primary-button:hover {
    background: var(--tgdg-red-dark);
}
.tgdg-search-message {
    width: min(840px,100%);
    min-height: 19px;
    margin: 8px 0 0;
    color: var(--tgdg-red-dark);
    font-size: 13px;
    font-weight: 750;
}

/* New photo hero wins over the older centred pale-blue category hero rules. */
.tgdg-category-landing-page + * { clear: both; }
.tgdg-directory-hero + .tgdg-page-content { position: relative; }

@media (max-width: 820px) {
    .tgdg-directory-hero {
        min-height: 500px;
    }
    .tgdg-directory-hero-media img {
        object-position: var(--tgdg-hero-mobile-position, 74% center);
    }
    .tgdg-directory-hero-shade {
        background: linear-gradient(180deg,
            rgba(244,251,253,.98) 0%,
            rgba(244,251,253,.94) 41%,
            rgba(244,251,253,.72) 59%,
            rgba(244,251,253,.16) 78%,
            rgba(244,251,253,0) 100%);
    }
    .tgdg-directory-hero-inner {
        width: min(100% - 28px, 760px);
        min-height: 500px;
        padding: 34px 0 128px;
        align-items: flex-start;
    }
    .tgdg-directory-hero-copy {
        width: 100%;
    }
    .tgdg-directory-hero h1 {
        max-width: 680px;
        font-size: clamp(36px,9.6vw,50px);
    }
    .tgdg-directory-hero-lead {
        max-width: 620px;
        margin: 14px 0 18px;
        font-size: 16px;
    }
    .tgdg-directory-search.search-panel {
        grid-template-columns: 1fr;
        width: 100%;
    }
    .tgdg-directory-search .search-field + .search-field {
        border-top: 1px solid var(--tgdg-line);
        border-left: 0;
    }
    .tgdg-directory-search .tgdg-search-button,
    .tgdg-directory-search .primary-button {
        width: 100%;
        margin-top: 7px;
    }
    .tgdg-search-message {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .tgdg-directory-hero {
        min-height: 520px;
    }
    .tgdg-directory-hero-inner {
        min-height: 520px;
        padding-top: 28px;
        padding-bottom: 120px;
    }
    .tgdg-directory-hero .tgdg-eyebrow {
        font-size: 11px;
    }
    .tgdg-directory-hero h1 {
        font-size: clamp(34px,10vw,46px);
    }
}

/* Public content pages: shared slim photographic hero and full-width content treatment. */
.tgdg-page-hero-photo {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 52px 20px 48px;
    background-color: var(--tgdg-blue);
    background-image:
        linear-gradient(90deg,
            rgba(244,251,253,.99) 0%,
            rgba(244,251,253,.96) 31%,
            rgba(244,251,253,.80) 45%,
            rgba(244,251,253,.28) 61%,
            rgba(244,251,253,0) 77%),
        var(--tgdg-photo);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: var(--tgdg-photo-position, 74% center);
}
.tgdg-page-hero-photo .tgdg-page-hero-inner {
    width: min(1280px, calc(100% - 40px));
    position: relative;
    z-index: 1;
    text-align: left !important;
}
.tgdg-page-hero-photo h1,
.tgdg-page-hero-photo p:not(.tgdg-eyebrow) {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.tgdg-page-hero-photo h1 {
    max-width: 760px;
    font-size: clamp(42px, 5vw, 66px);
}
.tgdg-page-hero-photo p:not(.tgdg-eyebrow) {
    max-width: 650px;
    color: #3f4b60;
}
.tgdg-page-hero-photo .tgdg-eyebrow {
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(5px);
}

/* About is a reading page, not a directory page: no legacy sidebar/ad rail. */
.tgdg-about-page {
    max-width: 1080px;
}
.tgdg-about-page .tgdg-about-article {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.tgdg-about-page .tgdg-about-article > :first-child {
    margin-top: 0;
}

/* Public information pages should use their content width rather than legacy sidebar geometry. */
.tgdg-advertise-page,
.tgdg-contact-page,
.tgdg-competition-page,
.tgdg-link-page,
.tgdg-testimonials-page,
.tgdg-legal-page,
.tgdg-about-page {
    float: none !important;
    clear: both !important;
}

@media (max-width: 820px) {
    .tgdg-page-hero-photo {
        min-height: 380px;
        align-items: flex-start;
        padding: 38px 14px 118px;
        background-image:
            linear-gradient(180deg,
                rgba(244,251,253,.98) 0%,
                rgba(244,251,253,.94) 45%,
                rgba(244,251,253,.70) 63%,
                rgba(244,251,253,.12) 84%,
                rgba(244,251,253,0) 100%),
            var(--tgdg-photo);
        background-position: var(--tgdg-photo-mobile-position, 72% center);
    }
    .tgdg-page-hero-photo .tgdg-page-hero-inner {
        width: min(100% - 28px, 760px);
    }
    .tgdg-page-hero-photo h1 {
        max-width: 680px;
        font-size: clamp(38px, 9vw, 52px);
    }
}

@media (max-width: 560px) {
    .tgdg-page-hero-photo {
        min-height: 400px;
        padding-top: 30px;
        padding-bottom: 110px;
    }
    .tgdg-page-hero-photo h1 {
        font-size: clamp(36px, 10vw, 46px);
    }
    .tgdg-page-hero-photo p:not(.tgdg-eyebrow) {
        font-size: 16px;
        line-height: 1.48;
    }
}

/* ================================================================
   Focused task/account pages - October 2026 pass
   Keep account, login, listing and payment journeys distraction-free.
   ================================================================ */
.tgdg-task-hero,
.tgdg-login-hero,
.tgdg-signup-hero,
.tgdg-account-hero,
.tgdg-listing-journey-hero {
    padding-top: 44px;
    padding-bottom: 40px;
}
.tgdg-task-hero h1,
.tgdg-login-hero h1,
.tgdg-signup-hero h1,
.tgdg-account-hero h1,
.tgdg-listing-journey-hero h1 {
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.02;
}
.tgdg-task-hero .tgdg-page-hero-inner,
.tgdg-login-hero .tgdg-page-hero-inner,
.tgdg-signup-hero .tgdg-page-hero-inner,
.tgdg-account-hero .tgdg-page-hero-inner,
.tgdg-listing-journey-hero .tgdg-page-hero-inner {
    max-width: 920px;
    text-align: center;
}
.tgdg-task-hero h1,
.tgdg-task-hero p:not(.tgdg-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}

/* The full listing builder is a task page: use the main content width, not legacy column geometry. */
body.tgdg-redesign-page .submit_listing_parent#main-content {
    float: none !important;
    clear: both !important;
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 58px 0 76px;
    box-sizing: border-box;
}
body.tgdg-redesign-page .tgdg-submit-listing-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Favourites and Special Offers live inside the account journey: remove the advert rail. */
.tgdg-favourites-layout-full,
.tgdg-offers-layout-full {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
}
body.tgdg-redesign-page .tgdg-favourites-layout-full .tgdg-favourites-results#main-content,
body.tgdg-redesign-page .tgdg-offers-layout-full .tgdg-offers-results-shell {
    width: 100% !important;
    max-width: none !important;
}

/* Listing upgrade */
.tgdg-upgrade-page {
    max-width: 980px;
}
.tgdg-upgrade-card {
    padding: 32px 34px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(23,32,50,.06);
}
.tgdg-upgrade-card h2,
.tgdg-payment-card h2 {
    margin: 0 0 12px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(28px,3vw,40px);
    line-height: 1.08;
    letter-spacing: -.03em;
}
.tgdg-upgrade-card > p,
.tgdg-payment-card > p {
    color: var(--tgdg-muted);
    line-height: 1.65;
}
.tgdg-upgrade-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    margin-top: 24px;
}
.tgdg-upgrade-action {
    display: flex;
    min-height: 112px;
    padding: 20px;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--tgdg-line);
    border-radius: 17px;
    text-decoration: none !important;
    transition: transform .16s ease, box-shadow .16s ease;
}
.tgdg-upgrade-action:hover,
.tgdg-upgrade-action:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(23,32,50,.09);
}
.tgdg-upgrade-action strong {
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 24px;
    line-height: 1.05;
}
.tgdg-upgrade-action span {
    margin-top: 7px;
    color: var(--tgdg-muted);
    font-size: 14px;
    line-height: 1.45;
}
.tgdg-upgrade-action-premium {
    background: #fff7df;
    border-color: #f0d489;
}
.tgdg-upgrade-action-basic {
    background: #f8f0e8;
    border-color: #dfc4aa;
}
.tgdg-upgrade-help {
    margin: 22px 0 0 !important;
    padding-top: 18px;
    border-top: 1px solid var(--tgdg-line);
}
.tgdg-upgrade-help a,
.tgdg-payment-account-link a {
    color: var(--tgdg-red-dark) !important;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.tgdg-upgrade-options-wrap {
    margin-top: 24px;
    min-width: 0;
}
.tgdg-upgrade-options-wrap table {
    width: 100% !important;
    max-width: 100% !important;
}
.tgdg-upgrade-options-wrap img {
    max-width: 100%;
    height: auto;
}

/* Payment and confirmation */
.tgdg-payment-page {
    max-width: 920px;
}
.tgdg-payment-card {
    padding: 32px 34px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(23,32,50,.06);
}
.tgdg-payment-methods {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
    margin-top: 26px;
}
.tgdg-payment-paypal,
.tgdg-payment-invoice {
    min-width: 0;
    padding: 22px;
    background: var(--tgdg-blue);
    border: 1px solid #d8e8ed;
    border-radius: 17px;
}
.tgdg-payment-paypal h3,
.tgdg-payment-invoice h3 {
    margin: 0 0 8px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 24px;
    line-height: 1.08;
}
.tgdg-payment-paypal p,
.tgdg-payment-invoice p,
.tgdg-payment-invoice li {
    color: #465266;
    line-height: 1.55;
}
.tgdg-payment-invoice ul {
    margin: 14px 0 0;
    padding-left: 20px;
}
.tgdg-paypal-button {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 16px 0 10px;
}
.tgdg-payment-cards {
    display: block;
    max-width: 100%;
    height: auto;
    margin-top: 10px;
}
.tgdg-payment-account-link {
    margin: 24px 0 0 !important;
    padding-top: 18px;
    border-top: 1px solid var(--tgdg-line);
}
.tgdg-payment-success-card {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}
.tgdg-payment-success-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 18px;
    color: #fff;
    background: #2e7d32;
    border-radius: 50%;
    font-size: 30px;
    font-weight: 900;
}
.tgdg-payment-success-card .tgdg-account-primary-action {
    margin-top: 20px;
}

@media (max-width: 700px) {
    .tgdg-task-hero,
    .tgdg-login-hero,
    .tgdg-signup-hero,
    .tgdg-account-hero,
    .tgdg-listing-journey-hero {
        padding-top: 34px;
        padding-bottom: 32px;
    }
    .tgdg-task-hero h1,
    .tgdg-login-hero h1,
    .tgdg-signup-hero h1,
    .tgdg-account-hero h1,
    .tgdg-listing-journey-hero h1 {
        font-size: clamp(34px,10vw,46px);
    }
    body.tgdg-redesign-page .submit_listing_parent#main-content {
        width: min(100% - 28px, 1180px) !important;
        padding: 36px 0 54px;
    }
    .tgdg-upgrade-card,
    .tgdg-payment-card {
        padding: 24px 20px;
        border-radius: 18px;
    }
    .tgdg-upgrade-actions,
    .tgdg-payment-methods {
        grid-template-columns: 1fr;
    }
    .tgdg-upgrade-action {
        min-height: 96px;
    }
}

/* -------------------------------------------------------------
   Shared content-width and gutter system - Oct 2026
   Reading/marketing pages keep their existing narrower measure.
   Data-heavy directory/account pages use more of the viewport.
   ------------------------------------------------------------- */
:root {
    --tgdg-width-directory: 1400px;
    --tgdg-width-account: 1360px;
    --tgdg-width-task: 1240px;
    --tgdg-gutter-wide: 48px;
    --tgdg-gutter-mobile: 28px;
}

/* Directory, county, town and category result pages. */
.tgdg-directory-hero-inner,
.tgdg-page-content.tgdg-directory-page {
    width: min(var(--tgdg-width-directory), calc(100% - var(--tgdg-gutter-wide)));
    max-width: none;
}

/* Account, favourites, listings and offers: deliberately wider than reading pages. */
.tgdg-page-content.tgdg-account-page {
    width: min(var(--tgdg-width-account), calc(100% - var(--tgdg-gutter-wide)));
    max-width: none;
}

/* Listing creation/task flows get more working room without becoming directory-wide. */
.tgdg-listing-start-page {
    width: min(var(--tgdg-width-task), calc(100% - var(--tgdg-gutter-wide)));
    max-width: none;
}
body.tgdg-redesign-page .submit_listing_parent#main-content {
    width: min(var(--tgdg-width-task), calc(100% - var(--tgdg-gutter-wide))) !important;
    max-width: var(--tgdg-width-task) !important;
}

/* Preserve comfortable mobile breathing room across all wide families. */
@media (max-width: 760px) {
    .tgdg-directory-hero-inner,
    .tgdg-page-content.tgdg-directory-page,
    .tgdg-page-content.tgdg-account-page,
    .tgdg-listing-start-page,
    body.tgdg-redesign-page .submit_listing_parent#main-content {
        width: calc(100% - var(--tgdg-gutter-mobile)) !important;
        max-width: none !important;
    }
}



/* Protected-area destination pages: cleaner landing page and dedicated category browsing. */
.tgdg-protected-area-page {
    padding-top: 34px;
}

.tgdg-protected-area-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 30px;
    padding: 22px 26px;
    background: var(--tgdg-cream);
    border: 1px solid #f0dfbf;
    border-radius: 20px;
}

.tgdg-protected-area-summary-copy {
    min-width: 0;
}

.tgdg-protected-area-summary-copy > p:last-child {
    max-width: 820px;
    margin: 0;
    color: #465064;
    font-size: 16px;
    line-height: 1.6;
}

.tgdg-protected-area-count {
    flex: 0 0 auto;
    min-width: 180px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 16px;
    text-align: center;
}

.tgdg-protected-area-count strong {
    display: block;
    color: var(--tgdg-red-dark);
    font-family: var(--tgdg-display);
    font-size: 34px;
    line-height: 1;
}

.tgdg-protected-area-count span {
    display: block;
    margin-top: 5px;
    color: var(--tgdg-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

.tgdg-protected-area-results-layout {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 30px;
    align-items: start;
}

.tgdg-location-browse-card {
    margin: 0 0 32px;
    padding: 30px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(23,32,50,.055);
}

.tgdg-location-browse-card .tgdg-category-section-heading {
    max-width: 820px;
    margin-bottom: 22px;
}

.tgdg-protected-area-page .tgdg-category-accordion {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.tgdg-protected-area-page .tgdg-category-link-group {
    min-width: 0;
    padding: 20px;
    background: var(--tgdg-blue);
    border: 1px solid #d7e9ed;
    border-radius: 18px;
}

.tgdg-protected-area-page .tgdg-category-link-group h3 {
    margin: 0 0 12px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 22px;
    line-height: 1.08;
}

.tgdg-protected-area-page .tgdg-refine-links {
    display: grid;
    gap: 8px;
}

.tgdg-protected-area-page .tgdg-refine-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 10px 12px;
    color: var(--tgdg-ink) !important;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}

.tgdg-protected-area-page .tgdg-refine-links a:hover,
.tgdg-protected-area-page .tgdg-refine-links a:focus-visible {
    color: var(--tgdg-red-dark) !important;
    border-color: rgba(142,26,34,.32);
    box-shadow: 0 5px 14px rgba(23,32,50,.055);
}

.tgdg-protected-area-page .tgdg-refine-links a span {
    min-width: 0;
}

.tgdg-protected-area-page .tgdg-refine-links a small {
    flex: 0 0 auto;
    min-width: 28px;
    padding: 3px 7px;
    color: var(--tgdg-muted);
    background: var(--tgdg-cream);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.tgdg-location-results-heading {
    margin: 0 0 18px;
    padding: 22px 24px;
    background: linear-gradient(90deg, var(--tgdg-cream), #fff);
    border: 1px solid #f0dfbf;
    border-radius: 18px;
    box-shadow: inset 5px 0 0 var(--tgdg-red);
}

.tgdg-location-results-heading h2 {
    margin: 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.06;
    letter-spacing: -.03em;
}

.tgdg-location-sidebar {
    min-width: 0;
}

.tgdg-refine-stack {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(23,32,50,.055);
}

.tgdg-refine-heading {
    padding: 20px 20px 17px;
    background: var(--tgdg-cream);
    border-bottom: 1px solid #f0dfbf;
}

.tgdg-refine-heading h2 {
    margin: 0;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 25px;
    line-height: 1.08;
}

.tgdg-refine-section {
    margin: 0;
    border-bottom: 1px solid var(--tgdg-line);
}

.tgdg-refine-section:last-child {
    border-bottom: 0;
}

.tgdg-refine-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 18px;
    color: var(--tgdg-ink);
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.tgdg-refine-section > summary::-webkit-details-marker {
    display: none;
}

.tgdg-refine-chevron {
    color: var(--tgdg-red-dark);
    font-size: 20px;
    line-height: 1;
}

.tgdg-refine-section[open] .tgdg-refine-chevron {
    transform: rotate(45deg);
}

.tgdg-refine-section-body {
    padding: 0 16px 18px;
}

.tgdg-location-sidebar .tgdg-filter-shell {
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.tgdg-location-sidebar .tgdg-filter-shell .d_filters_hide {
    display: none !important;
}

.tgdg-location-sidebar .tgdg-filter-shell #filterForm {
    padding: 0;
}

.tgdg-location-sidebar .tgdg-category-accordion {
    grid-template-columns: 1fr;
    gap: 10px;
}

.tgdg-location-sidebar .tgdg-category-link-group {
    padding: 14px;
    border-radius: 14px;
}

.tgdg-location-sidebar .tgdg-category-link-group h3 {
    font-size: 18px;
}

.tgdg-location-sidebar .tgdg-refine-links a {
    padding: 8px 10px;
    font-size: 12px;
}

.tgdg-location-banner-rail {
    margin-top: 22px;
}

@media (max-width: 1050px) {
    .tgdg-protected-area-page .tgdg-category-accordion {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tgdg-location-sidebar .tgdg-category-accordion {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .tgdg-protected-area-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .tgdg-protected-area-count {
        width: 100%;
        min-width: 0;
        text-align: left;
    }

    .tgdg-protected-area-results-layout {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .tgdg-protected-area-results-layout .tgdg-location-sidebar {
        display: contents;
    }

    .tgdg-protected-area-results-layout .tgdg-protected-area-refine-stack {
        order: 1;
        width: 100%;
        margin-bottom: 0;
    }

    .tgdg-protected-area-results-layout .tgdg-category-listing-results {
        order: 2;
        width: 100%;
    }

    .tgdg-protected-area-results-layout .tgdg-location-banner-rail {
        order: 3;
        width: 100%;
    }

    .tgdg-location-banner-rail {
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 620px) {
    .tgdg-protected-area-page {
        padding-top: 24px;
    }

    .tgdg-protected-area-summary,
    .tgdg-location-browse-card,
    .tgdg-location-results-heading {
        padding: 20px;
        border-radius: 17px;
    }

    .tgdg-protected-area-page .tgdg-category-accordion {
        grid-template-columns: 1fr;
    }

    .tgdg-protected-area-page .tgdg-category-link-group {
        padding: 16px;
        border-radius: 15px;
    }
}

/* Protected-area sidebar: match county/county-category category navigation exactly. */
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-category-accordion {
    display: block;
    overflow: hidden;
    border: 1px solid var(--tgdg-line);
    border-radius: 15px;
    background: #fbfdff;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-category-link-group {
    padding: 12px 12px 6px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--tgdg-line);
    border-radius: 0;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-category-link-group:last-child {
    border-bottom: 0;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-category-link-group h3 {
    margin: 0 0 7px;
    padding: 8px 10px;
    color: var(--tgdg-ink);
    background: #edf8fd;
    border-radius: 10px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-category-link-group .tgdg-refine-links {
    display: grid;
    gap: 2px;
    padding: 0 0 5px;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-refine-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 36px;
    padding: 8px 9px;
    color: #354052 !important;
    background: transparent;
    border: 0;
    border-radius: 9px;
    box-shadow: none;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.28;
    text-align: left !important;
    text-decoration: none !important;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-refine-links a span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-refine-links a:hover,
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-refine-links a:focus-visible {
    color: var(--tgdg-red-dark) !important;
    background: #f2f9fc;
    border: 0;
    box-shadow: none;
}
.tgdg-protected-area-page .tgdg-location-sidebar .tgdg-refine-links a small {
    flex: 0 0 auto;
    min-width: 28px;
    padding: 3px 6px;
    color: #6b5b45;
    background: #f6efe2;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
}



/* -------------------------------------------------------------
   Directory result cards - first live redesign iteration (Oct 2026)
   Keeps the existing listing HTML/actions, but presents it as a clear
   Premium / Basic / Free progression on redesigned directory pages.
   ------------------------------------------------------------- */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
    position: relative;
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 210px;
    margin: 0 0 14px !important;
    padding: 0 !important;
    overflow: hidden;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #e4ded4 !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 24px rgba(23,32,50,.06) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic {
    grid-template-columns: 220px minmax(0, 1fr);
    min-height: 174px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
    grid-template-columns: 145px minmax(0, 1fr);
    min-height: 118px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-result-no-media {
    grid-template-columns: 1fr;
}

/* Desktop/laptop result-card hover only. Keep touch devices completely unchanged.
   The card lifts without resizing, gains a soft brand-red edge/glow and then
   settles back smoothly. This is deliberately scoped to listing result cards. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
        transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box:hover {
        z-index: 3;
        transform: translateY(-4px);
        border-color: #d8cfc2 !important;
        box-shadow: 0 18px 38px rgba(23,32,50,.15) !important;
    }

    /* Premium keeps the red identity and gets a visible red light underneath the lifted card. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium:hover {
        border-color: rgba(142,26,34,.48) !important;
        box-shadow:
            0 18px 38px rgba(23,32,50,.14),
            0 0 0 1px rgba(142,26,34,.18),
            0 18px 30px rgba(142,26,34,.22) !important;
    }

    /* Basic mirrors its existing blue side accent rather than borrowing Premium red. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic:hover {
        border-color: rgba(23,143,208,.48) !important;
        box-shadow:
            0 18px 38px rgba(23,32,50,.14),
            0 0 0 1px rgba(23,143,208,.16),
            0 18px 30px rgba(23,143,208,.20) !important;
    }

    /* Free listings stay neutral/white: lift plus a normal shadow only. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free:hover {
        border-color: #d8cfc2 !important;
        box-shadow: 0 18px 38px rgba(23,32,50,.15) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic::before {
        transition: opacity 200ms ease, box-shadow 200ms ease;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium:hover::before {
        opacity: 1;
        box-shadow: 3px 0 16px rgba(142,26,34,.34);
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic:hover::before {
        opacity: .9;
        box-shadow: 3px 0 14px rgba(23,143,208,.30);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
        transition: border-color 120ms linear, box-shadow 120ms linear;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box:hover {
        transform: none;
    }
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media {
    grid-column: 1;
    grid-row: 1 / span 20;
    display: block !important;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 210px;
    overflow: hidden;
    background: #edf7fa;
    border-right: 1px solid #e7e1d7;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media {
    min-height: 174px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media {
    min-height: 118px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit;
    margin: 0 !important;
    object-fit: cover;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-logo {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: #f8fbfc;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-logo img {
    width: auto !important;
    height: auto !important;
    min-height: 0;
    max-width: 100% !important;
    max-height: 140px !important;
    object-fit: contain;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-logo {
    padding: 14px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-logo img {
    max-height: 86px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-tier-badge {
    position: absolute;
    top: 13px;
    left: 0;
    z-index: 4;
    display: inline-flex !important;
    align-items: center;
    min-height: 31px;
    padding: 5px 15px 5px 18px;
    color: #fff;
    background: var(--tgdg-red);
    border-radius: 0 7px 7px 0;
    box-shadow: 0 5px 13px rgba(142,26,34,.2);
    font-family: var(--tgdg-display);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .025em;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-tier-badge {
    background: #178fd0;
    box-shadow: 0 5px 13px rgba(23,143,208,.18);
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-tier-badge {
    top: 9px;
    min-height: 27px;
    padding: 4px 11px 4px 14px;
    background: #8a8f98;
    box-shadow: none;
    font-size: 11px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-no-media .tgdg-redesign-tier-badge {
    left: auto;
    right: 12px;
    border-radius: 999px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > :not(.tgdg-redesign-result-media):not(.tgdg-redesign-tier-badge) {
    grid-column: 2;
    min-width: 0;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-result-no-media > :not(.tgdg-redesign-tier-badge) {
    grid-column: 1;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header {
    position: relative;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 15px 18px 6px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 12px;
    width: 100%;
    margin: 0 !important;
    padding: 0 36px 0 0 !important;
    color: var(--tgdg-ink) !important;
    background: transparent !important;
    border: 0 !important;
    font-family: var(--tgdg-display) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .content-title-box h2,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .listing_header h2 {
    font-size: 22px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .content-title-box h2,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .listing_header h2 {
    font-size: 19px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2 strong,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2 font {
    order: 1;
    color: var(--tgdg-ink) !important;
    font: inherit !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2 > span {
    order: 2;
    color: var(--tgdg-muted) !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2 > i,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header > i {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    z-index: 3;
    width: 26px;
    height: 26px;
    margin: 0 !important;
    color: var(--tgdg-red) !important;
    font-size: 23px !important;
    line-height: 26px !important;
    text-align: center;
    cursor: pointer;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-detail,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail {
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 18px !important;
    color: #354052;
    background: transparent !important;
    border: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-row-first,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-row {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-row-first > p,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-address,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-address {
    float: none !important;
    width: auto !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: #617087 !important;
    font-size: 13px !important;
    font-weight: 650;
    line-height: 1.35 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-row-first > p > img,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-logo,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail > img.logo {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li {
    position: relative;
    width: auto !important;
    margin: 0 !important;
    padding: 6px 9px 6px 23px !important;
    color: #344052 !important;
    background: #f8fbfc;
    border: 1px solid #e1ecef;
    border-radius: 9px;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.25 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 9px;
    width: 7px;
    height: 7px;
    background: #16a65a;
    border-radius: 50%;
    transform: translateY(-50%);
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(2n)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(2n)::before {
    background: #158fd0;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(3n)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(3n)::before {
    background: var(--tgdg-red);
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-excerpt .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .listing-excerpt {
    margin: 9px 18px 0 !important;
    color: #556174 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-excerpt .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .listing-excerpt {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-excerpt-more {
    color: var(--tgdg-red-dark) !important;
    font-weight: 850;
    text-decoration: none;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .offer-heading {
    margin: 10px 18px 0 !important;
    padding: 8px 12px 0 !important;
    color: #5e4300 !important;
    background: #ffd35d !important;
    border-radius: 10px 10px 0 0;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .035em;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .offer-listing {
    margin: 0 18px !important;
    padding: 4px 12px 9px 29px !important;
    color: #4c3b0d !important;
    background: #ffd35d !important;
    border-radius: 0 0 10px 10px;
    font-size: 12px !important;
    font-weight: 750;
    line-height: 1.35;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer {
    width: auto !important;
    min-height: 0 !important;
    margin: 7px 18px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer .details {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer .details li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: auto !important;
    margin: 10px 0 0 !important;
    padding: 10px 14px 13px !important;
    background: #fff !important;
    border-top: 1px solid #eee9e1 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > div {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #cdd6e1 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a img {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
    font-size: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link::after {
    content: "View listing";
    font-size: 13px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links {
    font-size: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links::after {
    content: "Website";
    font-size: 13px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:hover,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:focus-visible {
    color: var(--tgdg-red-dark) !important;
    border-color: rgba(142,26,34,.42) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link:hover,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link:focus-visible {
    color: #fff !important;
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .listing-box-detail .listing-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .free-listing-excerpt .listing-excerpt {
    /* RH/AI 09/11/2026: excerpt is already limited to 120 characters in Listing.php;
       a one-line clamp was hiding the Read more link. */
    display: block;
}

@media (max-width: 900px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
        grid-template-columns: 220px minmax(0, 1fr);
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic {
        grid-template-columns: 180px minmax(0, 1fr);
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
        grid-template-columns: 120px minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
        display: block !important;
        min-height: 0;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media {
        width: 100%;
        min-height: 0;
        height: 178px;
        border-right: 0;
        border-bottom: 1px solid #e7e1d7;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media {
        height: 145px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media {
        height: 108px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-logo img {
        max-height: 112px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-logo img {
        max-height: 70px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header {
        padding: 14px 15px 6px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-detail,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail {
        padding: 0 15px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .listing-excerpt {
        margin-left: 15px !important;
        margin-right: 15px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
        justify-content: stretch;
        padding: 10px 12px 12px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a {
        flex: 1 1 auto;
    }
}


/* -------------------------------------------------------------
   Directory result cards - iteration 2 (Oct 2026)
   Cleaner hierarchy: no repeated results heading, compact location,
   neutral feature pills, stronger copy and a unified action row.
   ------------------------------------------------------------- */
body.tgdg-redesign-page .tgdg-location-results-heading {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
    margin-bottom: 11px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header {
    padding: 17px 20px 2px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header h2 {
    font-size: 26px !important;
    line-height: 1.04 !important;
    letter-spacing: -.02em;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .content-title-box h2,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .listing_header h2 {
    font-size: 23px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .content-title-box h2,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .listing_header h2 {
    font-size: 20px !important;
}

/* Old desktop telephone beside the business name is retained in legacy HTML,
   but the redesign moves it into the action row. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box h2 > span {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-location {
    display: block !important;
    margin: 2px 20px 11px;
    color: #687487;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
}


/* Hide the old multi-line postal address on redesigned strips. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-row-first > p,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-address,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-address {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-detail,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail {
    padding: 0 20px !important;
}

/* Feature highlights: deliberately neutral until the proper category/filter
   icon mapping is added. No alternating coloured status dots. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
    gap: 6px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li {
    padding: 6px 9px !important;
    color: #344052 !important;
    background: #fffaf0 !important;
    border-color: #eadfce !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li::before {
    content: none !important;
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(n+7),
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(n+7) {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .results-bullets li:nth-child(n+7),
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .listing-bullets li:nth-child(n+7) {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-excerpt .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .listing-excerpt {
    margin-top: 11px !important;
    color: #4e596b !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .listing-box-detail .listing-excerpt {
    font-size: 14.5px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-footer-container {
    gap: 7px !important;
    margin-top: 11px !important;
    padding: 10px 16px 13px !important;
    background: #fcfbf8 !important;
    border-top-color: #ece5da !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #ccd4de !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action .call_button {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin-left: 2px;
    line-height: 1 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action .btn-telno {
    min-height: 0 !important;
    margin: 0 0 0 2px !important;
    padding: 2px 5px !important;
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-logo img {
    max-height: 98px !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header {
        padding: 15px 16px 2px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-location {
        margin: 3px 16px 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-detail,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-logo img {
        max-height: 80px !important;
    }
}

/* -------------------------------------------------------------
   Directory result cards - iteration 3 (Oct 2026)
   Stabilise image sizing and keep the action/social area predictable.
   ------------------------------------------------------------- */

/* Keep portrait/tall source images from determining the height of the whole
   card. The right-hand content now determines card height; the image simply
   crops to the media column using object-fit. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media {
    position: relative;
    align-self: stretch;
    min-height: 210px;
    height: auto;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media {
    min-height: 174px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media {
    min-height: 118px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media:not(.tgdg-redesign-result-media-logo) img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover;
}

/* Logo-only media must stay in normal flow rather than being absolutely
   positioned like gallery photographs. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-logo img {
    position: static !important;
}

/* Let the content side establish the full card height cleanly. This avoids
   the final action/review area appearing clipped on shorter image sources. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > :not(.tgdg-redesign-result-media):not(.tgdg-redesign-tier-badge) {
    min-height: 0;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    overflow: visible !important;
}

/* Keep social links in their own predictable rail. Four fit on one line;
   any future additional icons wrap inside the rail instead of pushing the
   View listing / Phone / Website / Contact buttons across the card. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 {
    flex: 0 0 128px !important;
    width: 128px !important;
    max-width: 128px !important;
    margin-left: auto !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social {
    flex: 0 0 29px !important;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social img {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    max-width: none !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media:not(.tgdg-redesign-result-media-logo) {
        height: 178px;
        min-height: 178px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media:not(.tgdg-redesign-result-media-logo) {
        height: 145px;
        min-height: 145px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media:not(.tgdg-redesign-result-media-logo) {
        height: 108px;
        min-height: 108px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons {
        justify-content: flex-end !important;
    }
}

/* -------------------------------------------------------------
   Directory result cards - iteration 4 (Oct 2026)
   Remove public tier ribbons and use the listing logo as the brand marker
   over the result photograph. Logo-only cards remain clean and centred.
   ------------------------------------------------------------- */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-tier-badge {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-photo {
    position: relative;
    padding: 0 !important;
    background: #edf7fa;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-photo > .tgdg-redesign-result-photo {
    position: absolute !important;
    inset: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-logo-badge {
    position: absolute;
    top: 11px;
    left: 11px;
    z-index: 5;
    display: flex;
    width: 92px;
    height: 66px;
    align-items: center;
    justify-content: center;
    padding: 7px 9px;
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(23,32,50,.10);
    border-radius: 11px;
    box-shadow: 0 5px 16px rgba(23,32,50,.13);
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-logo-badge > img {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-badge {
    width: 82px;
    height: 58px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-logo-only {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: #f8fbfc;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-logo-only > .tgdg-redesign-result-logo-only-image {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 88% !important;
    max-height: 138px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-logo-only > .tgdg-redesign-result-logo-only-image {
    max-height: 112px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-logo-only > .tgdg-redesign-result-logo-only-image {
    max-height: 98px !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-logo-badge {
        top: 9px;
        left: 9px;
        width: 82px;
        height: 58px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-badge {
        width: 74px;
        height: 52px;
    }
}

/* -------------------------------------------------------------
   Directory result cards - logo-first media hierarchy (Oct 2026)
   The logo is the primary visual on every listing. Premium gets two
   small gallery thumbnails, Basic one, and Free remains logo-only.
   ------------------------------------------------------------- */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
    grid-template-columns: 205px minmax(0, 1fr);
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic {
    grid-template-columns: 170px minmax(0, 1fr);
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
    grid-template-columns: 145px minmax(0, 1fr);
}

/* Paid listings stand out through richer content and card depth rather than
   public package labels. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium {
    border-color: #ddd4c8 !important;
    box-shadow: 0 11px 28px rgba(23,32,50,.085) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic {
    border-color: #e1ddd5 !important;
    box-shadow: 0 8px 22px rgba(23,32,50,.065) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
    border-color: #ebe6de !important;
    box-shadow: 0 4px 14px rgba(23,32,50,.045) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand {
    position: relative !important;
    display: flex !important;
    height: 100% !important;
    min-height: 210px;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    padding: 0 !important;
    overflow: hidden;
    background: #fff !important;
    border-right: 1px solid #e9e3da;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand {
    min-height: 174px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
    min-height: 118px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-logo-panel {
    display: flex;
    flex: 1 1 auto;
    min-height: 118px;
    align-items: center;
    justify-content: center;
    padding: 16px 14px;
    background: #fff;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel {
    min-height: 104px;
    padding: 14px 12px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
    min-height: 118px;
    padding: 14px 12px;
}

/* Override the older full-bleed photo rules: logos and thumbnails are now
   normal-flow children of the media column. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand img,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand:not(.tgdg-redesign-result-media-logo) img {
    position: static !important;
    inset: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-brand-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 112px !important;
    object-fit: contain !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-brand-logo {
    max-height: 92px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-brand-logo {
    max-height: 88px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-thumbs {
    flex: 0 0 74px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 5px;
    padding: 0 8px 8px;
    background: #fff;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumbs {
    flex-basis: 66px;
    grid-template-columns: 1fr;
    padding: 0 7px 7px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-thumb {
    display: block;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #f5f2ec;
    border: 1px solid #ece5db;
    border-radius: 8px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-thumb > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

@media (max-width: 900px) and (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
        grid-template-columns: 185px minmax(0,1fr);
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic {
        grid-template-columns: 155px minmax(0,1fr);
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
        grid-template-columns: 125px minmax(0,1fr);
    }
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
        display: flex !important;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        border-right: 0;
        border-bottom: 1px solid #e9e3da;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        flex: 0 0 auto;
        min-height: 96px;
        height: 96px;
        padding: 11px 14px;
        background: #fff !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        min-height: 90px;
        height: 90px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-brand-logo,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-brand-logo {
        max-width: 88% !important;
        max-height: 76px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-brand-logo {
        max-width: 86% !important;
        max-height: 70px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-thumbs {
        flex: 0 0 66px;
        min-height: 66px;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px;
        padding: 0 8px 8px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumbs {
        flex-basis: 62px;
        min-height: 62px;
        grid-template-columns: 1fr;
        padding: 0 8px 8px;
    }
}

/* -------------------------------------------------------------
   Directory result cards - iteration 4: warmer logo-first media rail
   Brand identity stays primary; gallery imagery adds colour without
   taking over the whole listing card.
   ------------------------------------------------------------- */

/* Give the media rail its own warm surface so white-background logos
   still feel intentional rather than floating in a blank white card. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand {
    justify-content: flex-start;
    gap: 0;
    background: #fff6e8 !important;
    border-right: 1px solid #ecdcc3;
}

/* Premium gets the richest visual rail. The logo lives in a clean white
   brand panel and the two gallery images become a proper mini-gallery. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel {
    flex: 0 0 126px;
    min-height: 126px;
    margin: 10px 10px 8px;
    padding: 14px;
    background: #fff !important;
    border: 1px solid #eadfce;
    border-radius: 13px;
    box-shadow: 0 5px 14px rgba(23,32,50,.055);
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-brand-logo {
    max-width: 94% !important;
    max-height: 96px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
    flex: 0 0 102px;
    min-height: 102px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
    padding: 0 10px 10px;
    background: transparent;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumb {
    border-color: #e4d3b8;
    border-radius: 10px;
    box-shadow: 0 3px 9px rgba(23,32,50,.055);
}

/* Basic keeps the same visual language but with one wider image. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand {
    background: #fff8ed !important;
    border-right-color: #eee1cf;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel {
    flex: 0 0 112px;
    min-height: 112px;
    margin: 9px 9px 7px;
    padding: 12px;
    background: #fff !important;
    border: 1px solid #ece1d2;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(23,32,50,.045);
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-brand-logo {
    max-width: 92% !important;
    max-height: 84px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumbs {
    flex: 0 0 86px;
    min-height: 86px;
    grid-template-columns: 1fr;
    padding: 0 9px 9px;
    background: transparent;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumb {
    border-color: #e7d9c5;
    border-radius: 9px;
}

/* Free remains deliberately compact but no longer looks like a white logo
   pasted onto a blue/grey box. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
    justify-content: center;
    background: #fffaf2 !important;
    border-right-color: #eee5d8;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
    flex: 0 0 auto;
    width: calc(100% - 18px);
    min-height: 92px;
    margin: 9px;
    padding: 11px;
    background: #fff !important;
    border: 1px solid #eee6dc;
    border-radius: 11px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-brand-logo {
    max-width: 92% !important;
    max-height: 74px !important;
}

/* Add a little more warmth to the information side without turning the
   whole page beige. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets > span,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets > a {
    background: #fff8ec !important;
    border-color: #ecd8b9 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    background: linear-gradient(90deg,#fffaf2 0%,#fff 70%);
}

/* Paid cards get a tiny red accent rather than a package badge. This is
   subtle enough for visitors but helps the richer cards read first. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium {
    box-shadow: 0 12px 30px rgba(23,32,50,.095) !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
    width: 4px;
    height: 100%;
    background: var(--tgdg-red);
    border-radius: 18px 0 0 18px;
    opacity: .72;
    pointer-events: none;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
    width: 3px;
    height: 100%;
    background: #178fd0;
    border-radius: 18px 0 0 18px;
    opacity: .55;
    pointer-events: none;
}

/* Mobile becomes a purpose-built stacked media block: logo first, then a
   compact image strip. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
        background: #fff6e8 !important;
        border-bottom: 1px solid #eadbc4;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        width: calc(100% - 20px);
        height: 94px;
        min-height: 94px;
        margin: 10px 10px 8px;
        padding: 10px 14px;
        border-radius: 12px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        margin-bottom: 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-brand-logo,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-brand-logo,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-brand-logo {
        max-height: 72px !important;
        max-width: 88% !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
        flex: 0 0 82px;
        min-height: 82px;
        gap: 7px;
        padding: 0 10px 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumbs {
        flex: 0 0 78px;
        min-height: 78px;
        padding: 0 10px 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic::before {
        width: 3px;
        border-radius: 15px 0 0 15px;
    }
}


/* -------------------------------------------------------------
   Directory result cards - iteration 5: warmer page + real filters
   Keep the logo/gallery hierarchy, but use the listing's selected public
   filters to fill the card with useful, category-specific information.
   ------------------------------------------------------------- */

/* Warm the directory canvas rather than colouring every card. The white
   cards remain easy to scan, while the overall page feels less sterile. */
body.tgdg-redesign-page .tgdg-directory-page {
    position: relative;
    isolation: isolate;
}

body.tgdg-redesign-page .tgdg-directory-page::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    background: #fff7ea;
    transform: translateX(-50%);
    pointer-events: none;
}

/* Make the visual rail a touch richer so the white logo panel and gallery
   images have more contrast against the page and card. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand {
    background: #fff0d8 !important;
    border-right-color: #e7cfab !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand {
    background: #fff4e2 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
    background: #fff8ed !important;
}

/* Real selected filters: visually distinct from the advertiser-written
   bullet highlights above, with meaningful icons instead of coloured dots. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 11px 20px 5px;
    padding: 10px 0 1px;
    border-top: 1px solid #eee5d7;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 9px;
    color: #294236;
    background: #eef8f1;
    border: 1px solid #cfe4d5;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    align-items: center;
    justify-content: center;
    color: #18844a;
    background: #fff;
    border-radius: 50%;
    font-size: 10px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more {
    color: #5f574b;
    background: #fff9ef;
    border-color: #ead9bd;
    font-family: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more:hover,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more:focus-visible {
    color: var(--tgdg-red-dark);
    background: #fff3df;
    border-color: #d9bf96;
    outline: none;
}

/* Extra filters stay in the markup so +X more can expand them in place. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-filter-desktop-extra {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features.is-expanded .tgdg-result-filter-chip {
    display: inline-flex !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-mobile {
    display: none;
}

/* The new filter row uses some of the previously empty lower-card space,
   so keep the action bar close to it rather than adding another large gap. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    margin-top: 7px !important;
    padding-top: 9px !important;
    padding-bottom: 10px !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features {
        gap: 5px;
        margin: 9px 12px 1px;
        padding-top: 8px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip {
        min-height: 27px;
        padding: 4px 7px;
        font-size: 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-icon {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
        font-size: 9px;
    }

    /* Mobile deliberately starts with a maximum of three actual filters. */
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-filter-mobile-extra {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features.is-expanded .tgdg-filter-mobile-extra {
        display: inline-flex !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-desktop {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-mobile {
        display: inline-flex;
        min-height: 27px;
        padding: 4px 7px;
        font-size: 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
        background: #fff1dc !important;
    }
}


/* ======================================================================
   Directory filters - warm redesign, shared by county/town/category pages
   ====================================================================== */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-stack,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-stack {
    border-color: #eadcc6;
    background: #fffdf9;
    box-shadow: 0 12px 30px rgba(67, 48, 26, .07);
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading {
    position: relative;
    padding: 20px 20px 17px 58px;
    background: linear-gradient(135deg, #fff3dc 0%, #fffaf1 100%);
    border-bottom: 1px solid #ecdcc4;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading::before {
    content: "\f002";
    position: absolute;
    top: 19px;
    left: 18px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: #fff;
    background: var(--tgdg-red);
    border-radius: 10px;
    box-shadow: 0 5px 12px rgba(142,26,34,.18);
    font-family: "Font Awesome 5 Free";
    font-size: 13px;
    font-weight: 900;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading .tgdg-directory-kicker,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading .tgdg-directory-kicker {
    color: var(--tgdg-red-dark);
}

/* Override legacy heading backgrounds still applied by the old directory CSS. */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading h2,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading h2 {
    display: block;
    width: auto;
    margin: 2px 0 0;
    padding: 0;
    color: var(--tgdg-ink) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section {
    background: #fff;
    border-bottom-color: #eee3d3;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section > summary,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section > summary {
    position: relative;
    min-height: 50px;
    padding: 13px 17px;
    color: var(--tgdg-ink);
    background: #fff;
    font-size: 14px;
    font-weight: 900;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section > summary > span:first-child,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section > summary > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section > summary > span:first-child::before {
    display: inline-grid;
    width: 27px;
    height: 27px;
    place-items: center;
    color: var(--tgdg-red-dark);
    background: #fff4e5;
    border: 1px solid #f0dec4;
    border-radius: 9px;
    font-family: "Font Awesome 5 Free";
    font-size: 12px;
    font-weight: 900;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-filter-section > summary > span:first-child::before {
    content: "\f1de";
}
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-category-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-category-section > summary > span:first-child::before {
    content: "\f009";
}
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-nearby-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-nearby-section > summary > span:first-child::before {
    content: "\f3c5";
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section[open] > summary,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section[open] > summary {
    color: var(--tgdg-red-dark);
    background: #fffaf2;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-chevron,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-chevron {
    color: var(--tgdg-red-dark);
    background: #fff0da;
    border: 1px solid #efd9b8;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-category-link-group h3,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-category-link-group h3 {
    color: #6b5135;
    background: #fff3df;
    border: 1px solid #f1dfc2;
}

/* The filter include can also appear without the county/town accordion. */
body.tgdg-redesign-page .tgdg-filter-shell {
    color: var(--tgdg-ink);
    background: #fffdf9;
}

body.tgdg-redesign-page .tgdg-filter-shell .d_filters_hide {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 16px 18px;
    color: var(--tgdg-ink);
    background: linear-gradient(135deg, #fff1d8 0%, #fff8eb 100%);
    border-bottom: 1px solid #ecd9bb;
    font-family: var(--tgdg-display);
    font-size: 22px;
    line-height: 1.1;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-title-icon,
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-group-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    color: #fff;
    background: var(--tgdg-red);
    border-radius: 9px;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-title-icon {
    width: 30px;
    height: 30px;
    font-size: 12px;
}

/* County/town accordion already has its own Filters summary, so avoid duplicate title. */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-shell .d_filters_hide {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm {
    padding: 13px 14px 15px;
}
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-shell #filterForm {
    padding: 2px 0 0;
}

body.tgdg-redesign-page .tgdg-filter-group {
    margin: 0 0 14px;
    padding: 0;
}
body.tgdg-redesign-page .tgdg-filter-group:last-of-type {
    margin-bottom: 2px;
}

body.tgdg-redesign-page .tgdg-filter-group-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    padding: 9px 10px;
    color: #6a5338 !important;
    background: #fff3df !important;
    border: 1px solid #f1dfc2 !important;
    border-radius: 10px;
    box-shadow: none !important;
    font-family: var(--tgdg-display);
    font-size: 14px;
    line-height: 1.15;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-group-icon {
    width: 24px;
    height: 24px;
    background: #fff0db;
    color: var(--tgdg-red-dark);
    border: 1px solid #efdbbe;
    font-size: 10px;
}

body.tgdg-redesign-page .tgdg-filter-shell ul {
    display: grid;
    gap: 4px;
}

body.tgdg-redesign-page .tgdg-filter-shell li,
body.tgdg-redesign-page .tgdg-filter-shell li:first-child {
    margin: 0;
    padding: 0;
    border: 0;
}

body.tgdg-redesign-page .tgdg-filter-shell label {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    margin: 0;
    padding: 6px 7px;
    color: #374052;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body.tgdg-redesign-page .tgdg-filter-shell label:hover {
    color: var(--tgdg-red-dark);
    background: #fff8ec;
    border-color: #f0dfc4;
}

body.tgdg-redesign-page .tgdg-filter-shell input[type="checkbox"],
body.tgdg-redesign-page .tgdg-filter-shell input[type="radio"] {
    accent-color: var(--tgdg-red);
}

/* Multi-select listing types: checkbox behaviour with the old circular radio look. */
body.tgdg-redesign-page .tgdg-filter-shell input.tgdg-type-filter-choice {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #9ea7b2;
    border-radius: 50%;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-filter-shell input.tgdg-type-filter-choice:checked {
    border-color: var(--tgdg-red);
    background: var(--tgdg-red);
    box-shadow: inset 0 0 0 4px #fff;
}
body.tgdg-redesign-page .tgdg-filter-shell input.tgdg-type-filter-choice:focus-visible {
    outline: 2px solid rgba(142,26,34,.3);
    outline-offset: 2px;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-option-icon {
    display: inline-grid;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    place-items: center;
    color: #3b7d62;
    background: #eef8f2;
    border: 1px solid #d6ebdf;
    border-radius: 8px;
    font-size: 9px;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-option-text {
    min-width: 0;
    flex: 1 1 auto;
}

body.tgdg-redesign-page .tgdg-filter-shell .mileage-radius-item,
body.tgdg-redesign-page .tgdg-filter-shell .numeric-filter-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    align-items: center;
}
body.tgdg-redesign-page .tgdg-filter-shell .mileage-radius-item > label,
body.tgdg-redesign-page .tgdg-filter-shell .numeric-filter-item > label {
    min-width: 0;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-input-wrap {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    padding-right: 4px;
}
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-unit {
    color: #77644f;
    font-size: 10px;
    font-weight: 800;
}

body.tgdg-redesign-page .tgdg-filter-shell input.input_numbers,
body.tgdg-redesign-page .tgdg-filter-shell .mileage_radius_input {
    top: 0 !important;
    width: 48px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 3px 6px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #e0cba9 !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 2px rgba(52, 37, 19, .06) !important;
    font-size: 12px;
    font-weight: 850;
}
body.tgdg-redesign-page .tgdg-filter-shell input.input_numbers:hover,
body.tgdg-redesign-page .tgdg-filter-shell .mileage_radius_input:hover,
body.tgdg-redesign-page .tgdg-filter-shell input.input_numbers:focus,
body.tgdg-redesign-page .tgdg-filter-shell .mileage_radius_input:focus {
    border-color: rgba(142,26,34,.45) !important;
    box-shadow: 0 0 0 3px rgba(142,26,34,.08) !important;
}

body.tgdg-redesign-page .tgdg-filter-shell .filter_btn {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid #efdfc9;
}
body.tgdg-redesign-page .tgdg-filter-shell .filter_btn .btn-primary {
    min-height: 44px;
    border-radius: 12px;
    box-shadow: 0 7px 15px rgba(142,26,34,.16);
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-stack {
        overflow: visible;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading {
        margin-bottom: 10px;
        padding: 16px 16px 14px 54px;
        background: #fff7e9;
        border: 1px solid #ecdcc6;
        border-radius: 16px;
    }
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading::before {
        top: 15px;
        left: 15px;
    }

    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section {
        overflow: hidden;
        margin: 0 0 9px;
        background: #fff;
        border: 1px solid #eadcc7;
        border-radius: 15px;
        box-shadow: 0 7px 18px rgba(67, 48, 26, .06);
    }

    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary {
        color: #fff;
        background: var(--tgdg-red);
    }
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary > span:first-child::before {
        color: var(--tgdg-red-dark);
        background: #fff;
        border-color: rgba(255,255,255,.8);
    }
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary .tgdg-refine-chevron {
        color: var(--tgdg-red-dark);
        background: #fff;
        border-color: rgba(255,255,255,.85);
    }
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section[open] > summary {
        color: #fff;
        background: var(--tgdg-red-dark);
    }

    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section-body {
        padding: 10px 12px 13px;
        background: #fffdf9;
    }

    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-group-heading {
        font-size: 13px;
    }
    body.tgdg-redesign-page .tgdg-filter-shell label {
        min-height: 38px;
        padding: 7px 6px;
        font-size: 12px;
    }
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-option-icon {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }
}

/* RH/AI 09/10/2026: keep category group headings on redesigned directory sidebars in the warm palette.
   Some county/town views still carry later page-level blue heading rules, so these need !important. */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-category-link-group h3,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-category-link-group h3 {
    color: #6b5135 !important;
    background: #fff3df !important;
    border-color: #f1dfc2 !important;
}


/* RH/AI 09/10/2026: redesigned listing Contact modal + stable favourite-heart states. */
body.tgdg-redesign-page #contact-us-modal .modal-dialog {
    width: min(620px, calc(100% - 32px)) !important;
    max-width: 620px !important;
    margin: 6vh auto 24px !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-content {
    overflow: hidden;
    background: #fffdf9 !important;
    border: 1px solid #eadcc6 !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 70px rgba(23, 32, 50, .24) !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-header {
    position: relative;
    min-height: 0;
    padding: 20px 58px 18px 24px !important;
    background: linear-gradient(135deg, #fff0d7 0%, #fff9ef 100%) !important;
    border-bottom: 1px solid #eadcc6 !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-title {
    margin: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-header .close {
    position: absolute;
    top: 15px;
    right: 16px;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tgdg-red-dark) !important;
    background: #fff !important;
    border: 1px solid #ecd7b7 !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-shadow: none !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-header .close:hover,
body.tgdg-redesign-page #contact-us-modal .modal-header .close:focus {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-body {
    padding: 22px 24px 24px !important;
    color: var(--tgdg-ink) !important;
    background: #fffdf9 !important;
}

body.tgdg-redesign-page #contact-us-modal form {
    width: 100% !important;
    margin: 0 !important;
}

body.tgdg-redesign-page #contact-us-modal .form-group {
    margin: 0 0 15px !important;
    text-align: left !important;
}

body.tgdg-redesign-page #contact-us-modal .control-label,
body.tgdg-redesign-page #contact-us-modal label {
    display: block;
    margin: 0 0 6px !important;
    color: var(--tgdg-ink) !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

body.tgdg-redesign-page #contact-us-modal .form-control {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #dcc9aa !important;
    border-radius: 11px !important;
    box-shadow: inset 0 1px 2px rgba(52, 37, 19, .04) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

body.tgdg-redesign-page #contact-us-modal textarea.form-control {
    min-height: 150px !important;
    resize: vertical;
}

body.tgdg-redesign-page #contact-us-modal .form-control:focus {
    border-color: rgba(142,26,34,.55) !important;
    box-shadow: 0 0 0 3px rgba(142,26,34,.09) !important;
    outline: 0 !important;
}

body.tgdg-redesign-page #contact-us-modal .field-contactform-verifycode img {
    display: block;
    max-width: 190px;
    height: auto;
    margin: 5px 0 9px;
    padding: 5px 8px;
    background: #fff;
    border: 1px solid #eadcc6;
    border-radius: 10px;
}

body.tgdg-redesign-page #contact-us-modal .help-block {
    margin: 5px 0 0 !important;
    color: #b42336 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

body.tgdg-redesign-page #contact-us-modal .form-group-contact {
    margin: 6px 0 0 !important;
    text-align: left !important;
}

body.tgdg-redesign-page #contact-us-modal .form-group-contact .btn-primary {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 22px !important;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 18px rgba(142,26,34,.18) !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

body.tgdg-redesign-page #contact-us-modal .form-group-contact .btn-primary:hover,
body.tgdg-redesign-page #contact-us-modal .form-group-contact .btn-primary:focus {
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}

/* Unsaved = outlined heart, saved = solid heart. Keep exactly the same footprint so it never jumps in size. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box i.fa-heart {
    display: inline-flex !important;
    width: 26px !important;
    height: 26px !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--tgdg-red) !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 23px !important;
    line-height: 1 !important;
    text-shadow: none !important;
    transform: none !important;
    transition: color .15s ease !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box i.fa-heart.dislike {
    font-weight: 400 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box i.fa-heart.like {
    font-weight: 900 !important;
}

@media (max-width: 640px) {
    body.tgdg-redesign-page #contact-us-modal .modal-dialog {
        width: calc(100% - 20px) !important;
        margin: 10px auto !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header {
        padding: 17px 52px 15px 18px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-title {
        font-size: 20px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-body {
        padding: 18px !important;
    }

    body.tgdg-redesign-page #contact-us-modal textarea.form-control {
        min-height: 125px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .form-group-contact .btn-primary {
        width: 100%;
    }
}

/* RH/AI 09/10/2026: redesign Favourite confirmation/status popups to match directory UI. */
body.tgdg-redesign-page #confirmationBoxFavourite .modal-dialog,
body.tgdg-redesign-page #responseModal .modal-dialog {
    width: min(620px, calc(100% - 32px)) !important;
    max-width: 620px !important;
    margin: 9vh auto 24px !important;
}

body.tgdg-redesign-page #responseModal .modal-dialog {
    max-width: 500px !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-content,
body.tgdg-redesign-page #responseModal .modal-content {
    overflow: hidden;
    background: #fffdf9 !important;
    border: 1px solid #eadcc6 !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 70px rgba(23, 32, 50, .24) !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-header,
body.tgdg-redesign-page #responseModal .modal-header {
    padding: 22px 28px 20px !important;
    background: linear-gradient(135deg, #fff0d7 0%, #fff9ef 100%) !important;
    border-bottom: 1px solid #eadcc6 !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-title,
body.tgdg-redesign-page #responseModal .modal-title {
    margin: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

body.tgdg-redesign-page #responseModal .modal-body {
    padding: 20px 24px 8px !important;
    color: var(--tgdg-ink) !important;
    background: #fffdf9 !important;
    text-align: left !important;
}

body.tgdg-redesign-page #responseModal .modal-body label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    color: #4f596a !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body.tgdg-redesign-page #responseModal #disableAlert {
    width: 17px;
    height: 17px;
    margin: 0 !important;
    accent-color: var(--tgdg-red);
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer,
body.tgdg-redesign-page #responseModal .modal-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px 22px !important;
    background: #fffdf9 !important;
    border-top: 0 !important;
    text-align: center !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn,
body.tgdg-redesign-page #responseModal .modal-footer .btn {
    min-height: 44px;
    margin: 0 !important;
    padding: 10px 18px !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn-primary:first-child {
    color: var(--tgdg-red-dark) !important;
    background: #fff !important;
    border: 1px solid #efb8c0 !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn-primary:last-child {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
    box-shadow: 0 8px 18px rgba(142,26,34,.18) !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn-primary:first-child:hover,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn-primary:first-child:focus {
    color: #fff !important;
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn-primary:last-child:hover,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn-primary:last-child:focus {
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}

body.tgdg-redesign-page #responseModal .modal-footer .btn-default {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
    box-shadow: 0 8px 18px rgba(142,26,34,.16) !important;
}

body.tgdg-redesign-page #responseModal .modal-footer .btn-default:hover,
body.tgdg-redesign-page #responseModal .modal-footer .btn-default:focus {
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite + .modal-backdrop,
body.tgdg-redesign-page #responseModal + .modal-backdrop,
body.tgdg-redesign-page .gdg-modal-fallback-backdrop {
    background: #172032 !important;
    opacity: .48 !important;
}

@media (max-width: 640px) {
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-dialog,
    body.tgdg-redesign-page #responseModal .modal-dialog {
        width: calc(100% - 20px) !important;
        margin: 12vh auto 20px !important;
    }

    body.tgdg-redesign-page #confirmationBoxFavourite .modal-header,
    body.tgdg-redesign-page #responseModal .modal-header {
        padding: 18px 18px 16px !important;
    }

    body.tgdg-redesign-page #confirmationBoxFavourite .modal-title,
    body.tgdg-redesign-page #responseModal .modal-title {
        font-size: 19px !important;
    }

    body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer {
        flex-direction: column;
        padding: 14px 18px 18px !important;
    }

    body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn,
    body.tgdg-redesign-page #responseModal .modal-footer .btn {
        width: 100%;
    }

    body.tgdg-redesign-page #responseModal .modal-body {
        padding: 17px 18px 6px !important;
    }

    body.tgdg-redesign-page #responseModal .modal-footer {
        padding: 14px 18px 18px !important;
    }
}

/* RH/AI 09/10/2026: result-card finishing pass - richer Premium gallery, cleaner highlights,
   left-aligned copy/reviews and left-aligned filter labels. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel {
    flex-basis: 118px;
    min-height: 118px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
    flex: 0 0 132px;
    min-height: 132px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 0 10px 10px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
    list-style: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li {
    display: inline-flex !important;
    align-items: center;
    list-style: none !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li::marker,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li::marker,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li::after,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li::after {
    content: none !important;
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-excerpt .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .listing-excerpt {
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-excerpt-more {
    display: inline;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer {
    margin-top: 6px !important;
    margin-bottom: 2px !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer .details,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer .details li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .review-summary {
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .review-summary {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 8px;
    width: 100% !important;
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .review-summary .rating,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .review-summary .review-count {
    float: none !important;
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    margin-top: 6px !important;
    padding-top: 8px !important;
    padding-bottom: 9px !important;
}

body.tgdg-redesign-page .tgdg-filter-shell label,
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-option-text {
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-filter-shell label {
    justify-content: flex-start !important;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-option-text {
    display: block;
    width: 100%;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
        flex: 0 0 118px;
        min-height: 118px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 0 10px 10px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}


/* RH/AI 09/10/2026: tighten result-card action rows and keep actions left aligned.
   Social icons still use their existing auto-margin rail on the far right. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    justify-content: flex-start !important;
    align-self: end !important;
    margin-top: 4px !important;
    padding-top: 7px !important;
    padding-bottom: 6px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer {
    margin-bottom: 0 !important;
}

/* RH/AI 09/10/2026: unify filter and category option typography while keeping town pills bold. */
body.tgdg-redesign-page .tgdg-filter-shell label,
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-option-text,
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-links a,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-links a {
    font-weight: 600 !important;
}

body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-nearby-pill-list a,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-nearby-pill-list a {
    font-weight: 800 !important;
}


/* RH/AI 09/10/2026: compact the result-card action bar and give refine panels a scroll target offset. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    height: auto !important;
    min-height: 0 !important;
    align-self: end !important;
    padding-bottom: 4px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.row::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.row::after {
    content: none !important;
    display: none !important;
}

body.tgdg-redesign-page .tgdg-refine-stack {
    scroll-margin-top: 96px;
}


/* RH/AI 09/10/2026: final result-card action/review layout.
   Keep the logo/gallery rail and content as two true columns, put actions at the
   bottom of the information side, reviews directly underneath, and restore small
   modern action icons without bringing back the old button styling. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .tgdg-redesign-result-media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 100% !important;
    min-height: 100% !important;
    align-self: stretch !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .tgdg-redesign-result-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    align-self: stretch;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-result-no-media > .tgdg-redesign-result-content {
    grid-column: 1 !important;
}

/* Rules that previously targeted excerpts as direct children of the card now
   also apply inside the new content wrapper. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .listing-excerpt {
    margin-top: 11px !important;
    color: #4e596b !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-content > .listing-excerpt {
    font-size: 14.5px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-content > .listing-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Any spare height created by the richer logo + four-image rail sits above the
   action area rather than underneath it. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .listing-footer-container {
    margin-top: auto !important;
    padding-top: 8px !important;
    padding-bottom: 5px !important;
}

/* Reviews now form a compact second line below the actions. Empty review rows
   are not output by PHP, so listings with no reviews do not reserve this space. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
    width: 100% !important;
    margin: 0 !important;
    padding: 5px 16px 10px !important;
    background: linear-gradient(90deg,#fffaf2 0%,#fff 70%);
    border: 0 !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Small icon cues echo the old TGDG buttons without making the new cards busy. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-button a::before,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-phone-action::before {
    display: inline-block;
    flex: 0 0 auto;
    margin-right: 7px;
    color: var(--tgdg-red);
    font-family: "Font Awesome 5 Free";
    font-size: 12px !important;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-button a.listing-detail-link::before {
    content: "\f05a";
    color: #fff;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-button a.outbound_links::before {
    content: "\f0ac";
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-button a.email_us_button::before {
    content: "\f0e0";
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-phone-action::before {
    content: "\f095";
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .tgdg-redesign-result-media {
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .tgdg-redesign-result-content,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-result-no-media > .tgdg-redesign-result-content {
        grid-column: 1 !important;
        grid-row: 2 !important;
        min-height: 0;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-result-no-media > .tgdg-redesign-result-content {
        grid-row: 1 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
        padding: 4px 12px 9px !important;
    }
}

/* RH/AI 09/10/2026: six-image Premium rail + left-anchored actions + compact review badge. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
    flex: 0 0 154px;
    min-height: 154px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
}

/* Keep the action group anchored to the content's left edge. Social icons may
   still use their own auto-margin rail on the far right. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .links-btns-container,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .listing-footer-container {
    align-self: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Reviews read as one intentional status badge rather than a loose line of
   paws floating underneath the buttons. The existing paw-rating image remains. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
    align-self: flex-start !important;
    width: auto !important;
    max-width: calc(100% - 28px);
    margin: 5px 14px 10px !important;
    padding: 6px 10px !important;
    background: #fff8ec !important;
    border: 1px solid #ead8b9 !important;
    border-radius: 999px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details li,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .review-summary {
    width: auto !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .review-summary {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .review-summary img.rating {
    width: auto !important;
    height: 18px !important;
    max-width: 104px !important;
    object-fit: contain;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .review-count {
    color: #4e596b !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    white-space: nowrap;
}

@media (max-width: 680px) {
    /* Six thumbnails still fit without making the mobile card excessively tall. */
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
        flex: 0 0 126px;
        min-height: 126px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
        max-width: calc(100% - 24px);
        margin: 4px 12px 9px !important;
    }
}


/* RH/AI 09/10/2026: enlarge the six-image Premium mini-gallery and give
   listing excerpts comfortable right-hand breathing room. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
    flex: 0 0 218px;
    min-height: 218px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .listing-excerpt {
    margin-left: 18px !important;
    margin-right: 24px !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
        flex: 0 0 142px;
        min-height: 142px;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .listing-excerpt {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}

/* Compact special-offer teaser on redesigned listing strips. Full legacy offer text remains available off the redesign. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .offer-heading,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .offer-listing {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-preview {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 10px 18px 3px !important;
    padding: 9px 10px !important;
    background: #fff8e8;
    border: 1px solid #efd49a;
    border-radius: 12px;
    color: var(--tgdg-ink);
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    color: var(--tgdg-red);
    background: #fff;
    border: 1px solid #f1dcb2;
    border-radius: 9px;
    font-size: 13px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-copy {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-copy strong {
    color: #8e1a22;
    font-family: var(--tgdg-display);
    font-size: 14px;
    line-height: 1.15;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-copy span {
    display: -webkit-box;
    overflow: hidden;
    color: #4f5a6c;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
    color: #fff !important;
    background: var(--tgdg-red);
    border-radius: 9px;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link:hover,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link:focus {
    background: var(--tgdg-red-dark);
}

@media (max-width: 700px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-preview {
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 8px 10px 2px !important;
        padding: 9px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-copy {
        flex: 1 1 calc(100% - 42px);
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link {
        margin-left: 40px;
    }
}


/* RH/AI 09/10/2026: first responsive redesign pass for individual listing pages. */
body.tgdg-redesign-page .tgdg-listing-detail-page {
    width: min(1460px, calc(100% - 32px));
    max-width: 1460px;
    margin: 28px auto 54px;
}

body.tgdg-redesign-page .tgdg-listing-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 16px;
    color: #687286;
    font-size: 13px;
    font-weight: 700;
}
body.tgdg-redesign-page .tgdg-listing-breadcrumbs a {
    color: #596477 !important;
    text-decoration: none !important;
}
body.tgdg-redesign-page .tgdg-listing-breadcrumbs a:hover {
    color: var(--tgdg-red-dark) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
body.tgdg-redesign-page .tgdg-listing-breadcrumbs span { color: #b3a896; }

body.tgdg-redesign-page .tgdg-listing-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
}
body.tgdg-redesign-page .tgdg-listing-detail-main,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar { min-width: 0; }

body.tgdg-redesign-page .tgdg-listing-profile-card > .content-box {
    overflow: hidden;
    width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 32px rgba(23,32,50,.065) !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 28px 18px !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #eee7dc !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: clamp(30px,3.6vw,45px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i {
    position: static !important;
    flex: 0 0 42px;
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center;
    justify-content: center;
    margin: -2px 0 0 !important;
    color: var(--tgdg-red) !important;
    background: #fff !important;
    border: 1px solid #ecd9c8;
    border-radius: 50%;
    font-size: 21px !important;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.like {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red);
}

body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
    display: grid !important;
    grid-template-columns: 164px minmax(0, 1fr) !important;
    grid-template-areas:
        "logo address"
        "logo bullets";
    gap: 14px 24px;
    align-items: start;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 28px 18px !important;
    background: #fff !important;
    border: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
    grid-area: logo;
    float: none !important;
    width: 164px !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
    margin: 0 !important;
    padding: 12px !important;
    background: var(--tgdg-cream);
    border: 1px solid #efddbd;
    border-radius: 18px;
    text-align: center !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
    display: block;
    width: 138px !important;
    height: 138px !important;
    margin: 0 auto !important;
    object-fit: contain;
    border: 0 !important;
    border-radius: 12px !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
    grid-area: address;
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listing-address {
    min-width: 0;
    color: #515d70;
    font-size: 14px;
    line-height: 1.5;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listing-address strong { font-weight: 700; }
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details {
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #515d70;
    font-size: 13px;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details li {
    margin: 0 0 5px !important;
    padding: 0 !important;
    list-style: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details p {
    margin: 8px 0 0 !important;
    color: var(--tgdg-red-dark) !important;
    font-size: 12px;
    line-height: 1.35;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets {
    grid-area: bullets;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets ul {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet) {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin: 0 !important;
    padding: 7px 11px !important;
    color: #283446 !important;
    background: #fff9ee !important;
    border: 1px solid #ead8b9 !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    list-style: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet)::before { display: none !important; }
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li.no-bullet { display: none !important; }

body.tgdg-redesign-page .tgdg-listing-profile-card .description {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 28px 30px !important;
    color: #3d485a !important;
    background: #fff !important;
    border-top: 1px solid #eee7dc;
    font-size: 15px !important;
    line-height: 1.68 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description > br:first-of-type,
body.tgdg-redesign-page .tgdg-listing-profile-card .description > br:nth-of-type(2) { display: none; }
body.tgdg-redesign-page .tgdg-listing-profile-card .description p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description div:not(.links-btns-container):not(.listing-button):not(.column-3):not(.social-icons),
body.tgdg-redesign-page .tgdg-listing-profile-card .description td {
    color: #3d485a !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description p { margin: 0 0 16px !important; }
body.tgdg-redesign-page .tgdg-listing-profile-card .description h2,
body.tgdg-redesign-page .tgdg-listing-profile-card .description h3,
body.tgdg-redesign-page .tgdg-listing-profile-card .description h4 {
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description img {
    max-width: 100% !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .links-btns-container {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .links-btns-container.row { margin-left: 0 !important; margin-right: 0 !important; }
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-button {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-button a {
    display: inline-flex !important;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #d8dde6 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-button a:hover {
    border-color: #efbdc7 !important;
    background: #fff8f9 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-button a img {
    width: 15px !important;
    height: 15px !important;
    object-fit: contain;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .links-btns-container > .column-3 {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    width: auto !important;
    margin-left: auto !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .social-icons,
body.tgdg-redesign-page .tgdg-listing-profile-card .links-and-icons {
    display: flex !important;
    align-items: center;
    gap: 6px !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .social-icons img,
body.tgdg-redesign-page .tgdg-listing-profile-card .links-and-icons img {
    width: 30px !important;
    height: 30px !important;
    border-radius: 7px !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h2,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content > h2 {
    margin: 0 !important;
    padding: 18px 18px 8px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    font-family: var(--tgdg-display) !important;
    font-size: 21px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content:has(> h2) {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 16px !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 8px 24px rgba(23,32,50,.05);
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content > h2 {
    margin: -16px -16px 12px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    height: auto !important;
    overflow: visible !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs a {
    display: block;
    overflow: hidden;
    aspect-ratio: 1.25 / 1;
    border-radius: 10px;
    background: var(--tgdg-cream);
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 10px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #modalButton,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #modalButton2 { text-decoration: none !important; }
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #modalButton img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    border-radius: 12px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #modalButton2 {
    display: inline-flex;
    margin-top: 8px;
    color: var(--tgdg-red-dark) !important;
    font-size: 12px;
    font-weight: 800;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #special-offers {
    color: #3d485a;
    font-size: 13.5px;
    line-height: 1.55;
    text-align: left;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #special-offers p,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #special-offers div { text-align: left !important; }
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #special-offers strong,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar #special-offers b { color: var(--tgdg-ink); }
body.tgdg-redesign-page .tgdg-listing-detail-sidebar iframe { max-width: 100% !important; border-radius: 12px; }

body.tgdg-redesign-page .tgdg-listing-reviews-card {
    overflow: hidden;
    margin-top: 22px;
    padding: 22px 24px;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(23,32,50,.05);
}
body.tgdg-redesign-page .tgdg-listing-reviews-card h2,
body.tgdg-redesign-page .tgdg-listing-reviews-card h3 {
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .btn,
body.tgdg-redesign-page .tgdg-listing-reviews-card .button {
    border-radius: 10px !important;
    font-weight: 800 !important;
}

@media (max-width: 1050px) {
    body.tgdg-redesign-page .tgdg-listing-detail-layout { grid-template-columns: minmax(0,1fr) 310px; gap: 20px; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 144px minmax(0,1fr) !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo { width: 144px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img { width: 118px !important; height: 118px !important; }
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page {
        width: min(100% - 24px, 720px);
        margin-top: 18px;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-layout { grid-template-columns: 1fr; gap: 18px; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header { padding: 20px 18px 15px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header h1 { font-size: clamp(28px,8.5vw,38px) !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 110px minmax(0,1fr) !important;
        gap: 12px 16px;
        padding: 18px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo { width: 110px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p { padding: 8px !important; border-radius: 14px; }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img { width: 92px !important; height: 92px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column { display: block !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details { margin-top: 10px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets { grid-column: 1 / -1; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets ul { gap: 6px; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet) { min-height: 31px; padding: 6px 9px !important; font-size: 11.5px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .description { padding: 16px 18px 24px !important; font-size: 14px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .links-btns-container > .column-3 {
        flex-basis: 100%;
        justify-content: flex-start;
        margin: 2px 0 0 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar { display: grid; grid-template-columns: 1fr; }
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); }
    body.tgdg-redesign-page .tgdg-listing-reviews-card { margin-top: 0; padding: 18px; }
}

@media (max-width: 460px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 88px minmax(0,1fr) !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo { width: 88px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img { width: 72px !important; height: 72px !important; }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-button a { min-height: 40px; padding: 0 11px !important; font-size: 12px !important; }
}

/* RH/AI 09/10/2026: listing detail layout correction after first TEST render.
   Legacy #main-content/#sidebar widths and positioned listing-header children were
   still constraining the new grid. These overrides let the responsive shell own
   the layout without changing the underlying listing/gallery/map functions. */
body.tgdg-redesign-page .tgdg-listing-detail-layout > #main-content,
body.tgdg-redesign-page .tgdg-listing-detail-layout > #sidebar {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-layout {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
}

/* Restore the listing identity block from legacy positioned/fixed-height rules. */
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .bullets,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > #listinglogo,
body.tgdg-redesign-page .tgdg-listing-profile-card #listing-address,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .bullets,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > #listinglogo {
    display: block !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
    display: flex !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets ul {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* dosamigos Gallery places the thumbnail links inside #links. Make that inner
   wrapper the grid; otherwise the legacy fixed-width links stack in one column. */
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs > #links,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs > div#links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs > #links > a,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs > div#links > a {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs > #links > a > img,
body.tgdg-redesign-page .tgdg-listing-detail-sidebar .gallery-thumbs > div#links > a > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
}

/* Keep legacy description tables usable inside the wider content card. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
}

@media (max-width: 1050px) {
    body.tgdg-redesign-page .tgdg-listing-detail-layout {
        grid-template-columns: minmax(0, 1fr) 310px !important;
    }
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-detail-layout {
        grid-template-columns: 1fr !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
        display: block !important;
    }
}

/* RH/AI 09/10/2026: safe listing-detail gallery pass.
   The Listing model is deliberately untouched. The existing gallery markup is
   moved by listing.php into the main profile card and reshaped here. */
body.tgdg-redesign-page .tgdg-listing-detail-page {
    width: min(1380px, calc(100% - 36px));
    max-width: 1380px;
}

body.tgdg-redesign-page .tgdg-listing-detail-layout {
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 26px;
}

/* The gallery becomes part of the listing rather than a long thumbnail rail. */
body.tgdg-redesign-page .tgdg-listing-inline-gallery {
    margin: 0 !important;
    padding: 22px 28px 26px !important;
    background: #fff !important;
    border-top: 1px solid #eee7dc;
    border-bottom: 1px solid #eee7dc;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery > h2,
body.tgdg-redesign-page .tgdg-listing-inline-gallery .sidebar-content > h2 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--tgdg-ink) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: var(--tgdg-display) !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .sidebar-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 178px) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a {
    position: relative;
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: var(--tgdg-cream);
    border: 0 !important;
    border-radius: 14px !important;
    aspect-ratio: auto !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
}

/* Five visible photos is enough to sell the listing without recreating the old
   endless gallery rail. Hidden links stay in the DOM for the existing lightbox. */
body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a:nth-child(n+6) {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a:nth-child(5)::after {
    content: "View gallery";
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 2;
    padding: 7px 10px;
    color: #fff;
    background: rgba(23,32,50,.82);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    pointer-events: none;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 14px !important;
    transition: transform .2s ease;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a:hover > img,
body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a:focus-visible > img {
    transform: scale(1.025);
}

/* With Gallery removed, keep the right rail for compact practical information. */
body.tgdg-redesign-page .tgdg-listing-gallery-moved .tgdg-listing-detail-sidebar {
    display: grid;
    gap: 16px;
    align-content: start;
}

body.tgdg-redesign-page .tgdg-listing-gallery-moved .tgdg-listing-detail-sidebar > h2,
body.tgdg-redesign-page .tgdg-listing-gallery-moved .tgdg-listing-detail-sidebar > .sidebar-content {
    margin-bottom: 0 !important;
}

/* Keep long-form copy comfortable to scan while respecting the alignment
   saved in the listing WYSIWYG. The description itself remains left-aligned
   as the fallback; inline left/centre/right styles on its children now win. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description {
    text-align: left;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description p {
    max-width: 900px;
}

/* Keep generated listing image rows truly centred across the full description width.
   The general 900px paragraph cap is useful for readable copy, but it must not
   constrain the image-row holder or its centred rotator stage. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert > p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator > p {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

@media (max-width: 1120px) {
    body.tgdg-redesign-page .tgdg-listing-detail-layout {
        grid-template-columns: minmax(0, 1fr) 300px !important;
        gap: 20px;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links {
        grid-template-rows: repeat(2, 150px) !important;
    }
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page {
        width: min(100% - 24px, 720px);
    }

    body.tgdg-redesign-page .tgdg-listing-detail-layout {
        grid-template-columns: 1fr !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery {
        padding: 18px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
        grid-auto-rows: auto !important;
        gap: 8px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        aspect-ratio: 16 / 9 !important;
    }
}

@media (max-width: 460px) {
    body.tgdg-redesign-page .tgdg-listing-inline-gallery {
        padding: 15px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links {
        gap: 6px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a,
    body.tgdg-redesign-page .tgdg-listing-inline-gallery .gallery-thumbs #links > a > img {
        border-radius: 10px !important;
    }
}


/* RH/AI 09/10/2026: listing detail v3 - wider profile, actions above a
   clean gallery preview, while preserving advertiser-authored image rows in
   the description. The core Listing model is deliberately untouched. */
body.tgdg-redesign-page .tgdg-listing-detail-page {
    width: min(1520px, calc(100% - 32px)) !important;
    max-width: 1520px !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-layout {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 28px !important;
}

/* Give the identity block clearer hierarchy without altering its source HTML. */
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
    grid-template-columns: 178px minmax(0, 1fr) !important;
    grid-template-areas:
        "logo address"
        "logo bullets" !important;
    gap: 16px 26px !important;
    padding: 24px 30px 22px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
    width: 178px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
    padding: 13px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
    width: 150px !important;
    height: 150px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: start;
}

body.tgdg-redesign-page .tgdg-listing-profile-card #listing-address {
    color: #465266 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details {
    min-width: 170px;
    padding: 12px 14px !important;
    background: var(--tgdg-cream);
    border: 1px solid #efddbd;
    border-radius: 14px;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details p {
    margin-top: 7px !important;
}

/* The existing action row is moved by listing.php, not recreated. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 30px !important;
    background: #fff !important;
    border-top: 1px solid #eee7dc;
    border-bottom: 1px solid #eee7dc;
}

body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-3 {
    margin-left: auto !important;
}

/* The original gallery remains in the DOM for its existing lightbox bindings,
   but only the clean five-photo proxy preview is shown in the page layout. */
body.tgdg-redesign-page .tgdg-listing-original-gallery {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery {
    margin: 0 !important;
    padding: 24px 30px 28px !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #eee7dc !important;
}

body.tgdg-redesign-page .tgdg-listing-inline-gallery > h2 {
    margin: 0 0 15px !important;
    padding: 0 !important;
    color: var(--tgdg-ink) !important;
    background: transparent !important;
    border: 0 !important;
    font-family: var(--tgdg-display) !important;
    font-size: 23px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-listing-gallery-preview {
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 180px) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-gallery-preview-item {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: var(--tgdg-cream) !important;
    border: 0 !important;
    border-radius: 14px !important;
    cursor: pointer;
}

body.tgdg-redesign-page .tgdg-gallery-preview-item.tgdg-gallery-primary {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
}

body.tgdg-redesign-page .tgdg-gallery-preview-item > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 14px !important;
}

body.tgdg-redesign-page .tgdg-gallery-preview-item.tgdg-gallery-more::after {
    content: attr(data-gallery-label);
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    place-items: center;
    padding: 12px;
    color: #fff;
    background: rgba(23,32,50,.60);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    pointer-events: none;
}

/* Sensible layouts when a listing has fewer than five gallery images.
   A single photo keeps its natural proportions instead of being forced into
   a wide crop; multi-photo galleries retain the existing mosaic treatment. */
body.tgdg-redesign-page .tgdg-gallery-visible-1 .tgdg-listing-gallery-preview {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
}
body.tgdg-redesign-page .tgdg-gallery-visible-1 .tgdg-gallery-preview-item,
body.tgdg-redesign-page .tgdg-gallery-visible-1 .tgdg-gallery-preview-item.tgdg-gallery-primary {
    grid-column: auto !important;
    grid-row: auto !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    background: transparent !important;
}
body.tgdg-redesign-page .tgdg-gallery-visible-1 .tgdg-gallery-preview-item > img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 460px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}
body.tgdg-redesign-page .tgdg-gallery-visible-2 .tgdg-listing-gallery-preview {
    grid-template-columns: 1.45fr 1fr !important;
    grid-template-rows: 320px !important;
}
body.tgdg-redesign-page .tgdg-gallery-visible-2 .tgdg-gallery-primary {
    grid-row: 1 !important;
}
body.tgdg-redesign-page .tgdg-gallery-visible-3 .tgdg-listing-gallery-preview {
    grid-template-columns: 1.5fr 1fr !important;
    grid-template-rows: repeat(2, 155px) !important;
}
body.tgdg-redesign-page .tgdg-gallery-visible-4 .tgdg-listing-gallery-preview {
    grid-template-columns: 1.5fr repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 165px) !important;
}

/* Preserve the image-row layouts produced by the listing builder. Do not turn
   advertiser-authored inline/table images into a forced vertical stack. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description img {
    max-width: 100% !important;
    vertical-align: middle !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description {
    padding: 24px 30px 34px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description p {
    max-width: 940px !important;
}

/* Free-listing owner prompt: keep the upgrade message distinct from the business copy. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-free-listing-upgrade {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    width: fit-content;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 10px 13px !important;
    color: #657083;
    background: var(--tgdg-cream, #fff7e9);
    border: 1px solid #ead7b6;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.35;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-free-listing-upgrade span {
    font-weight: 700;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-free-listing-upgrade a {
    color: var(--tgdg-red-dark, #8e1a22) !important;
    font-weight: 850;
    text-decoration: none !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-free-listing-upgrade a::after {
    content: " \2192";
}

body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-free-listing-upgrade a:hover,
body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-free-listing-upgrade a:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Do not apply long-form image rules to action/social icons. */
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions img,
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons img,
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .links-and-icons img {
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    max-width: 15px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons img,
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .links-and-icons img {
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
}

@media (max-width: 1180px) {
    body.tgdg-redesign-page .tgdg-listing-detail-layout {
        grid-template-columns: minmax(0, 1fr) 290px !important;
        gap: 20px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-gallery-preview {
        grid-template-rows: repeat(2, 150px) !important;
    }
}

@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page {
        width: min(100% - 24px, 760px) !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-layout {
        grid-template-columns: 1fr !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 14px 18px !important;
        padding: 20px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        width: 120px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        width: 94px !important;
        height: 94px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details {
        min-width: 0;
        width: 100% !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
        padding: 13px 20px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery {
        padding: 20px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-gallery-preview,
    body.tgdg-redesign-page .tgdg-gallery-visible-4 .tgdg-listing-gallery-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
        grid-auto-rows: auto !important;
        gap: 8px !important;
    }

    body.tgdg-redesign-page .tgdg-gallery-preview-item {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }

    body.tgdg-redesign-page .tgdg-gallery-preview-item.tgdg-gallery-primary {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        aspect-ratio: 16 / 9 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .description {
        padding: 20px !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        padding: 17px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        width: 92px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        width: 70px !important;
        height: 70px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets {
        grid-column: 1 / -1 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
        padding: 12px 17px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-3 {
        flex-basis: 100%;
        justify-content: flex-start !important;
        margin: 4px 0 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-inline-gallery {
        padding: 17px !important;
    }
}



/* RH/AI 09/10/2026: sharpen the detail gallery and respect saved description image sizing. */
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
    min-height: 166px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    background: var(--tgdg-cream) !important;
    border: 1px solid #efddbd !important;
    border-radius: 18px !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header:not(:has(#listinglogo)) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
        "address"
        "bullets" !important;
}

/* Match the quieter action treatment already used on redesigned result strips. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a {
    min-height: 42px !important;
    padding: 0 15px !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.email_us_button {
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border-color: #d8dde6 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links:hover,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links:focus-visible {
    background: var(--tgdg-red-dark) !important;
    border-color: var(--tgdg-red-dark) !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.email_us_button:hover,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.email_us_button:focus-visible {
    background: #fff8f9 !important;
    border-color: #efbdc7 !important;
}

/* The stored Premium description controls the intended 1-4 image row sizes.
   Do not override its image height/width attributes with generic long-form CSS. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-public-editor-static-image-row {
    width: 100% !important;
    margin: 18px auto !important;
    text-align: center !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-public-editor-static-image-row p {
    max-width: none !important;
    margin: 0 !important;
    text-align: center !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator-item {
    display: inline-block !important;
    width: auto !important;
    height: 120px !important;
    max-width: 180px !important;
    max-height: 120px !important;
    margin: 4px !important;
    vertical-align: middle !important;
    object-fit: contain !important;
}

@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        min-height: 118px !important;
        padding: 8px !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        min-height: 90px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator-item {
        max-width: 150px !important;
        max-height: 110px !important;
        height: 110px !important;
    }
}


/* RH/AI 09/10/2026: listing detail profile polish - strip-style favourite,
   left-aligned address, real filter chips, cleaner actions/phone/socials and reviews. */
body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    padding-right: 66px !important;
}

/* Match the directory-strip heart: outline when unsaved, solid when saved. */
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
    position: absolute !important;
    top: 22px !important;
    right: 25px !important;
    display: inline-flex !important;
    width: 30px !important;
    height: 30px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tgdg-red) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 27px !important;
    line-height: 1 !important;
    text-shadow: none !important;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart.dislike {
    font-weight: 400 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart.like {
    font-weight: 900 !important;
    color: var(--tgdg-red) !important;
    background: transparent !important;
}

/* Address belongs with the logo, not floating in the middle of the card. */
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
    grid-template-columns: 164px minmax(0, 1fr) !important;
    gap: 14px 24px !important;
    padding: 22px 28px 17px !important;
}
/* Desktop listing logos use one standard 150 x 150 display area across all tiers. */
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
    width: 164px !important;
    height: 164px !important;
    min-height: 164px !important;
    box-sizing: border-box !important;
    padding: 6px !important;
    align-self: start !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
    width: 150px !important;
    height: 150px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
    width: 150px !important;
    height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 230px) !important;
    gap: 20px !important;
    align-items: start !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card #listing-address,
body.tgdg-redesign-page .tgdg-listing-profile-card #listing-address strong {
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    color: #465266 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.48 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-align: right !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details li {
    margin: 0 0 6px !important;
    padding: 0 !important;
    list-style: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details p {
    display: inline-block !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border: 1px solid #efddbd !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    text-align: right !important;
}

/* Selected database filters use the same green feature-chip language as the
   directory strips, but show all applicable filters on the detail page. */
body.tgdg-redesign-page .tgdg-listing-filter-features {
    width: 100% !important;
    margin: 0 !important;
    padding: 13px 28px 16px !important;
    background: #fff !important;
    border-top: 1px solid #eee7dc !important;
    border-bottom: 1px solid #eee7dc !important;
}
body.tgdg-redesign-page .tgdg-listing-filter-heading {
    display: block;
    margin: 0 0 8px;
    color: #596273;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}
body.tgdg-redesign-page .tgdg-listing-filter-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}
body.tgdg-redesign-page .tgdg-listing-filter-features .tgdg-result-filter-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 31px !important;
    padding: 5px 10px !important;
    color: #294236 !important;
    background: #eef8f1 !important;
    border: 1px solid #cfe4d5 !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
body.tgdg-redesign-page .tgdg-listing-filter-features .tgdg-result-filter-icon {
    display: inline-flex !important;
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 19px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #18844a !important;
    background: #fff !important;
    border-radius: 50% !important;
    font-size: 10px !important;
}

/* RH/AI 22/10/2026: account tenure now sits as the final item in the
   full-listing Features & facilities chip row. */
body.tgdg-redesign-page .tgdg-listing-filter-features .tgdg-listing-tenure-filter-chip {
    color: #6c5314 !important;
    background: #fff7df !important;
    border-color: #ead69b !important;
}
body.tgdg-redesign-page .tgdg-listing-filter-features .tgdg-listing-tenure-filter-icon {
    color: #b8860b !important;
    background: #fffdf5 !important;
}

/* Action row: same hierarchy as a listing strip, with the telephone reveal
   control brought into the row instead of floating above it. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px 28px !important;
    background: #fff !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eee7dc !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .column-1 {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a {
    display: inline-flex !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a > img {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a::before,
body.tgdg-redesign-page .tgdg-detail-phone-action::before {
    display: inline-block;
    color: currentColor;
    font-family: "Font Awesome 5 Free";
    font-size: 12px;
    font-weight: 900;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions a.outbound_links::before { content: "\f0ac"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions a.email_us_button::before { content: "\f0e0"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.email_us_button {
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #d3d9e1 !important;
}
body.tgdg-redesign-page .tgdg-detail-phone-action {
    display: inline-flex !important;
    min-height: 40px !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 10px 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #d3d9e1 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
body.tgdg-redesign-page .tgdg-detail-phone-action::before { content: "\f095"; color: var(--tgdg-red); }
body.tgdg-redesign-page .tgdg-detail-phone-label { font-weight: 850; }
body.tgdg-redesign-page .tgdg-detail-phone-action .call_button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #4b5566 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-detail-phone-action .btn-telno {
    display: inline-flex !important;
    min-height: 25px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 3px 7px !important;
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border: 1px solid #ead7b8 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* Social icons sit quietly at the far right rather than looking detached. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-3 {
    float: none !important;
    display: flex !important;
    width: auto !important;
    align-items: center !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons a {
    display: inline-flex !important;
    width: 32px !important;
    height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    opacity: .88;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons a:hover,
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons a:focus-visible {
    opacity: 1;
    transform: translateY(-1px);
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons img {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    object-fit: contain !important;
}

/* Reviews read as a proper final section of the listing, not a thin legacy bar. */
body.tgdg-redesign-page .tgdg-listing-reviews-card {
    margin-top: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 22px rgba(23,32,50,.05) !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 18px !important;
    background: linear-gradient(90deg, var(--tgdg-cream), #fff) !important;
    border: 0 !important;
    border-bottom: 1px solid #eee7dc !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box h2 {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right {
    float: none !important;
    width: auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a {
    display: inline-flex !important;
    min-height: 38px !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 13px !important;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
    border-radius: 10px !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right img {
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
        top: 18px !important;
        right: 18px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 112px minmax(0, 1fr) !important;
        padding: 19px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        width: 112px !important;
        min-height: 112px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        width: 88px !important;
        height: 88px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header > .column {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details,
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header .details p {
        text-align: left !important;
    }
    body.tgdg-redesign-page .tgdg-listing-filter-features,
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
        padding-left: 19px !important;
        padding-right: 19px !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header {
        padding-right: 52px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
        top: 16px !important;
        right: 15px !important;
        font-size: 24px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 86px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 16px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        width: 86px !important;
        min-height: 86px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        width: 66px !important;
        height: 66px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets {
        grid-column: 1 / -1 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-filter-features,
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-3 {
        flex-basis: auto !important;
        margin-left: 0 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box h2 {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right {
        margin-left: 0 !important;
    }
}

/* RH/AI 09/10/2026: listing detail action row matched exactly to directory strips. */
body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header > h1 {
    max-width: calc(100% - 58px) !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
    right: 22px !important;
}

/* Use the same understated action bar, buttons and icon cues as the county/town result strips. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions {
    gap: 7px !important;
    padding: 10px 16px 13px !important;
    background: #fcfbf8 !important;
    border-top: 1px solid #ece5da !important;
    border-bottom: 1px solid #ece5da !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action {
    display: inline-flex !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #ccd4de !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a::before,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action::before {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin-right: 7px !important;
    color: var(--tgdg-red) !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions a.outbound_links::before { content: "\f0ac"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions a.email_us_button::before { content: "\f0e0"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action::before { content: "\f095"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.email_us_button {
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border-color: #ccd4de !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-label {
    font-weight: 850 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action .call_button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: 2px !important;
    color: var(--tgdg-ink) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action .btn-telno {
    min-height: 0 !important;
    margin: 0 0 0 2px !important;
    padding: 2px 5px !important;
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* Social rail: same 29px grey icon treatment used on listing strips. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-3 {
    flex: 0 0 128px !important;
    width: 128px !important;
    max-width: 128px !important;
    margin-left: auto !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons > a.social {
    flex: 0 0 29px !important;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    border-radius: 7px !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons > a.social img {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    max-width: none !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-3 {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-detail-actions .social-icons {
        justify-content: flex-end !important;
    }
}

/* RH/AI 09/10/2026: final listing-detail action cleanup. Match the directory-strip
   Website/Contact/Phone controls and remove the legacy red button wrappers. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions > .column-1 {
    float: none !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* The legacy model label is "Web"; render the same "Website" label used
   on directory strips without touching common/models/Listing.php. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links {
    font-size: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a.outbound_links::after {
    content: "Website";
    font-size: 13px;
    line-height: 1;
}

body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a:hover,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a:focus-visible,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action:hover {
    color: var(--tgdg-red-dark) !important;
    border-color: rgba(142,26,34,.42) !important;
}

/* RH/AI 09/10/2026: rebuild listing-detail actions outside legacy button wrappers
   and make the reviews panel unconditionally visible on normal listing pages. */
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 16px 13px !important;
    background: #fff !important;
    border-top: 1px solid #ece5da !important;
    border-bottom: 1px solid #ece5da !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-action-link,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action {
    display: inline-flex !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #cdd6e1 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-action-link::before,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action::before {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin-right: 7px !important;
    color: var(--tgdg-red) !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-action-website::before { content: "\f0ac"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-action-contact::before { content: "\f0e0"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action::before { content: "\f095"; }
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-action-link:hover,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-action-link:focus-visible,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action:hover {
    color: var(--tgdg-red-dark) !important;
    border-color: rgba(142,26,34,.42) !important;
    background: #fff !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-phone-label {
    font-weight: 850 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .call_button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: 2px !important;
    color: #4b5566 !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .btn-telno {
    display: inline-flex !important;
    min-height: 0 !important;
    align-items: center !important;
    margin: 0 0 0 2px !important;
    padding: 2px 6px !important;
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border: 1px solid #ead7b8 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-socials {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .social-icons,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .links-and-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .social-icons > a.social,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .links-and-icons > a.social {
    flex: 0 0 29px !important;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 7px !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .social-icons > a.social img,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .links-and-icons > a.social img {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    max-width: none !important;
    margin: 0 !important;
}

/* The review partial is always rendered for a normal listing page. Override any
   legacy content-box visibility/float rules so its heading, reviews and Add a Review
   control remain visible beneath the listing profile. */
body.tgdg-redesign-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] .review-box-container {
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 76px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 22px rgba(23,32,50,.05) !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] .review-box-container > .content-title-box {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-height: 64px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: linear-gradient(90deg, var(--tgdg-cream), #fff) !important;
    border: 0 !important;
    border-bottom: 1px solid #eee7dc !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] .review-box-container > .content-title-box h2 {
    display: flex !important;
    width: 100% !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] .review-box-container > *:not(.content-title-box) {
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .tgdg-detail-socials {
        flex-basis: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .social-icons,
    body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions-clean .links-and-icons {
        justify-content: flex-end !important;
    }
}
/* RH/AI 09/10/2026: final action-row selector fix + review spacing/alignment.
   The clean action row is inserted inside .content-box, so target its classes
   directly rather than relying on the old parent hierarchy. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 16px 13px !important;
    background: #fcfbf8 !important;
    border-top: 1px solid #ece5da !important;
    border-bottom: 1px solid #ece5da !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action {
    display: inline-flex !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #ccd4de !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link::before,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action::before {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin-right: 7px !important;
    color: var(--tgdg-red) !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-detail-action-website::before { content: "\f0ac"; }
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-detail-action-contact::before { content: "\f0e0"; }
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-detail-phone-action::before { content: "\f095"; }
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .call_button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: 2px !important;
    color: #4b5566 !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .btn-telno {
    display: inline-flex !important;
    min-height: 0 !important;
    margin: 0 0 0 2px !important;
    padding: 2px 5px !important;
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-socials {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social {
    flex: 0 0 29px !important;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 7px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social img,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social img {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Give reviews clearer separation from the main listing and make the actual
   review content read naturally from the left rather than as centred quotes. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] {
    margin-top: 28px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center),
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center) * {
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center) {
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-socials {
        flex-basis: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons {
        justify-content: flex-end !important;
    }
}

/* RH/AI 09/10/2026: final review spacing + body typography match.
   Keep the display heading distinct, but make review copy use the same reading
   size/line-height as the listing description above it. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] {
    margin-top: 36px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center) {
    color: #3d485a !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center) p,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center) div,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > :not(.content-title-box):not(.text-center) span {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* RH/AI 09/10/2026: listing lightbox visibility + review spacing/typography hardening.
   The Blueimp gallery is moved to body by listing.php before the legacy gallery
   panel is hidden, so keep it above the redesigned shell. Use padding rather
   than a collapsing margin to guarantee visible separation above Reviews. */
body.tgdg-redesign-page .blueimp-gallery {
    z-index: 20000 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] {
    margin-top: 0 !important;
    padding-top: 32px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container {
    color: #3d485a !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > .content-title-box,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card .review-box-container > .content-title-box * {
    line-height: normal;
}

/* RH/AI 09/10/2026: contained responsive listing photo modal.
   Replaces the full-screen legacy Blueimp presentation on redesigned listing pages. */
body.tgdg-redesign-page.tgdg-photo-modal-open {
    overflow: hidden !important;
}

body.tgdg-redesign-page .tgdg-photo-modal[hidden] {
    display: none !important;
}

body.tgdg-redesign-page .tgdg-photo-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(18, 26, 41, .78) !important;
    backdrop-filter: blur(3px);
}

body.tgdg-redesign-page .tgdg-photo-modal-dialog {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    width: min(1120px, calc(100vw - 48px)) !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e8dfd1 !important;
    border-radius: 20px !important;
    box-shadow: 0 28px 80px rgba(9, 17, 31, .34) !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 66px !important;
    padding: 12px 16px 12px 20px !important;
    background: #fff !important;
    border-bottom: 1px solid #ece5d9 !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-header > div {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    min-width: 0 !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-title {
    overflow: hidden !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-count {
    flex: 0 0 auto !important;
    color: #687386 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-close {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 0 !important;
    border-radius: 50% !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 40px !important;
    text-align: center !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-stage {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) 62px !important;
    align-items: center !important;
    min-height: 420px !important;
    height: min(68vh, 700px) !important;
    padding: 18px 0 !important;
    background: #121a29 !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-image {
    display: block !important;
    grid-column: 2 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 6px !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-nav {
    position: relative !important;
    z-index: 2 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #fff !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    border-radius: 50% !important;
    font-family: Arial, sans-serif !important;
    font-size: 38px !important;
    font-weight: 300 !important;
    line-height: 38px !important;
    text-align: center !important;
    cursor: pointer !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-nav:hover,
body.tgdg-redesign-page .tgdg-photo-modal-nav:focus-visible {
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-thumbs {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 12px 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: #fff8ec !important;
    border-top: 1px solid #eadfce !important;
    scrollbar-width: thin;
}

body.tgdg-redesign-page .tgdg-photo-modal-thumb {
    flex: 0 0 82px !important;
    width: 82px !important;
    height: 62px !important;
    padding: 2px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 2px solid transparent !important;
    border-radius: 9px !important;
    cursor: pointer !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-thumb.is-active {
    border-color: var(--tgdg-red) !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 5px !important;
}

/* Preview tiles are buttons now, so remove browser button chrome completely. */
body.tgdg-redesign-page .tgdg-gallery-preview-item {
    padding: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

/* The redesigned modal handles photo viewing; keep the legacy Blueimp overlay
   out of the redesigned listing experience even though its widget stays loaded. */
body.tgdg-redesign-page .tgdg-listing-detail-page ~ .blueimp-gallery,
body.tgdg-redesign-page .blueimp-gallery {
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-photo-modal {
        padding: 8px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-dialog {
        width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-header {
        min-height: 58px !important;
        padding: 9px 10px 9px 14px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-title {
        font-size: 17px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-stage {
        grid-template-columns: 46px minmax(0, 1fr) 46px !important;
        min-height: 260px !important;
        height: 58dvh !important;
        padding: 10px 0 !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-nav {
        width: 36px !important;
        height: 36px !important;
        font-size: 31px !important;
        line-height: 31px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-thumb {
        flex-basis: 68px !important;
        width: 68px !important;
        height: 52px !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-photo-modal-header > div {
        gap: 8px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-title {
        max-width: 58vw !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-count {
        font-size: 12px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-close {
        flex-basis: 38px !important;
        width: 38px !important;
        height: 38px !important;
        font-size: 27px !important;
        line-height: 36px !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-stage {
        height: 54dvh !important;
    }
}

/* RH/AI 09/10/2026: keep gallery image inside the stage so it never overlaps thumbnails. */
body.tgdg-redesign-page .tgdg-photo-modal-stage {
    overflow: hidden !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-image {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    justify-self: center !important;
    align-self: center !important;
}


/* RH/AI 09/10/2026: desktop modal rows + shorter mobile listing detail flow. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-photo-modal-dialog {
        height: min(850px, calc(100dvh - 48px)) !important;
        max-height: none !important;
        grid-template-rows: auto minmax(0, 1fr) 88px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-stage {
        min-height: 0 !important;
        height: 100% !important;
        max-height: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-image {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }

    body.tgdg-redesign-page .tgdg-photo-modal-thumbs {
        min-height: 88px !important;
        height: 88px !important;
        max-height: 88px !important;
        box-sizing: border-box !important;
    }
}

body.tgdg-redesign-page .tgdg-mobile-features-toggle,
body.tgdg-redesign-page .tgdg-mobile-video-toggle {
    display: none;
}

@media (max-width: 820px) {
    /* Keep the useful filter summary compact on phones. */
    body.tgdg-redesign-page .tgdg-listing-filter-features.tgdg-mobile-features-collapsed .tgdg-listing-filter-chips .tgdg-result-filter-chip:nth-child(n+7) {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-features-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 34px !important;
        margin: 8px 0 0 !important;
        padding: 0 11px !important;
        color: var(--tgdg-red-dark) !important;
        background: #fff8ec !important;
        border: 1px solid #ead8b9 !important;
        border-radius: 999px !important;
        font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
    }

    /* The listing builder's saved image rows keep rotating, but phones show
       one image at a time rather than 2-4 images squeezed into the column. */
    body.tgdg-redesign-page .tgdg-listing-profile-card .gdg-image-rotator .gdg-rotator-stage {
        width: 100% !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .gdg-image-rotator .gdg-rotator-slot {
        width: min(94%, 520px) !important;
        max-width: min(94%, 520px) !important;
        height: 190px !important;
        margin: 6px auto !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .gdg-image-rotator .gdg-rotator-layer {
        width: 100% !important;
        height: 100% !important;
        background-size: contain !important;
    }

    /* After the listing description, mobile reads: Special Offers, Location Map,
       Videos, then Reviews. The sidebar is moved between profile and reviews by JS. */
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 16px !important;
        background: #fffaf2 !important;
        border-top: 1px solid #eee2d2 !important;
        border-bottom: 1px solid #eee2d2 !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > h2,
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .sidebar-content {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .sidebar-content {
        margin-bottom: 14px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar iframe,
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar img {
        max-width: 100% !important;
    }

    /* Reorder the generated sidebar sections on phones without disturbing
       their desktop order. Heading/content pairs share the same order. */
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-offers-item {
        order: 10;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-map-item {
        order: 20;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-video-toggle {
        order: 30;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-video-item {
        order: 40;
    }

    /* Collapse all video embeds behind one compact control on mobile. */
    body.tgdg-redesign-page .tgdg-mobile-video-toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 42px !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 6px 0 2px !important;
        padding: 0 13px !important;
        color: var(--tgdg-ink) !important;
        background: #fff !important;
        border: 1px solid #e3d9ca !important;
        border-radius: 10px !important;
        font-family: var(--tgdg-display) !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-video-toggle::after {
        content: "+";
        color: var(--tgdg-red) !important;
        font-family: Inter, system-ui, sans-serif !important;
        font-size: 20px !important;
        font-weight: 800 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-sidebar:not(.tgdg-mobile-videos-collapsed) .tgdg-mobile-video-toggle::after {
        content: "−";
    }

    body.tgdg-redesign-page .tgdg-listing-detail-sidebar.tgdg-mobile-videos-collapsed .tgdg-mobile-video-item {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-video-heading {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-video-content {
        margin-top: 10px !important;
    }

    /* RH/AI 29/10/2026: real-phone listing videos stay visible and responsive.
       The embed is no longer collapsed by listing.php, so size the player to the
       available mobile card width without changing the desktop presentation. */
    body.tgdg-redesign-page .tgdg-mobile-video-content iframe {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
        margin: 0 !important;
        border: 0 !important;
    }

    /* Keep Add a Review in the Reviews header instead of allowing legacy
       positioning to sit over the first review. */
    body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box {
        min-height: 0 !important;
        height: auto !important;
        padding: 10px 12px !important;
        overflow: visible !important;
    }

    body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box h2 {
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-direction: row !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        float: none !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a {
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .gdg-image-rotator .gdg-rotator-slot {
        height: 160px !important;
    }
}


/* RH/AI 09/10/2026: mobile description image rows.
   The source [IMAGE_ROW_n] rotator keeps its generated stage, so hide its
   original source IMG tags once ready. Manual image-only paragraphs with 2+
   images become a one-photo swipe/auto-advance strip on phones only. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator.gdg-rotator-ready .gdg-image-rotator-item {
    display: none !important;
}

@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-mobile-inline-image-carousel {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 14px 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-mobile-inline-image-carousel::-webkit-scrollbar {
        display: none;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-mobile-inline-image-carousel > img.tgdg-mobile-inline-carousel-image {
        display: block !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 240px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }
}

/* RH/AI 09/10/2026: preserve WYSIWYG alignment for mobile manual image rows. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-mobile-inline-image-carousel.tgdg-mobile-image-align-left > img.tgdg-mobile-inline-carousel-image {
        object-position: left center !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-mobile-inline-image-carousel.tgdg-mobile-image-align-center > img.tgdg-mobile-inline-carousel-image {
        object-position: center center !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .description p.tgdg-mobile-inline-image-carousel.tgdg-mobile-image-align-right > img.tgdg-mobile-inline-carousel-image {
        object-position: right center !important;
    }
}

/* RH/AI 10/10/2026: tablet directory strips should use the desktop-style action row.
   Android tablets are still classified as mobile server-side, so flatten the legacy
   two-table mobile footer into one responsive row without changing phone layouts. */
@media (min-width: 681px) and (max-width: 1600px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 9px 14px 10px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody > tr,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody > tr > td {
        display: contents !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.listing-detail-link) {
        order: 1;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.outbound_links) {
        order: 2;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.email_us_button) {
        order: 3;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(a[href*="/call_mobile"]) {
        order: 4;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons {
        order: 20;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 4px !important;
        margin: 0 0 0 auto !important;
    }

    /* Tablets are reported as mobile by the old server-side detector, which injects
       mobile banners between listings. Keep those inline banners for phones only;
       the normal right-hand banner rail remains untouched. */
    body.tgdg-redesign-page #listings-content > a[href*="bid="],
    body.tgdg-redesign-page #listings-content > *:has(a[href*="bid="]) {
        display: none !important;
    }
}

/* RH/AI 11/10/2026: separate advertiser Highlights from green Features & Facilities.
   Bullet copy is now plain text with a small red check instead of cream filter-like pills. */
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets::before {
    content: "Highlights";
    display: block;
    margin: 0 0 8px;
    color: #697386;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .045em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 24px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet) {
    position: relative;
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1px 0 1px 20px !important;
    color: #354052 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet)::before {
    content: "\f00c" !important;
    position: absolute;
    top: 3px;
    left: 0;
    display: inline-block !important;
    color: var(--tgdg-red) !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 10px;
    font-weight: 900 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets::before {
    content: "Highlights";
    display: block;
    margin: 0 0 6px;
    color: #697386;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 20px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li {
    position: relative;
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1px 0 1px 18px !important;
    color: #354052 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li::before {
    content: "\f00c" !important;
    position: absolute;
    top: 3px;
    left: 0;
    display: inline-block !important;
    color: var(--tgdg-red) !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 9px;
    font-weight: 900 !important;
}

/* National-category filter header: use the same warm cream/red treatment as the
   other redesigned directory filters instead of the remaining legacy blue strip. */
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-filter-shell .d_filters_hide,
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-refine-heading {
    color: var(--tgdg-ink) !important;
    background: linear-gradient(135deg, #fff1d8 0%, #fff8eb 100%) !important;
    border-bottom-color: #ecd9bb !important;
}

body.tgdg-redesign-page .tgdg-national-category-page .tgdg-refine-heading h2 {
    color: var(--tgdg-ink) !important;
    background: transparent !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets ul,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
        grid-template-columns: 1fr;
    }
}

/* RH/AI 11/10/2026: standardise advertiser Highlights as simple black-dot lists.
   Keep these visually distinct from the green searchable Features & Facilities chips. */
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets {
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets::before {
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets ul,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
    justify-items: start;
    align-items: start;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet),
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li {
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(n)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(n)::before {
    content: "" !important;
    display: block !important;
    top: .58em !important;
    left: 3px !important;
    width: 5px !important;
    height: 5px !important;
    background: #1d2430 !important;
    border: 0 !important;
    border-radius: 50% !important;
    transform: none !important;
    font-size: 0 !important;
}

/* RH/AI 11/10/2026: align bullet dots with their text and show up to six public bullet points. */
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet),
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li {
    display: grid !important;
    grid-template-columns: 5px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    padding-left: 0 !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(n)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(n)::before {
    position: static !important;
    width: 5px !important;
    height: 5px !important;
    align-self: start;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:not(.no-bullet)::before {
    margin-top: 6px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(n)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(n)::before {
    margin-top: 5px !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets li:nth-child(n+7),
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li:nth-child(n+7),
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li:nth-child(n+7) {
    display: none !important;
}


/* RH/AI 11/10/2026: give right-hand advert banners the same raised card feel as the rest of the redesign. */
body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > * {
    display: block;
    margin: 0 0 14px;
    padding: 4px;
    background: #fff;
    border: 1px solid #eadcc4;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(23,32,50,.08), 0 2px 6px rgba(23,32,50,.05);
    transition: transform .18s ease, box-shadow .18s ease;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *:last-child,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > *:last-child {
    margin-bottom: 0;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *:hover,
body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *:focus-within,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > *:hover,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > *:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(23,32,50,.11), 0 4px 10px rgba(23,32,50,.06);
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners img,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners img {
    border-radius: 12px !important;
}

/* RH/AI 11/10/2026: remove Highlights labels and keep sidebar banners full-width with square edges. */
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets::before {
    content: none !important;
    display: none !important;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > * {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners img,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners img {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #eadcc4;
    border-radius: 0 !important;
    box-shadow: 0 10px 24px rgba(23,32,50,.08), 0 2px 6px rgba(23,32,50,.05);
    transition: transform .18s ease, box-shadow .18s ease;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *:hover img,
body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *:focus-within img,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > *:hover img,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > *:focus-within img {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(23,32,50,.11), 0 4px 10px rgba(23,32,50,.06);
}


/* RH/AI 11/10/2026: make search category groupings clearer and less flat. */
.tgdg-directory-search .search-category-group {
    margin: 8px 5px 4px;
    padding: 9px 10px 8px;
    color: var(--tgdg-red-dark);
    background: #fff4e7;
    border: 1px solid #f1dfbd;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.tgdg-directory-search .search-category-group:first-child {
    margin-top: 2px;
}

.tgdg-directory-search .search-suggestion {
    padding: 11px 12px;
    font-size: 16px;
    line-height: 1.32;
}

.tgdg-directory-search .search-category-group + .search-suggestion {
    margin-top: 2px;
}



/* RH/AI 11/10/2026: remove legacy blue More/loading bar from redesigned listing pages. */
body.tgdg-redesign-page .morebox {
    float: none !important;
    clear: both;
    width: 100% !important;
    height: auto !important;
    min-height: 28px;
    margin: 14px 0 !important;
    padding: 4px 0 !important;
    color: var(--tgdg-muted, #687386);
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

body.tgdg-redesign-page .morebox a.more {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-height: 34px;
    padding: 0 14px;
    color: var(--tgdg-red-dark, #8e1a22) !important;
    background: #fff !important;
    border: 1px solid #efc7ce;
    border-radius: 999px;
    text-decoration: none !important;
}

body.tgdg-redesign-page .morebox a.more:hover,
body.tgdg-redesign-page .morebox a.more:focus-visible {
    color: #fff !important;
    background: var(--tgdg-red, #8e1a22) !important;
    border-color: var(--tgdg-red, #8e1a22);
}

body.tgdg-redesign-page .morebox img {
    display: inline-block;
    width: 24px;
    height: auto;
    margin: 0;
    vertical-align: middle;
}

/* RH/AI 11/10/2026: redesigned 404 page - lightweight, branded and useful. */
body.tgdg-redesign-page .tgdg-404-page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 64px 0 88px;
}

body.tgdg-redesign-page .tgdg-404-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--tgdg-line, #e8dfd2);
    border-radius: 30px;
    box-shadow: 0 22px 55px rgba(23, 32, 50, .09);
}

body.tgdg-redesign-page .tgdg-404-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    min-height: 540px;
}

body.tgdg-redesign-page .tgdg-404-copy {
    position: relative;
    z-index: 2;
    padding: clamp(42px, 6vw, 72px);
}

body.tgdg-redesign-page .tgdg-404-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin: 0 0 20px;
    padding: 0 13px;
    color: var(--tgdg-red-dark, #8e1a22);
    background: #fff5f7;
    border: 1px solid #f3cbd2;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-404-copy h1 {
    max-width: 650px;
    margin: 0;
    color: var(--tgdg-ink, #172032);
    font-family: var(--tgdg-display, "Fredoka", sans-serif);
    font-size: clamp(46px, 6vw, 76px);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.045em;
}

body.tgdg-redesign-page .tgdg-404-lead {
    max-width: 650px;
    margin: 25px 0 0;
    color: #465167;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.5;
}

body.tgdg-redesign-page .tgdg-404-path {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    max-width: 650px;
    margin-top: 24px;
    padding: 12px 14px;
    background: var(--tgdg-cream, #fff7e9);
    border: 1px dashed #e2cda8;
    border-radius: 13px;
    color: #697285;
    font-size: 13px;
}

body.tgdg-redesign-page .tgdg-404-path span {
    flex: 0 0 auto;
    font-weight: 850;
}

body.tgdg-redesign-page .tgdg-404-path code {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--tgdg-ink, #172032);
    background: transparent;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
}

body.tgdg-redesign-page .tgdg-404-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
}

body.tgdg-redesign-page .tgdg-404-primary,
body.tgdg-redesign-page .tgdg-404-secondary,
body.tgdg-redesign-page .tgdg-404-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 17px;
    border-radius: 12px;
    font: inherit;
    font-weight: 900;
    text-decoration: none !important;
    cursor: pointer;
}

body.tgdg-redesign-page .tgdg-404-primary {
    color: #fff !important;
    background: var(--tgdg-red, #8e1a22);
    border: 1px solid var(--tgdg-red, #8e1a22);
    box-shadow: 0 9px 20px rgba(142,26,34,.18);
}

body.tgdg-redesign-page .tgdg-404-primary:hover,
body.tgdg-redesign-page .tgdg-404-primary:focus-visible {
    background: var(--tgdg-red-dark, #8e1a22);
    border-color: var(--tgdg-red-dark, #8e1a22);
}

body.tgdg-redesign-page .tgdg-404-secondary,
body.tgdg-redesign-page .tgdg-404-back {
    color: var(--tgdg-ink, #172032) !important;
    background: #fff;
    border: 1px solid #dbe1e8;
}

body.tgdg-redesign-page .tgdg-404-back {
    min-height: 40px;
    padding: 0 10px;
    color: #697285 !important;
    border-color: transparent;
    background: transparent;
    font-size: 13px;
}

body.tgdg-redesign-page .tgdg-404-secondary:hover,
body.tgdg-redesign-page .tgdg-404-secondary:focus-visible {
    border-color: #b9c2cf;
    box-shadow: 0 7px 16px rgba(23, 32, 50, .07);
}

body.tgdg-redesign-page .tgdg-404-trails {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
}

body.tgdg-redesign-page .tgdg-404-trails > span {
    width: 100%;
    margin-bottom: 2px;
    color: #697285;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-404-trails a {
    padding: 7px 10px;
    color: var(--tgdg-ink, #172032);
    background: #fffaf1;
    border: 1px solid #ecd9b8;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

body.tgdg-redesign-page .tgdg-404-trails a:hover,
body.tgdg-redesign-page .tgdg-404-trails a:focus-visible {
    color: var(--tgdg-red-dark, #8e1a22);
    border-color: #e9b6c0;
    background: #fff6f8;
}

body.tgdg-redesign-page .tgdg-404-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 540px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.95) 0 58px, transparent 59px),
        radial-gradient(circle at 82% 22%, rgba(255,247,233,.85) 0 72px, transparent 73px),
        linear-gradient(145deg, #f1fbfd 0%, #e6f5f8 52%, #fff7e9 100%);
    border-left: 1px solid #dcecf0;
}

body.tgdg-redesign-page .tgdg-404-visual::after {
    content: "";
    position: absolute;
    width: 72%;
    height: 120px;
    right: -16%;
    bottom: 70px;
    border-top: 3px dashed rgba(142,26,34,.32);
    border-radius: 50%;
    transform: rotate(-8deg);
}

body.tgdg-redesign-page .tgdg-404-number {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transform: translateY(-26px);
}

body.tgdg-redesign-page .tgdg-404-four {
    color: var(--tgdg-ink, #172032);
    font-family: var(--tgdg-display, "Fredoka", sans-serif);
    font-size: clamp(98px, 10vw, 156px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.08em;
}

body.tgdg-redesign-page .tgdg-404-logo-zero {
    display: grid;
    place-items: center;
    width: clamp(112px, 12vw, 158px);
    height: clamp(112px, 12vw, 158px);
    overflow: hidden;
    background: #fff;
    border: 8px solid #fff;
    border-radius: 50%;
    box-shadow: 0 16px 32px rgba(23, 32, 50, .13);
}

body.tgdg-redesign-page .tgdg-404-logo-zero img {
    display: block;
    width: 88%;
    height: 88%;
    object-fit: contain;
}

body.tgdg-redesign-page .tgdg-404-paw {
    position: absolute;
    z-index: 1;
    width: 44px;
    color: rgba(199, 15, 47, .21);
    fill: currentColor;
}

body.tgdg-redesign-page .tgdg-404-paw-one {
    left: 13%;
    bottom: 34%;
    transform: rotate(-22deg);
    animation: tgdg404Paw 2.8s ease-in-out infinite;
}

body.tgdg-redesign-page .tgdg-404-paw-two {
    left: 30%;
    bottom: 20%;
    transform: rotate(8deg);
    animation: tgdg404Paw 2.8s .5s ease-in-out infinite;
}

body.tgdg-redesign-page .tgdg-404-paw-three {
    left: 50%;
    bottom: 10%;
    transform: rotate(26deg);
    animation: tgdg404Paw 2.8s 1s ease-in-out infinite;
}

@keyframes tgdg404Paw {
    0%, 100% { opacity: .45; translate: 0 0; }
    50% { opacity: 1; translate: 0 -5px; }
}

body.tgdg-redesign-page .tgdg-404-wisdom {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 38px;
    width: min(82%, 390px);
    padding: 15px 17px;
    transform: translateX(-50%);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(23,32,50,.09);
    border-radius: 15px;
    box-shadow: 0 12px 28px rgba(23,32,50,.09);
    backdrop-filter: blur(8px);
    text-align: center;
}

body.tgdg-redesign-page .tgdg-404-wisdom span {
    display: block;
    margin-bottom: 4px;
    color: var(--tgdg-red-dark, #8e1a22);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-404-wisdom strong {
    color: var(--tgdg-ink, #172032);
    font-size: 14px;
    line-height: 1.35;
}

@media (max-width: 860px) {
    body.tgdg-redesign-page .tgdg-404-page {
        width: min(100% - 24px, 720px);
        padding: 28px 0 58px;
    }
    body.tgdg-redesign-page .tgdg-404-grid {
        grid-template-columns: 1fr;
    }
    body.tgdg-redesign-page .tgdg-404-visual {
        min-height: 390px;
        border-top: 1px solid #dcecf0;
        border-left: 0;
    }
    body.tgdg-redesign-page .tgdg-404-number {
        transform: translateY(-20px);
    }
}

@media (max-width: 560px) {
    body.tgdg-redesign-page .tgdg-404-card {
        border-radius: 22px;
    }
    body.tgdg-redesign-page .tgdg-404-copy {
        padding: 34px 24px 30px;
    }
    body.tgdg-redesign-page .tgdg-404-actions {
        align-items: stretch;
        flex-direction: column;
    }
    body.tgdg-redesign-page .tgdg-404-primary,
    body.tgdg-redesign-page .tgdg-404-secondary {
        width: 100%;
    }
    body.tgdg-redesign-page .tgdg-404-back {
        align-self: center;
    }
    body.tgdg-redesign-page .tgdg-404-visual {
        min-height: 330px;
    }
    body.tgdg-redesign-page .tgdg-404-wisdom {
        bottom: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tgdg-redesign-page .tgdg-404-paw {
        animation: none !important;
    }
}


/* RH/AI 11/10/2026: one shared visual system for every redesigned public-site popup.
   The underlying popup JS/markup remains unchanged; this final override is the single
   visual source of truth for Bootstrap modals, account popups, listing tools and DogBot. */
body.tgdg-redesign-page {
    --tgdg-popup-surface: #fffdf9;
    --tgdg-popup-header: linear-gradient(135deg, #fff0d7 0%, #fff9ef 100%);
    --tgdg-popup-line: #eadcc6;
    --tgdg-popup-field-line: #dcc9aa;
    --tgdg-popup-shadow: 0 24px 70px rgba(23, 32, 50, .24);
    --tgdg-popup-backdrop: rgba(23, 32, 50, .56);
    --tgdg-popup-radius: 22px;
}

/* One backdrop treatment, regardless of which older popup implementation is underneath. */
body.tgdg-redesign-page .modal-backdrop,
body.tgdg-redesign-page #confirmationBoxFavourite + .modal-backdrop,
body.tgdg-redesign-page #responseModal + .modal-backdrop,
body.tgdg-redesign-page .gdg-modal-fallback-backdrop,
body.tgdg-redesign-page #gdg-change-email-modal-backdrop,
body.tgdg-redesign-page #gdg-change-name-modal-backdrop,
body.tgdg-redesign-page #gdg-password-reset-modal-backdrop,
body.tgdg-redesign-page #gdg-account-contact-modal-backdrop,
body.tgdg-redesign-page #gdg-trial-popup-backdrop,
body.tgdg-redesign-page #gdg-trial-popup-plain-backdrop,
body.tgdg-redesign-page #gdg-upgrade-modal-backdrop,
body.tgdg-redesign-page #gdg-deletion-modal-backdrop,
body.tgdg-redesign-page #gdg-faq-contact-modal-backdrop,
body.tgdg-redesign-page #gdg-help-modal-backdrop,
body.tgdg-redesign-page .gdg-preview-modal-backdrop,
body.tgdg-redesign-page .gdg-public-image-backdrop,
body.tgdg-redesign-page .tgdg-photo-modal-backdrop,
body.tgdg-redesign-page #gdg-dogbot-modal-overlay {
    background: var(--tgdg-popup-backdrop) !important;
    opacity: 1 !important;
}

/* Shared card shell for the standalone (non-Bootstrap) popups. */
body.tgdg-redesign-page #gdg-change-email-modal,
body.tgdg-redesign-page #gdg-change-name-modal,
body.tgdg-redesign-page #gdg-password-reset-modal,
body.tgdg-redesign-page #gdg-account-contact-modal,
body.tgdg-redesign-page #gdg-trial-popup,
body.tgdg-redesign-page #gdg-trial-popup-plain,
body.tgdg-redesign-page #gdg-upgrade-modal,
body.tgdg-redesign-page #gdg-deletion-modal,
body.tgdg-redesign-page #gdg-faq-contact-modal,
body.tgdg-redesign-page #gdg-help-modal {
    width: min(92%, 520px) !important;
    max-width: 520px !important;
    max-height: 90vh !important;
    padding: 24px 28px 26px !important;
    overflow: auto !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-popup-surface) !important;
    border: 1px solid var(--tgdg-popup-line) !important;
    border-radius: var(--tgdg-popup-radius) !important;
    box-shadow: var(--tgdg-popup-shadow) !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    text-align: left !important;
}

body.tgdg-redesign-page #gdg-account-contact-modal,
body.tgdg-redesign-page #gdg-faq-contact-modal,
body.tgdg-redesign-page #gdg-deletion-modal {
    max-width: 560px !important;
}

body.tgdg-redesign-page #gdg-help-modal {
    max-width: 680px !important;
}

/* The H3 doubles as the header bar on older standalone popups. */
body.tgdg-redesign-page #gdg-change-email-modal > h3,
body.tgdg-redesign-page #gdg-change-name-modal > h3,
body.tgdg-redesign-page #gdg-password-reset-modal > h3,
body.tgdg-redesign-page #gdg-account-contact-modal > h3,
body.tgdg-redesign-page #gdg-trial-popup > h3,
body.tgdg-redesign-page #gdg-trial-popup-plain > h3,
body.tgdg-redesign-page #gdg-upgrade-modal > h3,
body.tgdg-redesign-page #gdg-deletion-modal > h3,
body.tgdg-redesign-page #gdg-faq-contact-modal > h3,
body.tgdg-redesign-page #gdg-help-modal > h3 {
    margin: -24px -28px 20px !important;
    padding: 20px 58px 18px 24px !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-popup-header) !important;
    border-bottom: 1px solid var(--tgdg-popup-line) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

/* One close-button treatment. */
body.tgdg-redesign-page #gdg-change-email-modal-close,
body.tgdg-redesign-page #gdg-change-name-modal-close,
body.tgdg-redesign-page #gdg-password-reset-modal-close,
body.tgdg-redesign-page #gdg-account-contact-modal-close,
body.tgdg-redesign-page #gdg-trial-popup-close,
body.tgdg-redesign-page #gdg-trial-popup-plain-close,
body.tgdg-redesign-page #gdg-upgrade-modal-close,
body.tgdg-redesign-page #gdg-deletion-modal-close,
body.tgdg-redesign-page #gdg-faq-contact-modal-close,
body.tgdg-redesign-page #gdg-help-modal-close,
body.tgdg-redesign-page .modal-header .close,
body.tgdg-redesign-page .gdg-preview-modal-header .gdg-preview-modal-close,
body.tgdg-redesign-page .gdg-public-image-header .gdg-public-image-close,
body.tgdg-redesign-page .tgdg-photo-modal-close {
    position: absolute !important;
    top: 15px !important;
    right: 16px !important;
    display: inline-flex !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #8e1a22 !important;
    background: #fff !important;
    border: 1px solid #ecd7b7 !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
}

body.tgdg-redesign-page #gdg-change-email-modal-close:hover,
body.tgdg-redesign-page #gdg-change-name-modal-close:hover,
body.tgdg-redesign-page #gdg-password-reset-modal-close:hover,
body.tgdg-redesign-page #gdg-account-contact-modal-close:hover,
body.tgdg-redesign-page #gdg-trial-popup-close:hover,
body.tgdg-redesign-page #gdg-trial-popup-plain-close:hover,
body.tgdg-redesign-page #gdg-upgrade-modal-close:hover,
body.tgdg-redesign-page #gdg-deletion-modal-close:hover,
body.tgdg-redesign-page #gdg-faq-contact-modal-close:hover,
body.tgdg-redesign-page #gdg-help-modal-close:hover,
body.tgdg-redesign-page .modal-header .close:hover,
body.tgdg-redesign-page .gdg-preview-modal-header .gdg-preview-modal-close:hover,
body.tgdg-redesign-page .gdg-public-image-header .gdg-public-image-close:hover,
body.tgdg-redesign-page .tgdg-photo-modal-close:hover,
body.tgdg-redesign-page .modal-header .close:focus,
body.tgdg-redesign-page .gdg-preview-modal-header .gdg-preview-modal-close:focus,
body.tgdg-redesign-page .gdg-public-image-header .gdg-public-image-close:focus,
body.tgdg-redesign-page .tgdg-photo-modal-close:focus {
    color: #fff !important;
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    outline: 0 !important;
}

/* Bootstrap/Yii modals use the same card/header/body/footer proportions. */
body.tgdg-redesign-page #contact-us-modal .modal-dialog,
body.tgdg-redesign-page #add-review-modal .modal-dialog,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-dialog,
body.tgdg-redesign-page #responseModal .modal-dialog,
body.tgdg-redesign-page #confirmDeleteModal .modal-dialog {
    width: min(620px, calc(100% - 32px)) !important;
    max-width: 620px !important;
    margin: 6vh auto 24px !important;
}

body.tgdg-redesign-page #responseModal .modal-dialog,
body.tgdg-redesign-page #confirmDeleteModal .modal-dialog {
    max-width: 520px !important;
}

body.tgdg-redesign-page #modal .modal-dialog {
    width: min(980px, calc(100% - 32px)) !important;
    max-width: 980px !important;
    margin: 4vh auto 24px !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-content,
body.tgdg-redesign-page #add-review-modal .modal-content,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-content,
body.tgdg-redesign-page #responseModal .modal-content,
body.tgdg-redesign-page #confirmDeleteModal .modal-content,
body.tgdg-redesign-page #modal .modal-content {
    position: relative !important;
    width: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-popup-surface) !important;
    border: 1px solid var(--tgdg-popup-line) !important;
    border-radius: var(--tgdg-popup-radius) !important;
    box-shadow: var(--tgdg-popup-shadow) !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-header,
body.tgdg-redesign-page #add-review-modal .modal-header,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-header,
body.tgdg-redesign-page #responseModal .modal-header,
body.tgdg-redesign-page #confirmDeleteModal .modal-header,
body.tgdg-redesign-page #modal .modal-header {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 20px 58px 18px 24px !important;
    background: var(--tgdg-popup-header) !important;
    border-bottom: 1px solid var(--tgdg-popup-line) !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-header h3,
body.tgdg-redesign-page #contact-us-modal .modal-header h4,
body.tgdg-redesign-page #add-review-modal .modal-header h3,
body.tgdg-redesign-page #add-review-modal .modal-header h4,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-title,
body.tgdg-redesign-page #responseModal .modal-title,
body.tgdg-redesign-page #confirmDeleteModal .modal-title,
body.tgdg-redesign-page #modal .modal-header h2,
body.tgdg-redesign-page #modal .modal-header h3,
body.tgdg-redesign-page #modal .modal-header h4 {
    margin: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-body,
body.tgdg-redesign-page #add-review-modal .modal-body,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-body,
body.tgdg-redesign-page #responseModal .modal-body,
body.tgdg-redesign-page #confirmDeleteModal .modal-body,
body.tgdg-redesign-page #modal .modal-body {
    padding: 22px 24px 24px !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-popup-surface) !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-footer,
body.tgdg-redesign-page #add-review-modal .modal-footer,
body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer,
body.tgdg-redesign-page #responseModal .modal-footer,
body.tgdg-redesign-page #confirmDeleteModal .modal-footer,
body.tgdg-redesign-page #modal .modal-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 16px 24px 22px !important;
    background: var(--tgdg-popup-surface) !important;
    border-top: 1px solid var(--tgdg-popup-line) !important;
    text-align: right !important;
}

/* Shared fields across Bootstrap forms and older hand-built account/contact popups. */
body.tgdg-redesign-page #contact-us-modal .form-control,
body.tgdg-redesign-page #add-review-modal .form-control,
body.tgdg-redesign-page #gdg-change-email-modal input,
body.tgdg-redesign-page #gdg-change-name-modal input,
body.tgdg-redesign-page #gdg-account-contact-modal input,
body.tgdg-redesign-page #gdg-account-contact-modal textarea,
body.tgdg-redesign-page #gdg-faq-contact-modal input,
body.tgdg-redesign-page #gdg-faq-contact-modal textarea,
body.tgdg-redesign-page #gdg-upgrade-modal textarea,
body.tgdg-redesign-page #gdg-deletion-modal textarea,
body.tgdg-redesign-page #gdg-public-image-modal .form-control {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-popup-field-line) !important;
    border-radius: 11px !important;
    box-shadow: inset 0 1px 2px rgba(52, 37, 19, .04) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

body.tgdg-redesign-page #contact-us-modal textarea.form-control,
body.tgdg-redesign-page #add-review-modal textarea.form-control,
body.tgdg-redesign-page #gdg-account-contact-modal textarea,
body.tgdg-redesign-page #gdg-faq-contact-modal textarea,
body.tgdg-redesign-page #gdg-upgrade-modal textarea,
body.tgdg-redesign-page #gdg-deletion-modal textarea {
    min-height: 125px !important;
    resize: vertical !important;
}

body.tgdg-redesign-page #contact-us-modal .form-control:focus,
body.tgdg-redesign-page #add-review-modal .form-control:focus,
body.tgdg-redesign-page #gdg-change-email-modal input:focus,
body.tgdg-redesign-page #gdg-change-name-modal input:focus,
body.tgdg-redesign-page #gdg-account-contact-modal input:focus,
body.tgdg-redesign-page #gdg-account-contact-modal textarea:focus,
body.tgdg-redesign-page #gdg-faq-contact-modal input:focus,
body.tgdg-redesign-page #gdg-faq-contact-modal textarea:focus,
body.tgdg-redesign-page #gdg-upgrade-modal textarea:focus,
body.tgdg-redesign-page #gdg-deletion-modal textarea:focus,
body.tgdg-redesign-page #gdg-public-image-modal .form-control:focus {
    border-color: rgba(142,26,34,.55) !important;
    box-shadow: 0 0 0 3px rgba(142,26,34,.09) !important;
    outline: 0 !important;
}

body.tgdg-redesign-page #contact-us-modal label,
body.tgdg-redesign-page #add-review-modal label,
body.tgdg-redesign-page #gdg-public-image-modal label,
body.tgdg-redesign-page #gdg-public-offers-modal label,
body.tgdg-redesign-page #gdg-public-gallery-manager-modal label {
    color: var(--tgdg-ink) !important;
}

/* Large/specialist dialogs keep their useful width, but use the identical shell. */
body.tgdg-redesign-page .gdg-preview-modal-dialog,
body.tgdg-redesign-page .gdg-public-image-dialog,
body.tgdg-redesign-page #gdg-dogbot-modal,
body.tgdg-redesign-page .tgdg-photo-modal-dialog {
    overflow: hidden !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-popup-surface) !important;
    border: 1px solid var(--tgdg-popup-line) !important;
    border-radius: var(--tgdg-popup-radius) !important;
    box-shadow: var(--tgdg-popup-shadow) !important;
}

body.tgdg-redesign-page .gdg-preview-modal-header,
body.tgdg-redesign-page .gdg-public-image-header,
body.tgdg-redesign-page #gdg-dogbot-modal-header,
body.tgdg-redesign-page .tgdg-photo-modal-header {
    position: relative !important;
    padding: 20px 58px 18px 24px !important;
    color: var(--tgdg-ink) !important;
    background: var(--tgdg-popup-header) !important;
    border-bottom: 1px solid var(--tgdg-popup-line) !important;
    text-shadow: none !important;
}

body.tgdg-redesign-page .gdg-preview-modal-header h2,
body.tgdg-redesign-page .gdg-public-image-header h2,
body.tgdg-redesign-page #gdg-dogbot-modal-title,
body.tgdg-redesign-page .tgdg-photo-modal-title {
    margin: 0 !important;
    color: var(--tgdg-ink) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-shadow: none !important;
}

body.tgdg-redesign-page .gdg-preview-modal-header p,
body.tgdg-redesign-page .tgdg-photo-modal-count {
    margin: 5px 0 0 !important;
    color: var(--tgdg-muted) !important;
}

body.tgdg-redesign-page #gdg-dogbot-modal-body,
body.tgdg-redesign-page .gdg-public-image-body {
    background: var(--tgdg-popup-surface) !important;
}

body.tgdg-redesign-page #gdg-dogbot-modal-footer-working,
body.tgdg-redesign-page #gdg-dogbot-modal-footer,
body.tgdg-redesign-page .gdg-preview-modal-footer,
body.tgdg-redesign-page .gdg-public-image-footer {
    background: var(--tgdg-popup-surface) !important;
    border-top: 1px solid var(--tgdg-popup-line) !important;
}

/* Shared modal buttons. Special package-choice links keep their package colours. */
body.tgdg-redesign-page #contact-us-modal .btn-primary,
body.tgdg-redesign-page #add-review-modal .btn-primary,
body.tgdg-redesign-page #responseModal .btn,
body.tgdg-redesign-page #confirmDeleteModal .btn:first-child,
body.tgdg-redesign-page #gdg-change-email-submit,
body.tgdg-redesign-page #gdg-change-name-submit,
body.tgdg-redesign-page #gdg-password-reset-submit,
body.tgdg-redesign-page #gdg-account-contact-submit,
body.tgdg-redesign-page #gdg-faq-contact-submit,
body.tgdg-redesign-page #gdg-upgrade-request-submit,
body.tgdg-redesign-page #gdg-deletion-submit,
body.tgdg-redesign-page #gdg-trial-popup .gdg-trial-popup-yes,
body.tgdg-redesign-page #gdg-trial-popup-staff-build-open,
body.tgdg-redesign-page #gdg-trial-popup-plain a[href*="try_it=1"],
body.tgdg-redesign-page .gdg-preview-modal-footer .btn-primary,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-primary,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-success,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-info,
body.tgdg-redesign-page #gdg-dogbot-modal-retry,
body.tgdg-redesign-page #gdg-dogbot-modal-stop {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 18px !important;
    color: #fff !important;
    background: #8e1a22 !important;
    border: 1px solid #8e1a22 !important;
    border-radius: 11px !important;
    box-shadow: 0 8px 18px rgba(142, 26, 34, .18) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

body.tgdg-redesign-page #contact-us-modal .btn-primary:hover,
body.tgdg-redesign-page #add-review-modal .btn-primary:hover,
body.tgdg-redesign-page #responseModal .btn:hover,
body.tgdg-redesign-page #gdg-change-email-submit:hover,
body.tgdg-redesign-page #gdg-change-name-submit:hover,
body.tgdg-redesign-page #gdg-password-reset-submit:hover,
body.tgdg-redesign-page #gdg-account-contact-submit:hover,
body.tgdg-redesign-page #gdg-faq-contact-submit:hover,
body.tgdg-redesign-page #gdg-upgrade-request-submit:hover,
body.tgdg-redesign-page #gdg-deletion-submit:hover,
body.tgdg-redesign-page #gdg-trial-popup .gdg-trial-popup-yes:hover,
body.tgdg-redesign-page #gdg-trial-popup-staff-build-open:hover,
body.tgdg-redesign-page #gdg-trial-popup-plain a[href*="try_it=1"]:hover,
body.tgdg-redesign-page .gdg-preview-modal-footer .btn-primary:hover,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-primary:hover,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-success:hover,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-info:hover,
body.tgdg-redesign-page #gdg-dogbot-modal-retry:hover,
body.tgdg-redesign-page #gdg-dogbot-modal-stop:hover {
    background: #70131b !important;
    border-color: #70131b !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn,
body.tgdg-redesign-page #confirmDeleteModal .modal-footer .btn:last-child,
body.tgdg-redesign-page #gdg-trial-popup-no,
body.tgdg-redesign-page #gdg-trial-popup-plain-no,
body.tgdg-redesign-page .gdg-preview-modal-footer .btn-default,
body.tgdg-redesign-page .gdg-public-image-dialog .btn-default,
body.tgdg-redesign-page #gdg-dogbot-modal-close {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 18px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #d8c6a8 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn:last-child {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}

/* Specialist inner content keeps its own layout, but loses the old blue/gold shell colours. */
body.tgdg-redesign-page .gdg-public-image-logo-style,
body.tgdg-redesign-page .gdg-public-auto-panel,
body.tgdg-redesign-page .gdg-public-image-dropzone,
body.tgdg-redesign-page .gdg-public-image-terms,
body.tgdg-redesign-page .gdg-public-auto-group,
body.tgdg-redesign-page .gdg-preview-loading,
body.tgdg-redesign-page .gdg-preview-error {
    border-color: var(--tgdg-popup-line) !important;
    border-radius: 12px !important;
}

body.tgdg-redesign-page .gdg-public-auto-panel,
body.tgdg-redesign-page .gdg-public-image-logo-style,
body.tgdg-redesign-page .gdg-public-auto-group {
    background: #fffaf1 !important;
}

body.tgdg-redesign-page .gdg-public-image-dropzone {
    background: #fff !important;
    border-style: dashed !important;
}

body.tgdg-redesign-page .gdg-public-image-terms {
    background: #fff7e9 !important;
}

@media (max-width: 640px) {
    body.tgdg-redesign-page #gdg-change-email-modal,
    body.tgdg-redesign-page #gdg-change-name-modal,
    body.tgdg-redesign-page #gdg-password-reset-modal,
    body.tgdg-redesign-page #gdg-account-contact-modal,
    body.tgdg-redesign-page #gdg-trial-popup,
    body.tgdg-redesign-page #gdg-trial-popup-plain,
    body.tgdg-redesign-page #gdg-upgrade-modal,
    body.tgdg-redesign-page #gdg-deletion-modal,
    body.tgdg-redesign-page #gdg-faq-contact-modal,
    body.tgdg-redesign-page #gdg-help-modal {
        width: calc(100% - 20px) !important;
        max-height: calc(100vh - 20px) !important;
        padding: 20px 18px 22px !important;
    }

    body.tgdg-redesign-page #gdg-change-email-modal > h3,
    body.tgdg-redesign-page #gdg-change-name-modal > h3,
    body.tgdg-redesign-page #gdg-password-reset-modal > h3,
    body.tgdg-redesign-page #gdg-account-contact-modal > h3,
    body.tgdg-redesign-page #gdg-trial-popup > h3,
    body.tgdg-redesign-page #gdg-trial-popup-plain > h3,
    body.tgdg-redesign-page #gdg-upgrade-modal > h3,
    body.tgdg-redesign-page #gdg-deletion-modal > h3,
    body.tgdg-redesign-page #gdg-faq-contact-modal > h3,
    body.tgdg-redesign-page #gdg-help-modal > h3 {
        margin: -20px -18px 18px !important;
        padding: 17px 52px 15px 18px !important;
        font-size: 20px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-dialog,
    body.tgdg-redesign-page #add-review-modal .modal-dialog,
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-dialog,
    body.tgdg-redesign-page #responseModal .modal-dialog,
    body.tgdg-redesign-page #confirmDeleteModal .modal-dialog,
    body.tgdg-redesign-page #modal .modal-dialog {
        width: calc(100% - 20px) !important;
        margin: 10px auto !important;
    }

    /* Keep the listing review header/close control clear of mobile browser chrome and the site header. */
    body.tgdg-redesign-page #add-review-modal .modal-dialog {
        margin-top: 136px !important;
        margin-bottom: 18px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header,
    body.tgdg-redesign-page #add-review-modal .modal-header,
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-header,
    body.tgdg-redesign-page #responseModal .modal-header,
    body.tgdg-redesign-page #confirmDeleteModal .modal-header,
    body.tgdg-redesign-page #modal .modal-header,
    body.tgdg-redesign-page .gdg-preview-modal-header,
    body.tgdg-redesign-page .gdg-public-image-header,
    body.tgdg-redesign-page #gdg-dogbot-modal-header,
    body.tgdg-redesign-page .tgdg-photo-modal-header {
        padding: 17px 52px 15px 18px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header h3,
    body.tgdg-redesign-page #contact-us-modal .modal-header h4,
    body.tgdg-redesign-page #add-review-modal .modal-header h3,
    body.tgdg-redesign-page #add-review-modal .modal-header h4,
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-title,
    body.tgdg-redesign-page #responseModal .modal-title,
    body.tgdg-redesign-page #confirmDeleteModal .modal-title,
    body.tgdg-redesign-page #modal .modal-header h2,
    body.tgdg-redesign-page #modal .modal-header h3,
    body.tgdg-redesign-page #modal .modal-header h4,
    body.tgdg-redesign-page .gdg-preview-modal-header h2,
    body.tgdg-redesign-page .gdg-public-image-header h2,
    body.tgdg-redesign-page #gdg-dogbot-modal-title,
    body.tgdg-redesign-page .tgdg-photo-modal-title {
        font-size: 20px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-body,
    body.tgdg-redesign-page #add-review-modal .modal-body,
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-body,
    body.tgdg-redesign-page #responseModal .modal-body,
    body.tgdg-redesign-page #confirmDeleteModal .modal-body,
    body.tgdg-redesign-page #modal .modal-body {
        padding: 18px !important;
    }

    body.tgdg-redesign-page .gdg-preview-modal-dialog,
    body.tgdg-redesign-page .gdg-public-image-dialog,
    body.tgdg-redesign-page #gdg-dogbot-modal,
    body.tgdg-redesign-page .tgdg-photo-modal-dialog {
        width: calc(100% - 16px) !important;
        margin: 8px auto !important;
        border-radius: 18px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .form-group-contact .btn-primary,
    body.tgdg-redesign-page #add-review-modal .btn-primary,
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-footer .btn,
    body.tgdg-redesign-page #responseModal .modal-footer .btn,
    body.tgdg-redesign-page #confirmDeleteModal .modal-footer .btn,
    body.tgdg-redesign-page #gdg-change-email-submit,
    body.tgdg-redesign-page #gdg-change-name-submit,
    body.tgdg-redesign-page #gdg-password-reset-submit,
    body.tgdg-redesign-page #gdg-account-contact-submit,
    body.tgdg-redesign-page #gdg-faq-contact-submit,
    body.tgdg-redesign-page #gdg-upgrade-request-submit,
    body.tgdg-redesign-page #gdg-deletion-submit,
    body.tgdg-redesign-page #gdg-trial-popup-no,
    body.tgdg-redesign-page #gdg-trial-popup-plain-no {
        width: 100% !important;
    }
}

/* RH/AI 11/10/2026: make the advert rail feel intentional and replace the legacy map thumbnail treatment. */
body.tgdg-redesign-page .tgdg-category-banner-rail,
body.tgdg-redesign-page .tgdg-location-banner-rail {
    margin-top: 28px;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    max-width: 100%;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners::before,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners::before {
    content: "Featured advertisers";
    display: block;
    margin: 0 0 1px;
    padding: 0 2px;
    color: #737b89;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: .075em;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners > * {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-banner-rail #banners img,
body.tgdg-redesign-page .tgdg-location-banner-rail #banners img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

body.tgdg-redesign-page .tgdg-location-map-block {
    margin-top: 0;
}

/* Keep a clear visual break between the map card and the featured advert heading. */
body.tgdg-redesign-page .tgdg-location-map-block + .tgdg-location-banner-rail {
    padding-top: 10px;
}

body.tgdg-redesign-page .tgdg-location-map-block .tgdg-map-placeholder {
    overflow: hidden;
    padding: 0 !important;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(23,32,50,.055);
}

body.tgdg-redesign-page .tgdg-map-placeholder-main {
    display: block;
    color: var(--tgdg-ink) !important;
    text-decoration: none !important;
}

body.tgdg-redesign-page .tgdg-map-placeholder-art {
    position: relative;
    display: block;
    height: 116px;
    overflow: hidden;
    color: rgba(142,26,34,.48);
    background:
        linear-gradient(135deg, rgba(62,198,195,.12), rgba(255,201,78,.17)),
        #f5fbfc;
    border-bottom: 1px solid #e7ecee;
}

body.tgdg-redesign-page .tgdg-map-placeholder-art::before,
body.tgdg-redesign-page .tgdg-map-placeholder-art::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(132,201,135,.22);
}

body.tgdg-redesign-page .tgdg-map-placeholder-art::before {
    width: 90px;
    height: 42px;
    top: 12px;
    left: -18px;
    transform: rotate(-13deg);
}

body.tgdg-redesign-page .tgdg-map-placeholder-art::after {
    width: 112px;
    height: 54px;
    right: -28px;
    bottom: 4px;
    transform: rotate(12deg);
}

body.tgdg-redesign-page .tgdg-map-placeholder-route {
    position: absolute;
    inset: 5px 6px 0;
    z-index: 1;
    width: calc(100% - 12px);
    height: calc(100% - 5px);
}

body.tgdg-redesign-page .tgdg-map-placeholder-pin {
    position: absolute;
    top: 28px;
    left: 50%;
    z-index: 2;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #fff;
    background: var(--tgdg-red);
    border: 5px solid rgba(255,255,255,.95);
    border-radius: 50%;
    box-shadow: 0 8px 18px rgba(23,32,50,.18);
    transform: translateX(-50%);
}

body.tgdg-redesign-page .tgdg-map-placeholder-pin svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

body.tgdg-redesign-page .tgdg-map-placeholder-copy {
    display: block;
    padding: 15px 16px 11px;
    text-align: left;
}

body.tgdg-redesign-page .tgdg-map-placeholder-copy strong {
    display: block;
    margin-bottom: 3px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 18px;
    line-height: 1.15;
}

body.tgdg-redesign-page .tgdg-map-placeholder-copy > span {
    display: block;
    color: var(--tgdg-muted);
    font-size: 12px;
    line-height: 1.4;
}

body.tgdg-redesign-page .tgdg-map-placeholder-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 14px 14px;
    padding: 9px 11px;
    color: var(--tgdg-red-dark) !important;
    background: #fff7e9;
    border: 1px solid #f0dcc0;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none !important;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

body.tgdg-redesign-page .tgdg-map-placeholder-main:hover .tgdg-map-placeholder-copy strong,
body.tgdg-redesign-page .tgdg-map-placeholder-main:focus-visible .tgdg-map-placeholder-copy strong {
    color: var(--tgdg-red-dark);
}

body.tgdg-redesign-page .tgdg-map-placeholder-button:hover,
body.tgdg-redesign-page .tgdg-map-placeholder-button:focus-visible {
    background: #fff1db;
    border-color: #e9cda3;
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-category-banner-rail,
    body.tgdg-redesign-page .tgdg-location-banner-rail {
        margin-top: 20px;
    }
}



/* Map cards: let the new placeholder occupy the full sidebar width without a second outer card. */
body.tgdg-redesign-page .tgdg-location-map-block {
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .tgdg-location-map-block > .tgdg-map-placeholder {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Individual listing pages use the same branded map card. Keep the legacy heading in the DOM
   for the existing mobile ordering script, but hide it visually to avoid a second map header. */
body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .tgdg-map-placeholder-heading {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content.tgdg-listing-map-placeholder {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(23,32,50,.055) !important;
    box-sizing: border-box !important;
}


/* -------------------------------------------------------------
   Editorial alignment consistency pass (Oct 2026)
   Written page copy is left aligned throughout the redesign.
   Purposefully centred controls, numeric/price cells, image stages,
   badges and action buttons keep their existing alignment.
   Listing-description alignment is intentionally untouched.
------------------------------------------------------------- */
.tgdg-page-hero .tgdg-page-hero-inner {
    text-align: left !important;
}
.tgdg-page-hero h1,
.tgdg-page-hero p:not(.tgdg-eyebrow) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

.tgdg-about-article > h2,
.tgdg-about-closing,
.tgdg-about-signoff,
.tgdg-link-intro,
.tgdg-legal-card h2,
.tgdg-legal-company,
.tgdg-legal-company h2,
.tgdg-legal-company p,
.tgdg-testimonials-intro,
.tgdg-competition-empty,
.tgdg-competition-prize-title,
.tgdg-competition-callout,
.tgdg-advertise-post-signup,
.tgdg-advertise-section-heading,
.tgdg-advertise-smallprint,
.tgdg-package-breakdown .tgdg-comparison-heading,
.tgdg-login-card-heading,
.tgdg-login-new-account,
.tgdg-account-empty-state,
.tgdg-offers-intro,
.tgdg-offers-intro p,
.tgdg-payment-success-card {
    text-align: left !important;
}

.tgdg-link-intro,
.tgdg-testimonials-intro,
.tgdg-advertise-post-signup,
.tgdg-advertise-section-heading,
.tgdg-advertise-smallprint,
.tgdg-package-breakdown .tgdg-comparison-heading {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.tgdg-link-intro p,
.tgdg-competition-empty p,
.tgdg-offers-intro p,
.tgdg-package-breakdown .tgdg-comparison-heading p {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Account dashboard: reading copy is left aligned; package tiles stay centred as controls. */
.tgdg-account-card,
.tgdg-account-card .tgdg-account-kicker,
.tgdg-account-card h2,
.tgdg-account-card > p,
.tgdg-account-info-list,
.tgdg-account-info-list li {
    text-align: left !important;
}
.tgdg-listing-plan {
    text-align: center !important;
}

/* Account pop-up copy follows the same reading alignment; buttons remain centred controls. */
body.tgdg-redesign-page #gdg-change-email-modal,
body.tgdg-redesign-page #gdg-change-name-modal,
body.tgdg-redesign-page #gdg-password-reset-modal,
body.tgdg-redesign-page #gdg-account-contact-modal,
body.tgdg-redesign-page #gdg-trial-popup,
body.tgdg-redesign-page #gdg-trial-popup-plain,
body.tgdg-redesign-page #gdg-upgrade-modal,
body.tgdg-redesign-page #gdg-deletion-modal {
    text-align: left !important;
}

/* RH/AI 12/10/2026: WYSIWYG image-row alignment.
   Image rows now carry the alignment saved on their [IMAGE_ROW_X] paragraph.
   These final rules intentionally beat the older generic centring rules. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-left,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-left > p {
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-center,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-center > p {
    text-align: center !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-right,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-right > p {
    text-align: right !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-justify,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert.gdg-align-justify > p {
    text-align: justify !important;
}


/* RH/AI 12/10/2026: make generated image rows use the same desktop text measure.
   Text paragraphs are capped at 940px from the left edge of the description.
   Keeping image rows on that same measure makes left/centre/right alignment match exactly. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator {
    width: 100% !important;
    max-width: 940px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert > p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-rotator > p {
    width: 100% !important;
    max-width: 940px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* RH/AI 12/10/2026: keep Featured advertisers consistently below location map cards.
   National Park and county/town/category pages used different local margins, so use
   one non-collapsing gap here to match the spacing used on the other directory sidebars. */
body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar .tgdg-location-map-block {
    margin-bottom: 0 !important;
}
body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar .tgdg-location-map-block + .tgdg-location-banner-rail {
    margin-top: 0 !important;
    padding-top: 28px !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar .tgdg-location-map-block + .tgdg-location-banner-rail {
        padding-top: 20px !important;
    }
}


/* RH/AI 12/10/2026: move the actual Featured advertisers grid down inside
   location sidebars. Applying the gap to #banners itself avoids page-specific
   rail margin overrides on National Park and county/town/category templates. */
body.tgdg-redesign-page .tgdg-location-sidebar > .tgdg-location-banner-rail {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body.tgdg-redesign-page .tgdg-location-sidebar > .tgdg-location-banner-rail #banners {
    margin-top: 24px !important;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-location-sidebar > .tgdg-location-banner-rail #banners {
        margin-top: 18px !important;
    }
}
/* Final spacing override: use one gap only, on the banner grid itself. */
body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar .tgdg-location-map-block + .tgdg-location-banner-rail {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar .tgdg-location-map-block + .tgdg-location-banner-rail #banners {
    margin-top: 24px !important;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar .tgdg-location-map-block + .tgdg-location-banner-rail #banners {
        margin-top: 18px !important;
    }
}


/* RH/AI 12/10/2026: desktop location-page advert spacing and listing sidebar features.
   Moving the rail with relative top positioning avoids the legacy banner flow/margin code. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-town-page .tgdg-location-sidebar > .tgdg-location-banner-rail,
    body.tgdg-redesign-page .tgdg-protected-area-page .tgdg-location-sidebar > .tgdg-location-banner-rail {
        position: relative !important;
        top: 30px !important;
    }
}

@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .tgdg-listing-filter-features-sidebar {
        width: 100% !important;
        margin: 0 0 18px !important;
        padding: 16px !important;
        background: #fff !important;
        border: 1px solid var(--tgdg-line) !important;
        border-radius: 18px !important;
        box-shadow: 0 10px 28px rgba(23,32,50,.055) !important;
        box-sizing: border-box !important;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .tgdg-listing-filter-features-sidebar .tgdg-listing-filter-heading {
        margin-bottom: 10px !important;
        color: var(--tgdg-ink) !important;
        font-family: var(--tgdg-display) !important;
        font-size: 17px !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .tgdg-listing-filter-features-sidebar .tgdg-listing-filter-chips {
        gap: 7px !important;
    }
}

/* RH/AI 12/10/2026: free listings with no description need a touch more air
   between the final highlight bullets and the action-row divider. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free:has(.free-listing-excerpt:empty) .results-bullets,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free:has(.free-listing-excerpt:empty) .listing-bullets {
    margin-bottom: 3px !important;
}

/* RH/AI 12/10/2026: tighten mobile listing start and left-align social icons. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-page-content.tgdg-listing-detail-page {
        margin-top: 0 !important;
        padding-top: 18px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-socials {
        justify-content: flex-start !important;
        margin-left: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons {
        justify-content: flex-start !important;
    }
}

/* RH/AI 12/10/2026: mobile result-page map control.
   Put Map with the existing refine accordions at the top of location result pages,
   while leaving the normal standalone sidebar map unchanged on desktop. */
body.tgdg-redesign-page .tgdg-mobile-map-section {
    display: none;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-mobile-map-section {
        display: block;
    }

    body.tgdg-redesign-page .tgdg-desktop-map-block {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-refine-section-body {
        padding: 0 12px 14px !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-location-map-block,
    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-mobile-map-block {
        order: initial !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-map-placeholder {
        margin: 0 !important;
    }
}

/* RH/AI 12/10/2026: mobile directory map modal.
   Keep the popup below the top of the phone viewport so its header/close control stays visible.
   Do not stretch the dialog to full-screen height. */
@media (max-width: 760px) {
    body.tgdg-redesign-page #modal {
        z-index: 20050 !important;
        top: 64px !important;
        bottom: 0 !important;
        height: auto !important;
        padding: 8px 10px 18px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.tgdg-redesign-page #modal .modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: calc(100dvh - 88px) !important;
        margin: 0 auto !important;
    }

    body.tgdg-redesign-page #modal .modal-content {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        max-height: calc(100dvh - 88px) !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page #modal .modal-header {
        position: relative !important;
        z-index: 5 !important;
        display: block !important;
        flex: 0 0 auto !important;
        min-height: 56px !important;
        padding: 15px 54px 13px 16px !important;
        background: #fffaf1 !important;
    }

    body.tgdg-redesign-page #modal .modal-header .close {
        position: absolute !important;
        top: 9px !important;
        right: 9px !important;
        z-index: 20 !important;
        display: inline-flex !important;
        width: 38px !important;
        height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
    }

    body.tgdg-redesign-page #modal .modal-body {
        display: block !important;
        flex: 0 1 auto !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 150px) !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page #modal #modalContent,
    body.tgdg-redesign-page #modal #gmap-canvas {
        width: 100% !important;
        height: clamp(300px, 48dvh, 380px) !important;
        min-height: 0 !important;
    }

    body.tgdg-redesign-page .modal-backdrop {
        z-index: 20040 !important;
    }
}

/* RH/AI 12/10/2026: guaranteed mobile map close control.
   The legacy Bootstrap modal header can sit outside the visible mobile area on some result pages,
   so provide a real close button inside the map panel itself. */
body.tgdg-redesign-page .tgdg-mobile-map-close {
    display: none !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page #modal #modalContent {
        position: relative !important;
    }

    body.tgdg-redesign-page #modal .tgdg-mobile-map-close {
        position: absolute !important;
        top: 18px !important;
        right: 10px !important;
        z-index: 500 !important;
        display: inline-flex !important;
        min-width: 76px !important;
        height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 11px !important;
        color: #fff !important;
        background: var(--tgdg-red) !important;
        border: 2px solid #fff !important;
        border-radius: 999px !important;
        box-shadow: 0 4px 14px rgba(23,32,50,.24) !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    body.tgdg-redesign-page #modal .tgdg-mobile-map-close > span[aria-hidden="true"] {
        position: relative;
        top: -1px;
        font-size: 23px;
        font-weight: 500;
        line-height: 1;
    }

    body.tgdg-redesign-page #modal .tgdg-mobile-map-close:hover,
    body.tgdg-redesign-page #modal .tgdg-mobile-map-close:focus {
        color: #fff !important;
        background: var(--tgdg-red-dark) !important;
        outline: 2px solid rgba(255,255,255,.9) !important;
        outline-offset: 1px !important;
    }
}



/* RH/AI 12/10/2026 v1.0.53: final mobile directory-map modal sizing.
   Keep the complete rounded white frame in view, make the map shorter, and retain the in-map Close button. */
@media (max-width: 760px) {
    body.tgdg-redesign-page #modal {
        top: 0 !important;
        bottom: 0 !important;
        height: 100dvh !important;
        padding: 72px 10px 18px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.tgdg-redesign-page #modal .modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 auto 18px !important;
    }

    body.tgdg-redesign-page #modal .modal-content {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
        background: #fff !important;
        border-radius: 18px !important;
        box-shadow: 0 10px 30px rgba(23,32,50,.22) !important;
    }

    /* The custom in-map Close control is the reliable mobile close control. */
    body.tgdg-redesign-page #modal .modal-header {
        display: none !important;
    }

    body.tgdg-redesign-page #modal .modal-body {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        padding: 10px !important;
        overflow: visible !important;
        background: #fff !important;
    }

    body.tgdg-redesign-page #modal #modalContent {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
        border-radius: 13px !important;
    }

    body.tgdg-redesign-page #modal #gmap-canvas {
        display: block !important;
        width: 100% !important;
        height: clamp(280px, 43dvh, 325px) !important;
        min-height: 280px !important;
        border-radius: 13px !important;
    }

    body.tgdg-redesign-page #modal .tgdg-mobile-map-close {
        top: 12px !important;
        right: 10px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.54: final mobile map polish.
   Give Map its own refine icon and leave a visible gap above the mobile modal card. */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-map-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-map-section > summary > span:first-child::before {
    content: "\f279";
}

@media (max-width: 760px) {
    body.tgdg-redesign-page #modal {
        padding-top: 92px !important;
    }

    body.tgdg-redesign-page #modal .modal-dialog {
        margin-top: 0 !important;
    }

    body.tgdg-redesign-page #modal .modal-content {
        border-radius: 18px !important;
    }
}


/* RH/AI 12/10/2026: standardise phone result-card actions across all listing tiers.
   Row 1 is always View listing + socials. Row 2 keeps Website / Contact / Call
   in fixed left / centre / right positions, so missing actions no longer reshuffle the card. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-areas:
            "view . social"
            "website contact call" !important;
        align-items: center !important;
        justify-content: stretch !important;
        column-gap: 8px !important;
        row-gap: 8px !important;
        width: 100% !important;
        margin: 11px 0 0 !important;
        padding: 10px 16px 12px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody > tr,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody > tr > td {
        display: contents !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.listing-detail-link) {
        grid-area: view;
        justify-self: start;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.outbound_links) {
        grid-area: website;
        justify-self: start;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.email_us_button) {
        grid-area: contact;
        justify-self: center;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(a[href*="/call_mobile"]) {
        grid-area: call;
        justify-self: end;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.listing-detail-link) > a {
        min-width: 126px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.outbound_links) > a {
        min-width: 98px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.email_us_button) > a {
        min-width: 100px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(a[href*="/call_mobile"]) > a {
        min-width: 58px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons {
        grid-area: social;
        justify-self: end !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 4px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons {
        float: none !important;
        flex: 0 0 38px !important;
        display: flex !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons img {
        display: block !important;
        width: 38px !important;
        height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
    }
}

/* RH/AI 12/10/2026 v1.0.56: put result-card social icons on their own mobile row.
   This prevents two, three or four social links from stacking vertically beside View listing. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "view view view"
            "social social social"
            "website contact call" !important;
        row-gap: 8px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .listing-button:has(.listing-detail-link) {
        justify-self: start !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons {
        grid-area: social;
        justify-self: start !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        min-height: 38px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.57: fully standardise mobile result-card actions.
   Order: socials, Contact/Call, then View listing/Website. Keep each action in a fixed slot. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container.tgdg-mobile-action-layout {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 11px 0 0 !important;
        padding: 10px 16px 12px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-social-row {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-social-row .links-and-icons {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-social-row .links-and-icons > a.social-icons {
        float: none !important;
        flex: 0 0 38px !important;
        display: flex !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        max-width: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-social-row .links-and-icons > a.social-icons img {
        display: block !important;
        width: 38px !important;
        height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-slot {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-slot.is-empty {
        visibility: hidden !important;
        min-height: 38px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-slot > a {
        display: inline-flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* RH/AI 12/10/2026 v1.0.58: mobile result actions must span the full card width.
   Apply this independently of the specific result-page wrapper so town, county,
   category and protected-area result cards all use the same mobile layout. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .listing-box .listing-footer-container.tgdg-mobile-action-layout {
        display: flex !important;
        float: none !important;
        clear: both !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 10px 12px 12px !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-social-row,
    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-row {
        float: none !important;
        clear: both !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-social-row .links-and-icons {
        display: flex !important;
        float: none !important;
        clear: both !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-social-row .links-and-icons > a.social-icons {
        float: none !important;
        flex: 0 0 38px !important;
        display: inline-flex !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-social-row .links-and-icons > a.social-icons img {
        display: block !important;
        width: 38px !important;
        height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-slot {
        float: none !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-slot.is-empty {
        visibility: hidden !important;
        min-height: 38px !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-action-slot > a {
        display: flex !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
}


/* RH/AI 12/10/2026 v1.0.59: isolated mobile result actions.
   Dedicated classes avoid all legacy footer/table/column alignment rules. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        float: none !important;
        clear: both !important;
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 9px 12px 11px !important;
        gap: 7px !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-socials,
    body.tgdg-redesign-page .listing-box .tgdg-mobile-social-links {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 5px !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-social-link {
        display: inline-flex !important;
        flex: 0 0 38px !important;
        align-items: center !important;
        justify-content: center !important;
        float: none !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-social-link img {
        display: block !important;
        width: 38px !important;
        height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: stretch !important;
        justify-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 7px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-slot {
        display: block !important;
        float: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-slot.is-empty {
        visibility: hidden !important;
        min-height: 36px !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-slot > a {
        display: flex !important;
        float: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 36px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: 7px 11px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-slot > a img {
        flex: 0 0 auto !important;
        margin-right: 5px !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-result-view > a {
        color: #fff !important;
        background: var(--tgdg-red) !important;
        border-color: var(--tgdg-red) !important;
    }
}


/* RH/AI 12/10/2026 v1.0.60: clean isolated mobile result actions.
   These classes deliberately avoid every legacy footer/button class so old mobile
   rules cannot enlarge icons or push the controls into the right-hand side. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .tgdg-redesign-result-content > .tgdg-mobile-card-actions {
        display: flex !important;
        flex-direction: column !important;
        align-self: stretch !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        float: none !important;
        clear: both !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 8px 0 0 !important;
        padding: 8px 12px 10px !important;
        gap: 6px !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border-top: 1px solid #eee9e1 !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-socials,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-social-links {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 5px !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link {
        all: unset !important;
        display: inline-flex !important;
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link img {
        display: block !important;
        float: none !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: cover !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        justify-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 6px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-slot {
        display: block !important;
        float: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-slot.is-empty {
        visibility: hidden !important;
        min-height: 34px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action {
        all: unset !important;
        display: flex !important;
        float: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 34px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
        color: var(--tgdg-ink) !important;
        background: #fff !important;
        border: 1px solid #cdd6e1 !important;
        border-radius: 9px !important;
        font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-align: left !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action::before {
        display: inline-block !important;
        flex: 0 0 auto !important;
        width: 15px !important;
        margin: 0 6px 0 0 !important;
        color: var(--tgdg-red) !important;
        font-family: "Font Awesome 5 Free" !important;
        font-size: 11px !important;
        font-style: normal !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view {
        color: #fff !important;
        background: var(--tgdg-red) !important;
        border-color: var(--tgdg-red) !important;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view::before {
        content: "\f05a" !important;
        color: #fff !important;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website::before { content: "\f0ac" !important; }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact::before { content: "\f0e0" !important; }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call::before { content: "\f095" !important; }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action:focus-visible {
        border-color: rgba(142,26,34,.42) !important;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view:focus-visible {
        color: #fff !important;
        background: var(--tgdg-red-dark) !important;
        border-color: var(--tgdg-red-dark) !important;
    }
}

/* RH/AI 12/10/2026 v1.0.61: remove legacy separator marks between mobile social icons. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link::after {
        content: none !important;
        display: none !important;
    }
}

/* RH/AI 12/10/2026 v1.0.62: fully isolate mobile social icons.
   Remove any inherited underline/border/shadow artefacts that can draw tiny
   connector lines between adjacent social buttons. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-links {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: 30px !important;
        justify-content: start !important;
        align-items: center !important;
        column-gap: 7px !important;
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-decoration: none !important;
    }

    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link,
    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link:link,
    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link:visited,
    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link:hover,
    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link:focus,
    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link:active {
        display: block !important;
        position: relative !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 7px !important;
        outline: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
    }

    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link::before,
    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link::after {
        content: none !important;
        display: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .listing-box a.tgdg-mobile-card-social-link img {
        display: block !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        outline: 0 !important;
        border-radius: 7px !important;
        box-shadow: none !important;
        text-decoration: none !important;
        vertical-align: top !important;
    }
}


/* RH/AI 12/10/2026 v1.0.63: rebuild mobile social gaps with explicit white spacers.
   This avoids the tiny horizontal connector artefact produced by legacy social-link styling. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-links {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-link {
        all: unset !important;
        position: relative !important;
        z-index: 1 !important;
        display: block !important;
        flex: 0 0 30px !important;
        width: 30px !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-link::before,
    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-link::after {
        content: none !important;
        display: none !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-link img {
        display: block !important;
        width: 30px !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 7px !important;
        outline: 0 !important;
        box-shadow: none !important;
        object-fit: cover !important;
        vertical-align: top !important;
    }

    body.tgdg-redesign-page .listing-box .tgdg-mobile-card-social-spacer {
        position: relative !important;
        z-index: 20 !important;
        display: block !important;
        flex: 0 0 7px !important;
        width: 7px !important;
        min-width: 7px !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        pointer-events: none !important;
    }
}

/* RH/AI 12/10/2026: desktop map card is already fully clickable; remove the redundant Open map strip. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-map-placeholder-button {
        display: none !important;
    }
}

/* RH/AI 12/10/2026 v1.0.69: review treatment.
   Make ratings read as reviews at a glance on results, and as an explicit "Rated" marker in review copy. */
body.tgdg-redesign-page .tgdg-review-summary-badge {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
    color: var(--tgdg-ink) !important;
    background: #fff8ec !important;
    border: 1px solid #ead8b9 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    text-align: left !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

body.tgdg-redesign-page .tgdg-review-summary-icon {
    display: inline-flex !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tgdg-red) !important;
    background: #fff !important;
    border: 1px solid #f2c7cf !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

body.tgdg-redesign-page .tgdg-review-summary-icon i,
body.tgdg-redesign-page .tgdg-review-inline-icon i {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1 !important;
}

body.tgdg-redesign-page .tgdg-review-summary-label {
    color: #70131b !important;
    font-weight: 900 !important;
}

body.tgdg-redesign-page .tgdg-review-summary-score {
    color: var(--tgdg-ink) !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
}

body.tgdg-redesign-page .tgdg-review-summary-score small {
    color: #687286 !important;
    font-size: .82em !important;
    font-weight: 800 !important;
}

body.tgdg-redesign-page .tgdg-review-summary-separator {
    color: #b6a88f !important;
    font-weight: 900 !important;
}

body.tgdg-redesign-page .tgdg-review-summary-count {
    color: #596273 !important;
    font-weight: 750 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
    align-self: flex-start !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin: 7px 14px 11px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details li,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .review-summary {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: left !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge {
    padding: 6px 10px !important;
}

/* Individual listing review attribution: explicit rating label rather than a bare paw + number. */
body.tgdg-redesign-page .tgdg-listing-reviews-card .tgdg-review-inline-rating,
body.tgdg-redesign-page .review-box-container .tgdg-review-inline-rating {
    display: inline-flex !important;
    min-height: 30px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    margin: 4px 7px 2px 0 !important;
    padding: 5px 9px 5px 6px !important;
    box-sizing: border-box !important;
    color: var(--tgdg-ink) !important;
    background: #fff4f6 !important;
    border: 1px solid #f1c7cf !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

body.tgdg-redesign-page .tgdg-review-inline-icon {
    display: inline-flex !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

body.tgdg-redesign-page .tgdg-review-inline-label {
    color: #70131b !important;
    font-weight: 900 !important;
}

body.tgdg-redesign-page .tgdg-review-inline-score {
    color: var(--tgdg-ink) !important;
    font-weight: 900 !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
        display: block !important;
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        margin: 8px 10px 10px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .details li,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .review-summary {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge {
        display: flex !important;
        width: 100% !important;
        min-height: 40px !important;
        padding: 7px 9px !important;
        border-radius: 10px !important;
        font-size: 12px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-count {
        margin-left: auto !important;
    }

    body.tgdg-redesign-page .tgdg-listing-reviews-card .tgdg-review-inline-rating,
    body.tgdg-redesign-page .review-box-container .tgdg-review-inline-rating {
        min-height: 29px !important;
        margin-right: 6px !important;
        padding: 5px 8px 5px 6px !important;
        font-size: 12px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.70: result review breathing room + mobile content alignment.
   Keep the review badge clear of the card edge, and align mobile filters/offers
   with the same left edge as the listing bullets and description. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
    margin-bottom: 16px !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
        margin-bottom: 15px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .tgdg-result-filter-features {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .tgdg-result-offer-preview {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* RH/AI 12/10/2026 v1.0.71: keep visible white breathing room below result review badges.
   Use padding inside the final review row so the space remains inside the rounded listing card. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
    margin-bottom: 0 !important;
    padding-bottom: 12px !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row {
        padding-bottom: 11px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.72: real in-card spacer below review badges.
   Previous margin/padding landed on the review row itself and could be swallowed by
   legacy footer sizing. This dedicated flex item guarantees visible white space. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-spacer {
    display: block !important;
    flex: 0 0 12px !important;
    width: 100% !important;
    height: 12px !important;
    min-height: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
}

@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-spacer {
        flex-basis: 12px !important;
        height: 12px !important;
        min-height: 12px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.74: safe clickable result-review treatment.
   The result badge keeps its existing PHP markup; JS routes it to the listing #reviews anchor. */
body.tgdg-redesign-page .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"] {
    cursor: pointer !important;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease !important;
}
body.tgdg-redesign-page .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:hover,
body.tgdg-redesign-page .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:focus-visible {
    background: #fff3e0 !important;
    border-color: #e8be78 !important;
    transform: translateY(-1px);
    outline: none !important;
}
body.tgdg-redesign-page .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:focus-visible {
    box-shadow: 0 0 0 2px var(--tgdg-red) !important;
}
body.tgdg-redesign-page #reviews {
    scroll-margin-top: 92px;
}


/* RH/AI 12/10/2026 v1.0.75: OpenStreetMap / Leaflet display maps. */
body.tgdg-redesign-page #gmap-canvas {
    width: 100% !important;
    height: 350px !important;
    min-height: 350px !important;
    overflow: hidden;
    background: #eef3f1;
    border-radius: 14px;
}
body.tgdg-redesign-page #gmap-canvas .leaflet-container,
body.tgdg-redesign-page .leaflet-container {
    font-family: inherit;
}
body.tgdg-redesign-page #gmap-canvas .leaflet-control-zoom a {
    color: var(--tgdg-ink) !important;
    text-decoration: none !important;
}
body.tgdg-redesign-page #gmap-canvas .leaflet-control-attribution {
    padding: 2px 5px;
    color: #596376;
    background: rgba(255,255,255,.9);
    font-size: 10px;
    line-height: 1.25;
}
body.tgdg-redesign-page #gmap-canvas .leaflet-control-attribution a {
    color: #34415a !important;
    text-decoration: underline !important;
}
body.tgdg-redesign-page .tgdg-leaflet-popup .leaflet-popup-content-wrapper {
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(23,32,50,.16);
}
body.tgdg-redesign-page .tgdg-leaflet-popup .leaflet-popup-content {
    margin: 14px 16px;
    min-width: 180px;
    color: var(--tgdg-ink);
    line-height: 1.45;
}
body.tgdg-redesign-page .tgdg-leaflet-popup .mapinfo h2 {
    margin: 0 0 8px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 18px;
    line-height: 1.15;
}
body.tgdg-redesign-page .tgdg-leaflet-popup .mapinfo p {
    margin: 6px 0 0;
}
body.tgdg-redesign-page .tgdg-leaflet-popup .mapinfo img {
    max-width: 100px;
    height: auto;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page #gmap-canvas {
        height: 350px !important;
        min-height: 350px !important;
        border-radius: 12px;
    }
}


/* RH/AI 12/10/2026 v1.0.76: show the real OpenStreetMap map inline on directory result pages.
   This replaces the old Google screenshot placeholder entirely. */
body.tgdg-redesign-page .tgdg-location-map-block > .sidebar-content.tgdg-inline-map-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(23,32,50,.055) !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-inline-listings-map {
    display: block;
    width: 100% !important;
    height: 270px !important;
    min-height: 270px !important;
    background: #eef2ed;
}
body.tgdg-redesign-page .tgdg-inline-listings-map.leaflet-container {
    border-radius: 17px;
}
body.tgdg-redesign-page .tgdg-inline-listings-map .leaflet-control-attribution {
    max-width: calc(100% - 12px);
    white-space: normal;
    line-height: 1.15;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-inline-listings-map {
        height: 300px !important;
        min-height: 300px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.77: live OpenStreetMap on individual listing pages. */
body.tgdg-redesign-page .tgdg-inline-listing-map-card {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-inline-listing-location-map {
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-inline-listing-location-map {
        height: 300px !important;
        min-height: 300px !important;
    }
}


/* RH/AI 12/10/2026 v1.0.79: map interaction, clustering and crisp vector paw markers. */
body.tgdg-redesign-page .tgdg-inline-listings-map.leaflet-container,
body.tgdg-redesign-page .tgdg-inline-listing-location-map.leaflet-container,
body.tgdg-redesign-page #gmap-canvas.leaflet-container {
    cursor: grab !important;
}
body.tgdg-redesign-page .tgdg-inline-listings-map.leaflet-dragging,
body.tgdg-redesign-page .tgdg-inline-listing-location-map.leaflet-dragging,
body.tgdg-redesign-page #gmap-canvas.leaflet-dragging {
    cursor: grabbing !important;
}
body.tgdg-redesign-page .tgdg-map-paw-icon {
    background: transparent !important;
    border: 0 !important;
}
body.tgdg-redesign-page .tgdg-map-paw {
    display: flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: rgba(255,255,255,.96);
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(23,32,50,.24);
}
body.tgdg-redesign-page .tgdg-map-paw.is-premium {
    color: #8e1a22;
}
body.tgdg-redesign-page .tgdg-map-paw.is-standard {
    color: #182033;
}
body.tgdg-redesign-page .tgdg-map-paw svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: currentColor;
}
body.tgdg-redesign-page .tgdg-map-cluster {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    background: rgba(255,255,255,.92) !important;
    border: 3px solid #8e1a22 !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 10px rgba(23,32,50,.2);
    color: #182033 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-map-cluster span {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
body.tgdg-redesign-page .tgdg-map-cluster.is-medium {
    width: 46px !important;
    height: 46px !important;
    margin: -2px !important;
    font-size: 13px !important;
}
body.tgdg-redesign-page .tgdg-map-cluster.is-large {
    width: 50px !important;
    height: 50px !important;
    margin: -4px !important;
    font-size: 13px !important;
}


/* RH/AI 12/10/2026 v1.0.80: make desktop directory maps visibly grabbable.
   Legacy image/sidebar rules can put an arrow cursor back on Leaflet's tile images,
   so apply the grab cursor to the actual map panes/tiles as well as the container. */
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled .leaflet-map-pane,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled .leaflet-tile-pane,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled .leaflet-tile-container,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled .leaflet-tile {
    cursor: grab !important;
}
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled.leaflet-dragging,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled.leaflet-dragging .leaflet-map-pane,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled.leaflet-dragging .leaflet-tile-pane,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled.leaflet-dragging .leaflet-tile-container,
body.tgdg-redesign-page .tgdg-inline-listings-map.tgdg-map-drag-enabled.leaflet-dragging .leaflet-tile {
    cursor: grabbing !important;
}


/* RH/AI 12/10/2026 v1.0.81: reliable desktop directory-map drag surface.
   Sits above raster tiles but below Leaflet markers/clusters and controls. */
body.tgdg-redesign-page .tgdg-inline-listings-map .tgdg-map-drag-surface {
    position: absolute !important;
    inset: 0 !important;
    z-index: 350 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    cursor: grab !important;
    pointer-events: auto !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
}
body.tgdg-redesign-page .tgdg-inline-listings-map.leaflet-dragging .tgdg-map-drag-surface {
    cursor: grabbing !important;
}

/* RH/AI 13/10/2026 v1.0.82: searchable directory context + keyboard autocomplete. */
body.tgdg-redesign-page .tgdg-search-result-summary {
    width: min(840px, 100%);
    margin: 10px 0 0;
    padding: 8px 12px;
    color: var(--tgdg-ink);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(23,32,50,.09);
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.35;
    box-shadow: 0 8px 20px rgba(23,32,50,.08);
}
body.tgdg-redesign-page .tgdg-search-result-summary strong {
    color: var(--tgdg-red-dark);
    font-family: var(--tgdg-display);
    font-size: 17px;
}
body.tgdg-redesign-page .tgdg-search-result-summary span {
    font-weight: 500;
}

/* RH/AI 13/10/2026 v1.0.83: town/category result split + calmer search values.
   Search selections use the same normal weight, while the result card separates
   exact-town listings from the additional radius results. */
body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
    font-weight: 400 !important;
}
body.tgdg-redesign-page .tgdg-search-result-summary--split {
    display: grid;
    gap: 4px;
}
body.tgdg-redesign-page .tgdg-search-result-summary--split p {
    margin: 0;
}
body.tgdg-redesign-page .tgdg-search-result-summary-primary,
body.tgdg-redesign-page .tgdg-search-result-summary-nearby {
    color: var(--tgdg-ink);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}
body.tgdg-redesign-page .tgdg-search-result-summary-nearby {
    padding-top: 4px;
    border-top: 1px solid rgba(23,32,50,.08);
    color: #4e596b;
}
body.tgdg-redesign-page .tgdg-search-result-summary-nearby[hidden] {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-search-result-summary--split .tgdg-result-category,
body.tgdg-redesign-page .tgdg-search-result-summary--split .tgdg-result-location,
body.tgdg-redesign-page .tgdg-search-result-summary--split .tgdg-nearby-result-word {
    font-weight: 500;
}
body.tgdg-redesign-page .tgdg-search-result-summary--split strong {
    font-weight: 900;
}
body.tgdg-redesign-page .tgdg-directory-search .search-suggestion.is-keyboard-active {
    background: var(--tgdg-cream) !important;
    outline: 2px solid var(--tgdg-red) !important;
    outline-offset: -2px !important;
}

@media (max-width: 820px) {
    /* On result pages the search controls are the first useful action in the hero. */
    body.tgdg-redesign-page .tgdg-directory-hero-copy {
        display: flex;
        flex-direction: column;
    }
    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-directory-search {
        order: -30;
        margin-bottom: 0;
    }
    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-result-summary {
        order: -29;
        margin: 9px 0 0;
    }
    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-message {
        order: -28;
        margin: 5px 0 0;
    }
    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-eyebrow {
        margin-top: 18px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-suggestions {
        max-height: min(44vh, 300px);
    }
}


/* RH/AI 13/10/2026 v1.0.84: wider desktop directory search fields.
   Keeps the full category/location placeholders visible while mobile remains stacked. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-directory-search.search-panel {
        grid-template-columns: minmax(280px,1.05fr) minmax(310px,1.15fr) auto;
        width: min(840px,100%);
    }
    body.tgdg-redesign-page .tgdg-search-message,
    body.tgdg-redesign-page .tgdg-search-result-summary {
        width: min(840px,100%);
    }
}


/* RH/AI 13/10/2026 v1.0.85: make the nearby mileage in the result summary directly adjustable. */
body.tgdg-redesign-page .tgdg-nearby-radius-select {
    display: inline-block;
    width: auto;
    min-width: 82px;
    margin: 0 2px;
    padding: 3px 24px 3px 8px;
    border: 1px solid rgba(23,32,50,.18);
    border-radius: 999px;
    background-color: #fff;
    color: var(--tgdg-ink);
    font: inherit;
    font-weight: 800;
    line-height: 1.25;
    cursor: pointer;
    vertical-align: baseline;
}
body.tgdg-redesign-page .tgdg-nearby-radius-select:hover,
body.tgdg-redesign-page .tgdg-nearby-radius-select:focus {
    border-color: var(--tgdg-red);
    outline: none;
}


/* RH/AI 13/10/2026 v1.0.87: Near me is mobile-only and integrated into the location row.
   Desktop keeps the cleaner town/county/postcode field; on smaller screens the
   action sits on the same line instead of dropping into a separate pill row. */
body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
    display: none;
}
body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:disabled {
    opacity: .58;
    cursor: wait;
}
@media (min-width: 821px) {
    /* Keep the search and its result card on the same 760px visual board as the hero copy. */
    body.tgdg-redesign-page .tgdg-directory-search.search-panel {
        grid-template-columns: minmax(245px,.9fr) minmax(325px,1.2fr) 112px;
        width: min(760px,100%);
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field {
        gap: 8px;
        padding-left: 12px;
        padding-right: 12px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
        font-size: 16px;
    }
    body.tgdg-redesign-page .tgdg-search-message,
    body.tgdg-redesign-page .tgdg-search-result-summary {
        width: min(760px,100%);
    }
}
@media (max-width: 820px) {
    /* Keep both search rows at exactly the same text size on mobile. */
    body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
        font-size: 16px !important;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where {
        display: grid;
        grid-template-columns: auto minmax(0,1fr) auto;
        align-items: center;
        column-gap: 8px;
        padding-right: 10px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where > .search-icon {
        grid-column: 1;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where > input[type="search"] {
        grid-column: 2;
        width: 100%;
        min-width: 0;
        font-size: 16px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
        grid-column: 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 0 10px;
        border: 1px solid rgba(242,18,55,.24);
        border-radius: 999px;
        background: rgba(242,18,55,.07);
        color: var(--tgdg-red-dark);
        font: inherit;
        font-size: 12px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
        cursor: pointer;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:hover,
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:focus {
        border-color: rgba(242,18,55,.42);
        background: rgba(242,18,55,.12);
        color: var(--tgdg-red);
        outline: none;
    }
}

/* RH/AI 14/10/2026 v1.0.91: keep the mobile postcode prompt clear at narrow 360px-class viewports. */
@media (max-width: 380px) {
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where {
        grid-template-columns: 14px minmax(0,1fr) 52px;
        column-gap: 4px;
        padding-left: 8px;
        padding-right: 6px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where > .search-icon {
        font-size: 16px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where > input[type="search"] {
        font-size: 16px !important;
        letter-spacing: -0.012em;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
        width: 52px;
        min-width: 52px;
        min-height: 30px;
        padding: 0;
        font-size: 11px;
    }
}

/* RH/AI 13/10/2026 v1.0.88: align desktop directory search to hero board; Near me now uses TGDG nearest-town lookup and a clearer mobile chip. */


/* -------------------------------------------------------------
   Optional hero images on every redesigned non-directory page.
   Admin > SEO > Hero Image Manager exact-path overrides take priority;
   route-named files and view params remain as fallbacks.
   ------------------------------------------------------------- */
body.tgdg-redesign-page.tgdg-has-page-hero-image .tgdg-page-hero:not(.tgdg-directory-hero) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: var(--tgdg-blue);
    background-image:
        linear-gradient(90deg,
            rgba(244,251,253,.97) 0%,
            rgba(244,251,253,.91) 36%,
            rgba(244,251,253,.78) 58%,
            rgba(244,251,253,.50) 80%,
            rgba(244,251,253,.30) 100%),
        var(--tgdg-page-hero-image);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: var(--tgdg-page-hero-position, 72% center);
}

body.tgdg-redesign-page.tgdg-has-page-hero-image .tgdg-page-hero:not(.tgdg-directory-hero) .tgdg-page-hero-inner {
    position: relative;
    z-index: 1;
}

body.tgdg-redesign-page.tgdg-has-page-hero-image .tgdg-page-hero:not(.tgdg-directory-hero) h1,
body.tgdg-redesign-page.tgdg-has-page-hero-image .tgdg-page-hero:not(.tgdg-directory-hero) p:not(.tgdg-eyebrow) {
    text-shadow: 0 1px 0 rgba(255,255,255,.35);
}

@media (max-width: 820px) {
    body.tgdg-redesign-page.tgdg-has-page-hero-image .tgdg-page-hero:not(.tgdg-directory-hero) {
        background-image:
            linear-gradient(180deg,
                rgba(244,251,253,.97) 0%,
                rgba(244,251,253,.93) 45%,
                rgba(244,251,253,.72) 68%,
                rgba(244,251,253,.34) 100%),
            var(--tgdg-page-hero-image);
        background-position: var(--tgdg-page-hero-mobile-position, 68% center);
    }
}

/* RH/AI 14/10/2026 v1.0.90: Hero Image Manager overrides now apply to all redesigned non-directory page heroes. */



/* RH/AI 14/10/2026 v1.0.92: mobile header/search parity with homepage; desktop unchanged. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-directory-search.search-panel {
        width: 100%;
        padding: 8px;
        border: 1px solid rgba(23,32,50,.08);
        border-radius: 19px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field {
        gap: 10px;
        padding-left: 16px;
        padding-right: 16px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-icon { font-size: 20px; }
    body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
        height: 50px;
        font-size: 16px !important;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-select-arrow { font-size: 18px; }
    body.tgdg-redesign-page .tgdg-directory-search .search-field + .search-field {
        border-top: 1px solid var(--tgdg-line);
        border-left: 0;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
    body.tgdg-redesign-page .tgdg-directory-search .primary-button { margin-top: 8px; }
    body.tgdg-redesign-page .tgdg-directory-search .search-field-where { padding-right: 10px; }
}

/* RH/AI 14/10/2026: tighten mobile directory hero spacing without changing desktop. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-directory-hero,
    body.tgdg-redesign-page .tgdg-directory-hero--standard,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area {
        min-height: 410px;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
        min-height: 410px;
        padding-top: 20px;
        padding-bottom: 34px;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-result-summary {
        margin-top: 6px;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-message {
        margin-top: 3px;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-eyebrow {
        margin-top: 12px;
        margin-bottom: 9px;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-lead {
        margin-top: 10px;
        margin-bottom: 0;
    }

    body.tgdg-redesign-page .tgdg-directory-hero + .tgdg-page-content {
        padding-top: 18px;
    }
}

@media (max-width: 560px) {
    body.tgdg-redesign-page .tgdg-directory-hero,
    body.tgdg-redesign-page .tgdg-directory-hero--standard,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area,
    body.tgdg-redesign-page .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
        min-height: 410px;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
        padding-top: 18px;
        padding-bottom: 30px;
    }
}

/* Keep the accessibility skip link hidden after touch/mouse focus; show it for keyboard focus only. */
.tgdg-skip-link:focus:not(:focus-visible) {
    transform: translateY(-150%);
}
.tgdg-skip-link:focus-visible {
    transform: translateY(0);
}


/* RH/AI 14/10/2026 v1.0.84: preserve Leaflet map tiles on mobile listing pages.
   The generic mobile sidebar image rule sets max-width:100%, which overrides
   Leaflet's required max-width:none on raster tiles and can collapse the tiles
   while leaving controls, attribution and vector markers visible. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .leaflet-container img.leaflet-tile,
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .leaflet-container img.leaflet-image-layer {
        max-width: none !important;
        max-height: none !important;
    }
}



/* RH/AI 14/10/2026 v1.0.95: mobile directory fast path.
   Keep search, result context and compact refine controls near the top; move long
   SEO/introduction cards below the useful browse/listing content. Desktop unchanged. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-directory-hero,
    body.tgdg-redesign-page .tgdg-directory-hero--standard,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area,
    body.tgdg-redesign-page .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
        min-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner,
    body.tgdg-redesign-page .tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
        padding-top: 12px !important;
        padding-bottom: 14px !important;
    }

    /* Search/result first, then only a compact page title. */
    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-eyebrow,
    body.tgdg-redesign-page .tgdg-directory-hero-lead {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-directory-hero h1 {
        margin-top: 10px !important;
        font-size: clamp(27px, 8vw, 34px) !important;
        line-height: 1.03 !important;
        letter-spacing: -.035em !important;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-result-summary {
        margin-top: 6px !important;
    }

    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-message:empty {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-directory-hero + .tgdg-page-content {
        padding-top: 10px !important;
    }

    /* County / county-category / town / town-category pages:
       visually flatten the layout so refine controls and listings can come before
       the long introductory card without duplicating or deleting SEO copy. */
    body.tgdg-redesign-page .tgdg-location-page {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    body.tgdg-redesign-page .tgdg-location-page > .tgdg-location-results-layout {
        display: contents !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-location-sidebar {
        display: contents !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-refine-stack {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-category-listing-results {
        order: 2 !important;
        width: 100% !important;
    }

    body.tgdg-redesign-page .tgdg-location-page > .tgdg-location-intro-card {
        order: 3 !important;
        margin: 8px 0 0 !important;
        padding: 18px !important;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-desktop-map-block {
        order: 4 !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-location-banner-rail {
        order: 5 !important;
    }

    /* The listing cards themselves should begin immediately after the refine stack. */
    body.tgdg-redesign-page .tgdg-location-results-heading {
        display: none !important;
    }

    /* Slim down the mobile refine card without changing what it contains. */
    body.tgdg-redesign-page .tgdg-refine-heading {
        padding: 10px 14px 8px !important;
    }

    body.tgdg-redesign-page .tgdg-refine-heading .tgdg-directory-kicker {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-refine-heading h2 {
        margin: 0 !important;
        font-size: 19px !important;
        line-height: 1.1 !important;
    }

    body.tgdg-redesign-page .tgdg-refine-section > summary,
    body.tgdg-redesign-page .tgdg-refine-group > summary {
        min-height: 42px !important;
        padding: 9px 14px !important;
        gap: 10px !important;
        font-size: 14px !important;
    }

    body.tgdg-redesign-page .tgdg-refine-chevron {
        width: 22px !important;
        height: 22px !important;
        flex-basis: 22px !important;
        font-size: 13px !important;
    }

    /* Top-level category pages have no listing stack at this level. Put the useful
       county/region browse controls first and move the long category intro below them. */
    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-main {
        display: flex !important;
        flex-direction: column !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-category-map-card {
        order: 1 !important;
        margin-bottom: 18px !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-browse {
        order: 2 !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card {
        order: 3 !important;
        margin: 18px 0 0 !important;
    }
}

/* RH/AI 14/10/2026 v1.0.96: keep useful directory intro copy near the top on mobile.
   Show a short preview with one Read more control, hide the decorative logo strip,
   then place refine controls and listings immediately afterwards. Desktop unchanged. */
@media (max-width: 760px) {
    /* County / county-category / town / town-category: short intro before refine controls. */
    body.tgdg-redesign-page .tgdg-location-page > .tgdg-location-intro-card {
        order: 1 !important;
        margin: 0 !important;
        padding: 15px 16px 13px !important;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-refine-stack {
        order: 2 !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-category-listing-results {
        order: 3 !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-desktop-map-block {
        order: 4 !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-location-banner-rail {
        order: 5 !important;
    }

    /* Top-level category: keep its information card before county/region browsing. */
    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card {
        order: 1 !important;
        margin: 0 0 12px !important;
        padding: 15px 16px 13px !important;
        border-radius: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-category-map-card {
        order: 2 !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-browse {
        order: 3 !important;
    }

    /* The outer mobile preview controls the whole intro, so disable the older nested
       county/town Read more treatment on mobile only. */
    body.tgdg-redesign-page .tgdg-directory-intro-card .read-more-btn {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-directory-intro-card .intro-text,
    body.tgdg-redesign-page .tgdg-location-page .tgdg-directory-intro-card .intro-text.expanded {
        max-height: none !important;
        overflow: visible !important;
    }

    body.tgdg-redesign-page .tgdg-location-page .tgdg-directory-intro-card .intro-text::after,
    body.tgdg-redesign-page .tgdg-location-page .tgdg-directory-intro-card .intro-text.expanded::after {
        display: none !important;
    }

    /* Decorative advertiser/logo strip costs a lot of vertical space on mobile; listings
       still appear immediately below the refine controls. */
    body.tgdg-redesign-page .tgdg-directory-intro-card .tgdg-category-logo-carousel,
    body.tgdg-redesign-page .tgdg-directory-intro-card .tgdg-location-logo-carousel {
        display: none !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-directory-intro-card .tgdg-mobile-intro-content {
        position: relative;
        max-height: 112px;
        overflow: hidden;
        transition: max-height .24s ease;
    }

    body.tgdg-redesign-page .tgdg-directory-intro-card .tgdg-mobile-intro-content::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 40px;
        pointer-events: none;
        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 82%);
    }

    body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content {
        max-height: none;
    }

    body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content::after {
        display: none;
    }

    body.tgdg-redesign-page .tgdg-mobile-intro-toggle {
        display: inline-flex;
        align-items: center;
        margin: 7px 0 0;
        padding: 5px 0 1px;
        border: 0;
        background: transparent;
        color: var(--tgdg-red-dark);
        font: inherit;
        font-size: 14px;
        font-weight: 850;
        line-height: 1.2;
        cursor: pointer;
    }

    body.tgdg-redesign-page .tgdg-mobile-intro-toggle::after {
        content: " +";
        margin-left: 3px;
    }

    body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-toggle::after {
        content: " -";
    }
}


/* RH/AI 14/10/2026 v1.0.97: clearer mobile directory hierarchy.
   Keep the result count subtle under search, put the page title on a clean card,
   and remove the redundant magnifying-glass badge from the compact refine heading. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-directory-hero h1 {
        width: 100% !important;
        max-width: none !important;
        margin: 6px 0 0 !important;
        padding: 9px 12px 10px !important;
        border: 1px solid rgba(23,32,50,.09) !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.94) !important;
        box-shadow: 0 7px 18px rgba(23,32,50,.07) !important;
        font-size: clamp(26px, 7.6vw, 32px) !important;
        line-height: 1.04 !important;
    }

    body.tgdg-redesign-page .tgdg-search-result-summary {
        padding: 7px 11px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        box-shadow: 0 5px 14px rgba(23,32,50,.055) !important;
    }

    body.tgdg-redesign-page .tgdg-search-result-summary strong {
        font-size: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading::before,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading::before {
        display: none !important;
        content: none !important;
    }

    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading {
        padding-left: 14px !important;
    }
}

/* RH/AI 14/10/2026 v1.0.98: restore a location cue to the mobile Choose a town accordion. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-mobile-town-section > summary > span:first-child::before,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-mobile-town-section > summary > span:first-child::before {
        content: "\f3c5";
    }
}

/* RH/AI 14/10/2026 v1.0.99: remove the redundant Explore/refine heading on mobile only. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading {
        display: none !important;
    }
}


/* RH/AI 14/10/2026 v1.0.100: direct radius control on town result summaries.
   Town and town/category pages can now tighten or widen nearby results from the
   search summary itself; the underlying sidebar filter remains the source of truth. */
body.tgdg-redesign-page .tgdg-search-result-summary--town .tgdg-town-radius-control {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
}
body.tgdg-redesign-page .tgdg-search-result-summary--town .tgdg-nearby-radius-select {
    min-width: 78px;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-search-result-summary--town {
        gap: 3px;
    }
    body.tgdg-redesign-page .tgdg-search-result-summary--town .tgdg-town-radius-control {
        justify-content: flex-start;
        font-size: 12px;
    }
    body.tgdg-redesign-page .tgdg-search-result-summary--town .tgdg-nearby-radius-select {
        min-width: 76px;
        padding-top: 2px;
        padding-bottom: 2px;
        font-size: 12px;
    }
}

/* RH/AI 14/10/2026 v1.0.101: cleaner desktop directory hero.
   Location pills are removed in the location-page views; keep result summaries
   intrinsically sized so one-line and nearby-radius states use only the space needed. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-search-result-summary {
        height: auto !important;
        min-height: 0 !important;
        margin-top: 8px !important;
        padding: 6px 12px !important;
    }

    body.tgdg-redesign-page .tgdg-search-result-summary--split {
        gap: 2px !important;
    }

    body.tgdg-redesign-page .tgdg-search-result-summary-nearby {
        padding-top: 3px !important;
    }
}

/* RH/AI 14/10/2026 v1.0.102: remove redundant directory eyebrow pills on desktop.
   Applies to top-level categories, UK-wide/national categories and protected areas;
   county/town pages already omit their location pills in the view. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-eyebrow {
        display: none !important;
    }
}

/* RH/AI 14/10/2026 v1.0.105: compact category intro copy on desktop only.
   Applies to top-level category, county/category and county/town/category pages.
   Keep a useful amount of copy visible, then offer Read more / Read less so listings/browse
   controls arrive sooner without removing SEO content. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-desktop-category-intro .read-more-btn {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card .tgdg-mobile-intro-content,
    body.tgdg-redesign-page .tgdg-desktop-category-intro .tgdg-mobile-intro-content {
        position: relative;
        max-height: 250px;
        overflow: hidden;
        transition: max-height .24s ease;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card .tgdg-mobile-intro-content::after,
    body.tgdg-redesign-page .tgdg-desktop-category-intro .tgdg-mobile-intro-content::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 58px;
        pointer-events: none;
        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 84%);
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content,
    body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded .tgdg-mobile-intro-content {
        max-height: none;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content::after,
    body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded .tgdg-mobile-intro-content::after {
        display: none;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-mobile-intro-toggle,
    body.tgdg-redesign-page .tgdg-desktop-category-intro > .tgdg-mobile-intro-toggle {
        display: inline-flex;
        align-items: center;
        margin: 10px 0 0;
        padding: 5px 0 2px;
        border: 0;
        background: transparent;
        color: var(--tgdg-red-dark);
        font: inherit;
        font-size: 15px;
        font-weight: 850;
        line-height: 1.2;
        cursor: pointer;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-mobile-intro-toggle::after,
    body.tgdg-redesign-page .tgdg-desktop-category-intro > .tgdg-mobile-intro-toggle::after {
        content: " +";
        margin-left: 3px;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-toggle::after,
    body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded > .tgdg-mobile-intro-toggle::after {
        content: " -";
    }
}


/* RH/AI 14/10/2026 v1.0.106: cross-device directory-card actions.
   Use viewport width/capabilities rather than device brand detection so Android
   tablets, iPad/iPadOS, landscape phones and touch laptops all get the same
   compact action treatment. Phone rules at <=680px remain in charge there. */
@media (min-width: 681px) and (max-width: 1366px),
       (hover: none) and (pointer: coarse) and (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 8px 14px 9px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Both legacy footer shapes occur depending on how the listing was rendered.
       Flatten table wrappers so the same flex row works on iPad and Android tablets. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody > tr,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container > table > tbody > tr > td {
        display: contents !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > div {
        float: none !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button > a,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.email_us_button,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        color: var(--tgdg-ink) !important;
        background: #fff !important;
        border: 1px solid #ccd4de !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    /* Desktop-style social markup. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 {
        float: none !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 4px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social {
        float: none !important;
        flex: 0 0 30px !important;
        display: inline-flex !important;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 7px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social img,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons img,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social img {
        display: block !important;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        object-fit: contain !important;
    }
}

/* RH/AI 14/10/2026 v1.0.107: device-detector-proof listing actions.
   Some Android tablets are reported as phones by the PHP detector while iPads
   are deliberately treated as desktop. That means either result-action markup
   can arrive at tablet/landscape widths. Style BOTH variants from viewport width
   alone so the same controls remain usable on Android, iPadOS, iPhone landscape,
   touch laptops and normal desktop browsers. */
@media (min-width: 681px) {
    /* Shared wrapper hook added in Listing.php to both server-rendered variants. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-actions {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 6px 0 0 !important;
        padding: 8px 14px 9px !important;
        background: linear-gradient(90deg,#fffaf2 0%,#fff 70%) !important;
        border-top: 1px solid #ece5da !important;
        overflow: visible !important;
    }

    /* Desktop/tablet result markup. Keep this rule unbounded above 681px so a
       tablet browser using "Desktop site" still gets the correct button/icon size. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .listing-button,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-1 {
        float: none !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        color: var(--tgdg-ink) !important;
        background: #fff !important;
        border: 1px solid #ccd4de !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions a.listing-detail-link {
        color: #fff !important;
        background: var(--tgdg-red) !important;
        border-color: var(--tgdg-red) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 {
        float: none !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 4px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social:visited {
        float: none !important;
        display: inline-flex !important;
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 7px !important;
        box-shadow: none !important;
        line-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social img {
        display: block !important;
        float: none !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    /* Phone-style markup can legitimately appear on an Android tablet when the
       server-side detector fails to recognise it as a tablet. Give that markup a
       complete tablet/desktop presentation instead of leaving it unstyled. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-actions.tgdg-result-actions {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        clear: both !important;
        float: none !important;
        position: static !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-row {
        display: flex !important;
        flex: 0 1 auto !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-row--primary {
        order: 1 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-row--contact {
        order: 2 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-socials {
        order: 3 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-social-links {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 4px !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-social-spacer {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link:visited,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link:focus,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link:active {
        display: inline-flex !important;
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 7px !important;
        outline: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link::after {
        content: none !important;
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-social-link img {
        display: block !important;
        float: none !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 7px !important;
        outline: 0 !important;
        box-shadow: none !important;
        object-fit: contain !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-slot {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-action-slot.is-empty {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action:visited {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        color: var(--tgdg-ink) !important;
        background: #fff !important;
        border: 1px solid #ccd4de !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view:visited {
        color: #fff !important;
        background: var(--tgdg-red) !important;
        border-color: var(--tgdg-red) !important;
    }
}

/* RH/AI 14/10/2026 v1.0.109: tablet footer-height guard across real touch tablets.
   Some Android tablets expose a CSS viewport wider than 1180px, so the earlier
   tablet-only rule never ran. Use both a wider viewport range and coarse-pointer
   detection, and keep the document canvas light rather than extending footer-dark
   colour below the real footer. */
html.tgdg-redesign-root {
    min-height: 100% !important;
    height: auto !important;
    background: #fff !important;
    overscroll-behavior-y: none;
}

html.tgdg-redesign-root body.tgdg-redesign-page {
    min-height: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: none;
}

/* Bootstrap/Yii modals are rendered after the shared footer in main.php. Keep
   them out of normal document flow even if a tablet browser misses a legacy
   Bootstrap positioning rule. */
html.tgdg-redesign-root body.tgdg-redesign-page > .modal {
    position: fixed !important;
}

@media (min-width: 681px) and (max-width: 1600px),
       (hover: none) and (pointer: coarse) and (min-width: 681px) {
    html.tgdg-redesign-root body.tgdg-redesign-page .tgdg-redesign-shell {
        min-height: 0 !important;
    }

    html.tgdg-redesign-root body.tgdg-redesign-page .tgdg-directory-page.tgdg-page-content {
        padding-bottom: 18px !important;
    }

    html.tgdg-redesign-root body.tgdg-redesign-page .tgdg-site-footer {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}


/* RH/AI 14/10/2026 v1.0.110: remove the genuine tablet gap above the footer.
   The screenshot shows this is not browser overscroll: the directory results grid
   itself is staying taller than its visible content. Neutralise any legacy #sidebar,
   banner rail or hidden banner-count wrapper heights so the grid collapses to the
   actual listings/sidebar content on tablets and desktop-sized touch devices. */
body.tgdg-redesign-page .tgdg-directory-page .tgdg-directory-layout,
body.tgdg-redesign-page .tgdg-directory-page .tgdg-location-results-layout {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: start !important;
}

body.tgdg-redesign-page .tgdg-directory-page #sidebar.tgdg-directory-sidebar,
body.tgdg-redesign-page .tgdg-directory-page .tgdg-location-sidebar {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    align-self: start !important;
}

body.tgdg-redesign-page .tgdg-directory-page .tgdg-category-banner-rail,
body.tgdg-redesign-page .tgdg-directory-page .tgdg-location-banner-rail,
body.tgdg-redesign-page .tgdg-directory-page .tgdg-category-banner-rail #banners,
body.tgdg-redesign-page .tgdg-directory-page .tgdg-location-banner-rail #banners {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
}

/* GDG::returnBannerHTML() adds a hidden banner-count wrapper after #banners for
   the legacy infinite-loader. It must carry no layout height in the redesign. */
body.tgdg-redesign-page .tgdg-directory-page .tgdg-category-banner-rail > [id^="bannerwrap"],
body.tgdg-redesign-page .tgdg-directory-page .tgdg-location-banner-rail > [id^="bannerwrap"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

@media (min-width: 681px) and (max-width: 1600px),
       (hover: none) and (pointer: coarse) and (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-directory-page,
    body.tgdg-redesign-page .tgdg-directory-page .tgdg-directory-layout,
    body.tgdg-redesign-page .tgdg-directory-page .tgdg-directory-main,
    body.tgdg-redesign-page .tgdg-directory-page .tgdg-directory-sidebar,
    body.tgdg-redesign-page .tgdg-directory-page #main-content,
    body.tgdg-redesign-page .tgdg-directory-page #sidebar {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}

/* RH/AI 14/10/2026 v1.0.112: keep rewritten result-action labels clean at wide/tablet widths.
   Older desktop markup still contains the words "More" and "Web". Earlier tablet rules
   restored the anchor font-size, exposing those legacy words beside the redesign labels.
   Keep the legacy text at 0px and render only the intended pseudo-element labels. */
@media (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links {
        font-size: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link::after,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links::after {
        font-size: 13px !important;
        line-height: 1 !important;
    }
}

/* RH/AI 14/10/2026 v1.0.113: desktop-only action-label guard.
   Keep the legacy More/Web words hidden and show only the redesign labels.
   Touch/tablet layouts are deliberately left unchanged. */
@media (min-width: 821px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links {
        font-size: 0 !important;
        line-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link::after,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links::after {
        font-size: 13px !important;
        line-height: 1 !important;
    }
}


/* RH/AI 14/10/2026 v1.0.114: use the corrected labels from Listing.php directly.
   Desktop/tablet result cards no longer need pseudo-element text replacements. */
@media (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links {
        font-size: 13px !important;
        line-height: 1 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link::after,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.outbound_links::after {
        content: none !important;
        display: none !important;
    }
}

/* RH/AI 15/10/2026: softer gallery viewer and compact content-aware listing layout. */
body.tgdg-redesign-page .tgdg-photo-modal-backdrop {
    background: rgba(48, 66, 80, .70) !important;
}

/* RH/AI 15/10/2026 v1.0.133: gallery stage matched to the site cream palette.
   Keep the photo framed without introducing a separate modal colour. */
body.tgdg-redesign-page .tgdg-photo-modal-stage {
    background: var(--tgdg-cream, #fff7e9) !important;
}

@media (min-width: 821px) {
    /* Sparse listings keep the same 150px logo treatment as every other tier;
       compactness comes from tighter content spacing, not smaller branding. */
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .content-title-box.listing_header {
        padding: 18px 24px 14px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing_header > i.fa-heart {
        top: 17px !important;
        right: 22px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 164px minmax(0, 560px) !important;
        grid-template-areas:
            "logo address"
            "logo bullets" !important;
        justify-content: start !important;
        column-gap: 20px !important;
        row-gap: 5px !important;
        padding: 13px 24px 12px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card #listinglogo {
        display: grid !important;
        width: 164px !important;
        height: 164px !important;
        min-height: 164px !important;
        box-sizing: border-box !important;
        place-items: center !important;
        align-self: center !important;
        padding: 6px !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card #listinglogo p {
        display: grid !important;
        width: 150px !important;
        height: 150px !important;
        box-sizing: border-box !important;
        place-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        line-height: 0 !important;
        text-align: center !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card #listinglogo img {
        position: static !important;
        float: none !important;
        display: block !important;
        width: 150px !important;
        height: 150px !important;
        max-width: 150px !important;
        max-height: 150px !important;
        margin: auto !important;
        justify-self: center !important;
        align-self: center !important;
        transform: none !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header > .column {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 5px !important;
        max-width: 560px !important;
        align-self: end !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card #listing-address,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card #listing-address strong {
        padding-top: 0 !important;
        line-height: 1.38 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header .details {
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .bullets {
        max-width: 560px !important;
        align-self: start !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .bullets ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-content: start !important;
        gap: 3px !important;
        margin-top: 2px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .bullets li:not(.no-bullet) {
        min-height: 0 !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card > .content-box > .tgdg-listing-detail-actions {
        padding: 8px 24px 9px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body {
        display: grid !important;
        grid-template-columns: 220px minmax(0, 1fr) !important;
        gap: 34px !important;
        align-items: center !important;
        padding: 20px 30px 24px !important;
        background: #fff !important;
        border-bottom: 1px solid #eee7dc !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body > .tgdg-listing-inline-gallery {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body > .tgdg-listing-inline-gallery > h2 {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body .tgdg-gallery-visible-1 .tgdg-listing-gallery-preview {
        justify-content: flex-start !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body .tgdg-gallery-visible-1 .tgdg-gallery-preview-item,
    body.tgdg-redesign-page .tgdg-listing-compact-body .tgdg-gallery-visible-1 .tgdg-gallery-preview-item.tgdg-gallery-primary {
        width: 220px !important;
        max-width: 220px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body .tgdg-gallery-visible-1 .tgdg-gallery-preview-item > img {
        width: 220px !important;
        max-width: 220px !important;
        max-height: 300px !important;
        margin: 0 !important;
        object-fit: contain !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body > .description {
        align-self: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body > .description p {
        max-width: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-compact-body > .description p:first-child {
        margin-top: 0 !important;
    }
}

@media (max-width: 820px) {
    /* The compact desktop wrapper becomes a normal vertical flow on phones/tablets. */
    body.tgdg-redesign-page .tgdg-listing-compact-body {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
    }
}

/* RH/AI 15/10/2026 v1.0.124: final desktop logo-size guard.
   Every listing-detail logo uses the same 150x150 image area, including compact
   sparse listings; the cream holder remains a consistent 164px square. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        display: grid !important;
        width: 164px !important;
        min-width: 164px !important;
        max-width: 164px !important;
        height: 164px !important;
        min-height: 164px !important;
        max-height: 164px !important;
        box-sizing: border-box !important;
        place-items: center !important;
        padding: 6px !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
        display: grid !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 150px !important;
        min-height: 150px !important;
        max-height: 150px !important;
        place-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        position: static !important;
        float: none !important;
        display: block !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 150px !important;
        min-height: 150px !important;
        max-height: 150px !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }
}


/* RH/AI 15/10/2026 v1.0.125: use the otherwise empty top-right area of wide
   Free listing cards for Features & facilities. Premium/Basic keep the feature
   card in the right rail; narrower desktop and touch layouts retain the existing
   sidebar/in-card fallback so the header never becomes cramped. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 164px minmax(250px, .9fr) minmax(270px, 1.1fr) !important;
        grid-template-areas:
            "logo address features"
            "logo bullets features" !important;
        column-gap: 22px !important;
        row-gap: 6px !important;
        align-items: start !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header {
        grid-area: features !important;
        align-self: stretch !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 2px 0 2px 22px !important;
        background: transparent !important;
        border: 0 !important;
        border-left: 1px solid #eee7dc !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-listing-filter-heading {
        margin: 0 0 9px !important;
        color: var(--tgdg-ink) !important;
        font-family: var(--tgdg-display) !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-listing-filter-chips {
        display: flex !important;
        flex-wrap: wrap !important;
        align-content: flex-start !important;
        gap: 6px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-result-filter-chip {
        min-height: 28px !important;
        padding: 4px 8px !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-result-filter-icon {
        width: 18px !important;
        height: 18px !important;
        flex-basis: 18px !important;
        font-size: 9px !important;
    }

    /* The compact one-photo Free treatment still applies below the header; only
       its header grid gains the third Features column on wide desktops. */
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 164px minmax(250px, .9fr) minmax(270px, 1.1fr) !important;
        grid-template-areas:
            "logo address features"
            "logo bullets features" !important;
        justify-content: stretch !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header > .column,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .bullets {
        max-width: none !important;
    }
}

/* RH/AI 15/10/2026 v1.0.126: mobile listing-logo geometry guard.
   The desktop 150px logo paragraph was still inheriting into narrow layouts,
   overflowing the smaller mobile cream holder and pushing across the address.
   Give tablet/mobile holders, inner wrappers and images matching square sizes. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        display: grid !important;
        width: 112px !important;
        min-width: 112px !important;
        max-width: 112px !important;
        height: 112px !important;
        min-height: 112px !important;
        max-height: 112px !important;
        box-sizing: border-box !important;
        place-items: center !important;
        padding: 12px !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
        display: grid !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 88px !important;
        min-height: 88px !important;
        max-height: 88px !important;
        place-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        position: static !important;
        float: none !important;
        display: block !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 88px !important;
        min-height: 88px !important;
        max-height: 88px !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        grid-template-areas:
            "logo address"
            "bullets bullets" !important;
        gap: 12px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo {
        width: 104px !important;
        min-width: 104px !important;
        max-width: 104px !important;
        height: 104px !important;
        min-height: 104px !important;
        max-height: 104px !important;
        padding: 7px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo p {
        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;
        height: 90px !important;
        min-height: 90px !important;
        max-height: 90px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card #listinglogo img {
        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;
        height: 90px !important;
        min-height: 90px !important;
        max-height: 90px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.127: phone-only listing reading order.
   JavaScript moves the main gallery after the description and moves Free-listing
   banners after Reviews. Tablet and desktop DOM order/layout remain unchanged. */
@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-mobile-listing-banners {
        display: block !important;
        width: 100% !important;
        margin: 16px 0 0 !important;
        padding: 0 12px 18px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners {
        display: grid !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        gap: 12px !important;
        justify-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners > * {
        width: min(100%, 300px) !important;
        max-width: 300px !important;
        margin: 0 auto !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners img {
        display: block !important;
        width: 100% !important;
        max-width: 300px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
}



/* RH/AI 15/10/2026 v1.0.130: branded delayed page/search loader.
   Uses the main Good Dog Guide logo and only appears after a short delay so
   fast navigation stays instant while slower searches visibly show progress. */
body.tgdg-redesign-page .tgdg-page-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(255, 252, 246, .78);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .14s ease, visibility .14s ease;
}

body.tgdg-redesign-page .tgdg-page-loader.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.tgdg-redesign-page .tgdg-page-loader-card {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-width: 180px;
    max-width: min(86vw, 280px);
    padding: 18px 22px 16px;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #eadcc4;
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(23, 32, 50, .14), 0 4px 12px rgba(23, 32, 50, .06);
    text-align: center;
}

body.tgdg-redesign-page .tgdg-page-loader-logo {
    display: block;
    width: 88px;
    height: 88px;
    object-fit: contain;
    animation: tgdg-page-loader-spin 2.4s linear infinite;
    filter: drop-shadow(0 3px 7px rgba(23, 32, 50, .12));
}

body.tgdg-redesign-page .tgdg-page-loader-text {
    color: var(--tgdg-ink, #172032);
    font-family: var(--tgdg-display, inherit);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

body.tgdg-redesign-page.tgdg-page-loading {
    cursor: wait;
}

@keyframes tgdg-page-loader-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-page-loader-card {
        min-width: 164px;
        padding: 16px 18px 14px;
        border-radius: 16px;
    }

    body.tgdg-redesign-page .tgdg-page-loader-logo {
        width: 76px;
        height: 76px;
    }

    body.tgdg-redesign-page .tgdg-page-loader-text {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tgdg-redesign-page .tgdg-page-loader-logo {
        animation: none;
    }
}

/* RH/AI 15/10/2026 v1.0.134: keep gallery navigation visible on the cream stage.
   Use navy controls at rest, with the existing red hover/focus treatment. */
body.tgdg-redesign-page .tgdg-photo-modal-nav {
    color: var(--tgdg-navy, #172032) !important;
    background: rgba(255,255,255,.72) !important;
    border-color: rgba(23,32,50,.28) !important;
    box-shadow: 0 2px 8px rgba(23,32,50,.10) !important;
}

body.tgdg-redesign-page .tgdg-photo-modal-nav:hover,
body.tgdg-redesign-page .tgdg-photo-modal-nav:focus-visible {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}

/* RH/AI 15/10/2026 v1.0.135: keep the homepage desktop search button fully inside
   the white search panel. Homepage has its own legacy inline search sizing, so pin
   the desktop grid and button width here without changing tablet/mobile. */
@media (min-width: 821px) {
    #homepage-search.search-panel {
        box-sizing: border-box !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 142px !important;
        width: min(760px, 100%) !important;
        max-width: 100% !important;
        padding: 8px !important;
    }

    #homepage-search.search-panel > * {
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    #homepage-search.search-panel .primary-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

/* RH/AI 15/10/2026 v1.0.136: larger, viewport-safe listing Contact modal.
   Keep the close/header controls permanently reachable while long forms scroll
   inside the card instead of pushing the dialog against or beyond the viewport. */
@media (min-width: 641px) {
    body.tgdg-redesign-page #contact-us-modal.in {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 24px 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-dialog {
        width: min(760px, calc(100% - 48px)) !important;
        max-width: 760px !important;
        margin: 0 auto !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-content {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-height: calc(100vh - 48px) !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header {
        flex: 0 0 auto !important;
        z-index: 2 !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-footer {
        flex: 0 0 auto !important;
    }
}

@media (max-width: 640px) {
    body.tgdg-redesign-page #contact-us-modal.in {
        padding: 10px 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-content {
        display: flex !important;
        flex-direction: column !important;
        max-height: calc(100vh - 20px) !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header {
        flex: 0 0 auto !important;
        z-index: 2 !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }
}

/* RH/AI 15/10/2026 v1.0.137: contact modal viewport fix.
   The same Contact modal is used from result strips and full listing pages. Force
   it to the browser viewport, enlarge it on desktop, and keep the header/close
   control visible while only the form body scrolls on shorter/mobile screens. */
body.tgdg-redesign-page #contact-us-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 14px 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 2147482000 !important;
    -webkit-overflow-scrolling: touch;
}

body.tgdg-redesign-page #contact-us-modal .modal-dialog {
    width: min(780px, calc(100% - 32px)) !important;
    max-width: 780px !important;
    margin: 0 auto !important;
    transform: none !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-content {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-height: calc(100vh - 28px) !important;
    max-height: calc(100dvh - 28px) !important;
    overflow: hidden !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    flex: 0 0 auto !important;
}

body.tgdg-redesign-page #contact-us-modal .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

body.tgdg-redesign-page #contact-us-modal .modal-footer {
    flex: 0 0 auto !important;
}

@media (max-width: 640px) {
    body.tgdg-redesign-page #contact-us-modal {
        padding: max(8px, env(safe-area-inset-top)) 0 max(8px, env(safe-area-inset-bottom)) !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-dialog {
        width: calc(100% - 16px) !important;
        max-width: none !important;
        margin: 0 auto !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-content {
        max-height: calc(100vh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 18px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header {
        padding-top: 16px !important;
        padding-bottom: 14px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.138: contact modal tablet/desktop usability.
   On tablet/desktop the whole contact card now scrolls naturally (rather than a
   narrow inner body only), the form is slightly more compact so Send message
   sits higher, and touch Contact controls are explicitly tap-friendly. Mobile
   phone behaviour is intentionally left as-is. */
body.tgdg-redesign-page a.email_us_button,
body.tgdg-redesign-page .tgdg-detail-action-contact {
    touch-action: manipulation;
}

@media (min-width: 641px) {
    body.tgdg-redesign-page #contact-us-modal {
        overflow: hidden !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-content {
        max-height: calc(100vh - 32px) !important;
        max-height: calc(100dvh - 32px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 30 !important;
        padding: 16px 56px 14px 20px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-body {
        flex: 0 0 auto !important;
        min-height: auto !important;
        padding: 16px 20px 18px !important;
        overflow: visible !important;
    }

    body.tgdg-redesign-page #contact-us-modal .form-group {
        margin-bottom: 10px !important;
    }

    body.tgdg-redesign-page #contact-us-modal textarea.form-control {
        min-height: 100px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .form-group-contact {
        margin-top: 2px !important;
        margin-bottom: 0 !important;
    }
}

@media (min-width: 641px) and (max-width: 1100px) {
    body.tgdg-redesign-page #contact-us-modal .modal-dialog {
        width: min(700px, calc(100% - 24px)) !important;
        max-width: 700px !important;
    }

    body.tgdg-redesign-page #contact-us-modal .modal-content {
        max-height: calc(100vh - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
    }
}

/* RH/AI 15/10/2026 v1.0.140: tablet listing-detail interaction rollback/fix.
   Keep the same original Website/Contact anchors used by working result strips.
   Only the telephone Show control gets a real button on server-detected tablets.
   Also trim the listing page's bottom breathing room on tablets. */
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-device-tablet {
    margin-bottom: 24px !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-device-tablet .tgdg-tablet-phone-reveal {
    appearance: none !important;
    -webkit-appearance: none !important;
    font-family: inherit !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-device-tablet .tgdg-tablet-phone-number,
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-device-tablet .tgdg-tablet-phone-number:link,
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-device-tablet .tgdg-tablet-phone-number:visited {
    color: inherit !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    touch-action: manipulation !important;
}

/* RH/AI 15/10/2026 v1.0.141: redesigned 404 and general error pages.
   Error responses now stay inside the new TGDG header/footer instead of falling
   back to the legacy blue site surround. */
body.tgdg-redesign-page .tgdg-error-page {
    width: min(1180px, calc(100% - 40px));
    min-height: clamp(480px, 62vh, 700px);
    margin: 0 auto;
    padding: clamp(46px, 7vw, 92px) 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.tgdg-redesign-page .tgdg-error-card {
    position: relative;
    width: min(760px, 100%);
    overflow: hidden;
    padding: clamp(32px, 5vw, 58px);
    text-align: center;
    background: var(--tgdg-paper, #fffdf8);
    border: 1px solid var(--tgdg-line, #e7e1d7);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(23, 32, 50, .12);
}

body.tgdg-redesign-page .tgdg-error-code {
    position: absolute;
    top: -28px;
    right: 18px;
    color: rgba(142,26,34,.065);
    font-family: var(--tgdg-display, "Fredoka", sans-serif);
    font-size: clamp(110px, 18vw, 190px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.06em;
    pointer-events: none;
    user-select: none;
}

body.tgdg-redesign-page .tgdg-error-eyebrow {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    color: var(--tgdg-red-dark, #70131b);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .12em;
}

body.tgdg-redesign-page .tgdg-error-card h1 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--tgdg-ink, #172032);
    font-family: var(--tgdg-display, "Fredoka", sans-serif);
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 800;
    line-height: 1.05;
}

body.tgdg-redesign-page .tgdg-error-intro {
    position: relative;
    z-index: 1;
    max-width: 620px;
    margin: 20px auto 0;
    color: var(--tgdg-muted, #586276);
    font-size: 17px;
    line-height: 1.65;
}

body.tgdg-redesign-page .tgdg-error-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
}

body.tgdg-redesign-page .tgdg-error-actions a {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

body.tgdg-redesign-page .tgdg-error-actions a:hover,
body.tgdg-redesign-page .tgdg-error-actions a:focus-visible {
    transform: translateY(-1px);
}

body.tgdg-redesign-page .tgdg-error-primary {
    color: #fff !important;
    background: var(--tgdg-red, #8e1a22);
    border: 1px solid var(--tgdg-red, #8e1a22);
    box-shadow: 0 9px 22px rgba(142,26,34,.18);
}

body.tgdg-redesign-page .tgdg-error-primary:hover,
body.tgdg-redesign-page .tgdg-error-primary:focus-visible {
    background: var(--tgdg-red-dark, #70131b);
    border-color: var(--tgdg-red-dark, #70131b);
}

body.tgdg-redesign-page .tgdg-error-secondary {
    color: var(--tgdg-ink, #172032) !important;
    background: var(--tgdg-cream, #fff7e9);
    border: 1px solid #eadcc6;
}

body.tgdg-redesign-page .tgdg-error-secondary:hover,
body.tgdg-redesign-page .tgdg-error-secondary:focus-visible {
    background: #fff1d8;
    border-color: #dfcba9;
}

body.tgdg-redesign-page .tgdg-error-help {
    position: relative;
    z-index: 1;
    margin: 24px 0 0;
    color: var(--tgdg-muted, #586276);
    font-size: 14px;
    line-height: 1.55;
}

body.tgdg-redesign-page .tgdg-error-help a {
    color: var(--tgdg-red-dark, #70131b);
    font-weight: 800;
}

@media (max-width: 620px) {
    body.tgdg-redesign-page .tgdg-error-page {
        width: min(100% - 24px, 1180px);
        min-height: 0;
        padding: 34px 0 46px;
    }

    body.tgdg-redesign-page .tgdg-error-card {
        padding: 30px 20px 32px;
        border-radius: 22px;
    }

    body.tgdg-redesign-page .tgdg-error-code {
        top: -8px;
        right: 8px;
        font-size: 105px;
    }

    body.tgdg-redesign-page .tgdg-error-intro {
        font-size: 16px;
    }

    body.tgdg-redesign-page .tgdg-error-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.tgdg-redesign-page .tgdg-error-actions a {
        width: 100%;
    }
}



/* RH/AI 15/10/2026 v1.0.142: enlarge any redesigned inline Leaflet map in a shared modal.
   The OpenStreetMap contributor credit remains visible as required; Leaflet branding/flag is removed. */
body.tgdg-redesign-page .tgdg-map-enlarge-host {
    position: relative !important;
}

body.tgdg-redesign-page .tgdg-map-enlarge-button {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 650 !important;
    display: inline-flex !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 7px 11px !important;
    color: var(--tgdg-ink, #172032) !important;
    background: rgba(255,255,255,.95) !important;
    border: 1px solid rgba(23,32,50,.22) !important;
    border-radius: 999px !important;
    box-shadow: 0 3px 12px rgba(23,32,50,.15) !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.tgdg-redesign-page .tgdg-map-enlarge-button:hover,
body.tgdg-redesign-page .tgdg-map-enlarge-button:focus-visible {
    color: #fff !important;
    background: var(--tgdg-red, #8e1a22) !important;
    border-color: var(--tgdg-red, #8e1a22) !important;
    outline: none !important;
}

body.tgdg-redesign-page .tgdg-map-enlarge-button > span:first-child {
    font-size: 17px !important;
    line-height: .8 !important;
}

body.tgdg-redesign-page .leaflet-container[data-tgdg-enlarge-ready="1"] {
    cursor: zoom-in !important;
}
body.tgdg-redesign-page .leaflet-container[data-tgdg-enlarge-ready="1"].leaflet-dragging {
    cursor: grabbing !important;
}

body.tgdg-map-modal-open {
    overflow: hidden !important;
}

body.tgdg-redesign-page .tgdg-map-enlarge-modal[hidden] {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 25000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(23,32,50,.66) !important;
    backdrop-filter: blur(2px);
}
body.tgdg-redesign-page .tgdg-map-enlarge-card {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    width: min(1180px, 92vw) !important;
    max-height: 90vh !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: var(--tgdg-cream, #fff7e9) !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 80px rgba(9,16,30,.34) !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-header {
    display: flex !important;
    min-height: 66px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 12px 16px 12px 20px !important;
    background: var(--tgdg-cream, #fff7e9) !important;
    border-bottom: 1px solid #eadfce !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-header > div {
    min-width: 0 !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-kicker {
    display: block !important;
    margin-bottom: 1px !important;
    color: var(--tgdg-red-dark, #70131b) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
body.tgdg-redesign-page #tgdg-map-enlarge-title {
    display: block !important;
    color: var(--tgdg-ink, #172032) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-close {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    color: var(--tgdg-ink, #172032) !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,50,.18) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(23,32,50,.08) !important;
    font: 400 31px/1 Arial, sans-serif !important;
    cursor: pointer !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-close:hover,
body.tgdg-redesign-page .tgdg-map-enlarge-close:focus-visible {
    color: #fff !important;
    background: var(--tgdg-red, #8e1a22) !important;
    border-color: var(--tgdg-red, #8e1a22) !important;
    outline: none !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-stage {
    position: relative !important;
    width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    background: var(--tgdg-cream, #fff7e9) !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
    display: block !important;
    width: 100% !important;
    height: min(76vh, 720px) !important;
    min-height: 480px !important;
    border-radius: 15px !important;
    cursor: grab !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container.leaflet-dragging {
    cursor: grabbing !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-control-attribution,
body.tgdg-redesign-page .tgdg-inline-listings-map .leaflet-control-attribution,
body.tgdg-redesign-page .tgdg-inline-listing-location-map .leaflet-control-attribution {
    max-width: calc(100% - 12px) !important;
    padding: 2px 5px !important;
    color: #596376 !important;
    background: rgba(255,255,255,.9) !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
}
body.tgdg-redesign-page .tgdg-map-enlarge-placeholder {
    width: 100% !important;
    min-height: 220px !important;
    background: #eef2ed !important;
    border-radius: 14px !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-map-enlarge-button {
        top: 8px !important;
        right: 8px !important;
        min-height: 34px !important;
        padding: 6px 9px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-modal {
        padding: 12px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-card {
        width: 100% !important;
        max-height: 94dvh !important;
        border-radius: 18px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-header {
        min-height: 58px !important;
        padding: 10px 10px 10px 15px !important;
    }
    body.tgdg-redesign-page #tgdg-map-enlarge-title {
        font-size: 19px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-close {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-stage {
        padding: 7px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
        height: 72dvh !important;
        min-height: 360px !important;
        border-radius: 12px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.143: give enlarged maps more breathing room on tablets.
   Desktop keeps the larger presentation; phones keep the mobile enlargement already in use,
   including the results-page Open map popup. */
@media (min-width: 761px) and (max-width: 1180px) {
    body.tgdg-redesign-page .tgdg-map-enlarge-modal {
        padding: 54px 26px !important;
    }

    body.tgdg-redesign-page .tgdg-map-enlarge-card {
        width: min(980px, 90vw) !important;
        max-height: 82dvh !important;
        border-radius: 20px !important;
    }

    body.tgdg-redesign-page .tgdg-map-enlarge-header {
        min-height: 60px !important;
        padding: 10px 14px 10px 18px !important;
    }

    body.tgdg-redesign-page #tgdg-map-enlarge-title {
        font-size: 20px !important;
    }

    body.tgdg-redesign-page .tgdg-map-enlarge-stage {
        padding: 8px !important;
    }

    body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
        height: min(62dvh, 560px) !important;
        min-height: 340px !important;
        border-radius: 14px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.144: reliable tablet map sizing + county-only inline map.
   Tablet detection is now based on the physical touch screen, not the browser viewport,
   so Firefox/Chrome desktop-mode tablets get the same smaller popup with real breathing room. */
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-modal {
    padding: 64px 28px 54px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-card {
    width: min(930px, 88vw) !important;
    max-height: 78dvh !important;
    border-radius: 20px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-header {
    min-height: 58px !important;
    padding: 9px 13px 9px 17px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page #tgdg-map-enlarge-title {
    font-size: 20px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-stage {
    padding: 8px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
    height: min(56dvh, 500px) !important;
    min-height: 320px !important;
    border-radius: 14px !important;
}

/* Directory result maps opened from the mobile Map/Open map control can now be
   enlarged too. Keep the Enlarge control clear of the existing Close pill. */
@media (max-width: 760px) {
    body.tgdg-redesign-page #modal .tgdg-map-enlarge-button {
        top: 12px !important;
        right: 96px !important;
    }
}

/* County-only pages use the same live OSM map card as the other redesigned map sidebars. */
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-block {
    width: 100% !important;
    margin: 0 0 18px !important;
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-heading {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 12px !important;
    padding: 12px 16px !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(23,32,50,.045) !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-heading strong {
    color: var(--tgdg-ink, #172032) !important;
    font-family: var(--tgdg-display) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(23,32,50,.055) !important;
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card #gmap-canvas,
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map {
    width: 100% !important;
    height: 270px !important;
    min-height: 270px !important;
    border-radius: 17px !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-block {
        width: 100% !important;
        margin: 4px 0 0 !important;
    }
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-heading {
        min-height: 50px !important;
        margin-bottom: 9px !important;
        padding: 10px 14px !important;
    }
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card #gmap-canvas,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map {
        height: 300px !important;
        min-height: 300px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.147: keep the inline county map at the standard sidebar height,
   but give its enlarged map proper desktop depth. The tablet-specific modal sizing above
   remains authoritative on physical tablets. */
@media (min-width: 1181px) {
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page.tgdg-county-only-page .tgdg-map-enlarge-stage .tgdg-county-inline-map.leaflet-container {
        height: min(72vh, 680px) !important;
        min-height: 560px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.148: one clean map treatment across redesigned county,
   town/category and individual listing sidebars on desktop/tablet. The preferred
   county-town-category treatment is simply the rounded Leaflet map itself: no
   separate Location Map heading, white surround or extra card shadow. Mobile keeps
   its existing result-page controls and ordering. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-location-map-block > .sidebar-content.tgdg-inline-map-card,
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content.tgdg-inline-listing-map-card,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card {
        margin: 0 0 18px !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 18px !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h1.tgdg-mobile-map-item,
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h2.tgdg-mobile-map-item,
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h3.tgdg-mobile-map-item,
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h4.tgdg-mobile-map-item,
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h5.tgdg-mobile-map-item,
    body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h6.tgdg-mobile-map-item,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-heading {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-inline-listings-map.leaflet-container,
    body.tgdg-redesign-page .tgdg-inline-listing-location-map.leaflet-container,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map.leaflet-container {
        border-radius: 18px !important;
    }

    body.tgdg-redesign-page .tgdg-inline-listing-location-map {
        height: 270px !important;
        min-height: 270px !important;
    }
}

/* Physical tablets can be in Firefox/Chrome desktop-site mode with a desktop-sized
   viewport. Repeat the same visual treatment using the tablet marker so they cannot
   fall back to the older titled/card presentation. */
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-location-map-block > .sidebar-content.tgdg-inline-map-card,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > .sidebar-content.tgdg-inline-listing-map-card,
html.tgdg-tablet-device body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card {
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h1.tgdg-mobile-map-item,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h2.tgdg-mobile-map-item,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h3.tgdg-mobile-map-item,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h4.tgdg-mobile-map-item,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h5.tgdg-mobile-map-item,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-listing-detail-sidebar > h6.tgdg-mobile-map-item,
html.tgdg-tablet-device body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-heading {
    display: none !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-inline-listing-location-map {
    height: 270px !important;
    min-height: 270px !important;
}


/* RH/AI 15/10/2026 v1.0.151: mobile directory maps now use one live Leaflet map
   inside the same compact Map accordion as the other refine controls. This also
   gives county-only pages a mobile map and lets filters update clusters immediately. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-mobile-map-section > summary .tgdg-mobile-map-label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section > summary .tgdg-mobile-map-label i {
        color: var(--tgdg-red, #8e1a22);
        font-size: 13px;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-refine-section-body {
        padding: 0 12px 14px !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-live-map-host {
        position: relative;
        width: 100%;
        overflow: hidden;
        border-radius: 14px;
        background: #eef7f8;
    }

    body.tgdg-redesign-page .tgdg-mobile-live-map.leaflet-container {
        width: 100% !important;
        height: 270px !important;
        min-height: 270px !important;
        border-radius: 14px !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-live-map-host > .tgdg-map-enlarge-button {
        top: 10px !important;
        right: 10px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.152: use the normal refine-row treatment for the
   mobile Map dropdown and allow the complete desktop Leaflet map to be moved
   into it. This preserves every marker/cluster rather than rebuilding from the
   first visible batch of result cards. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-mobile-map-section.tgdg-map-section > summary > span:first-child::before {
        content: "\f279" !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-mobile-moved-map-block,
    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-mobile-moved-map-block.tgdg-desktop-map-block,
    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-location-map-block.tgdg-mobile-moved-map-block {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-mobile-moved-map-block > .sidebar-content,
    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-mobile-moved-map-block .tgdg-inline-map-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section .tgdg-mobile-moved-map-block .leaflet-container {
        width: 100% !important;
        height: 270px !important;
        min-height: 270px !important;
        border-radius: 14px !important;
    }
}


/* RH/AI 15/10/2026 v1.0.156: on phones the directory map is always visible
   inline beneath the Town control. No separate Map accordion is used. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-mobile-map-section.tgdg-mobile-map-inline {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 12px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-section.tgdg-mobile-map-inline > summary {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-inline-body {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-inline .tgdg-mobile-moved-map-block,
    body.tgdg-redesign-page .tgdg-mobile-map-inline .tgdg-mobile-moved-map-block.tgdg-desktop-map-block,
    body.tgdg-redesign-page .tgdg-mobile-map-inline .tgdg-location-map-block.tgdg-mobile-moved-map-block {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-inline .tgdg-mobile-moved-map-block > .sidebar-content,
    body.tgdg-redesign-page .tgdg-mobile-map-inline .tgdg-mobile-moved-map-block .tgdg-inline-map-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-map-inline .leaflet-container {
        width: 100% !important;
        height: 270px !important;
        min-height: 270px !important;
        border-radius: 14px !important;
    }
}


/* RH/AI 15/10/2026 v1.0.157: county phones use the complete server-side marker
   dataset in one clean inline map. Collapse every legacy map shell/placeholder so
   the old paged 20-result map cannot leave a blank block above the live map. */
@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-location-page .tgdg-desktop-map-block,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-location-page .tgdg-location-map-block:not(.tgdg-mobile-moved-map-block),
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-location-page .tgdg-map-placeholder,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-location-page .tgdg-map-placeholder-main,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-location-page .tgdg-map-placeholder-button {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-mobile-map-inline,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-mobile-map-inline .tgdg-mobile-map-inline-body,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-mobile-map-inline .tgdg-mobile-live-map-host {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-mobile-map-inline .tgdg-mobile-live-map.leaflet-container {
        display: block !important;
        width: 100% !important;
        height: 270px !important;
        min-height: 270px !important;
        max-height: none !important;
        overflow: hidden !important;
    }
}

/* RH/AI 15/10/2026 v1.0.160: simplify the phone hierarchy on directory-result pages.
   Search + result count already establish context, so keep the real H1 accessible but
   visually remove the repeated oversized title. The editorial intro starts directly
   without another generated category/location heading; Read more stays a quiet text control. */
@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-mobile-directory-result-page .tgdg-directory-hero h1 {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page.tgdg-mobile-directory-result-page .tgdg-directory-hero-copy > .tgdg-search-result-summary {
        margin-top: 7px !important;
    }

    body.tgdg-redesign-page.tgdg-mobile-directory-result-page .tgdg-directory-intro-card {
        padding: 13px 15px 12px !important;
        border-color: rgba(23,32,50,.08) !important;
        background: rgba(255,255,255,.84) !important;
        box-shadow: 0 5px 14px rgba(23,32,50,.04) !important;
    }


    body.tgdg-redesign-page.tgdg-mobile-directory-result-page .tgdg-directory-intro-card .tgdg-mobile-intro-content {
        max-height: 82px !important;
    }

    body.tgdg-redesign-page.tgdg-mobile-directory-result-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content {
        max-height: none !important;
    }

    body.tgdg-redesign-page.tgdg-mobile-directory-result-page .tgdg-mobile-intro-toggle {
        margin-top: 5px !important;
        padding: 2px 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: var(--tgdg-red-dark) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        text-decoration: none !important;
    }
}


/* RH/AI 15/10/2026 v1.0.161: remove the duplicated leading editorial heading on
   phone directory-result intros. Search + result count already state the category;
   later subheadings inside expanded copy are left untouched. */
@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-mobile-directory-result-page
    .tgdg-directory-intro-card .tgdg-mobile-redundant-intro-heading {
        display: none !important;
    }
}


/* RH/AI 15/10/2026 v1.0.162: top-level category pages on phones already state
   the selected category in Search and again in the result count. Keep the real H1
   in the document for structure, but remove the large repeated display heading so
   the photographic hero finishes immediately after the result summary. */
@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-category-result-page .tgdg-directory-hero h1,
    body.tgdg-redesign-page.tgdg-category-result-page .tgdg-category-hero h1 {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page.tgdg-category-result-page .tgdg-directory-hero-inner {
        padding-bottom: 9px !important;
    }

    body.tgdg-redesign-page.tgdg-category-result-page .tgdg-directory-hero + .tgdg-page-content {
        padding-top: 8px !important;
    }
}


/* RH/AI 15/10/2026 v1.0.163: top-level category pages use legacy mobile routing,
   so detect their actual landing-page markup rather than relying on GDGF pageType.
   Remove only the repeated large category hero title on phones and let the hero
   contract naturally so the photograph/content below moves up. */
@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero h1,
    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-category-hero h1 {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero,
    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero--standard,
    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero-inner,
    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner {
        min-height: 0 !important;
        height: auto !important;
    }

    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero-inner {
        padding-bottom: 10px !important;
    }

    body.tgdg-redesign-page.tgdg-top-category-page .tgdg-directory-hero + .tgdg-page-content {
        padding-top: 8px !important;
    }
}


/* RH/AI 15/10/2026 v1.0.164: prevent mobile directory headings / intro copy
   flashing before the footer JavaScript applies its compact phone treatment.
   The server adds this class for category, county, county/category, town and
   town/category permutations, so the first paint now matches the final state. */
@media (max-width: 760px) {
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page .tgdg-directory-hero h1,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page .tgdg-category-hero h1 {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Before tgdg-mobile-directory-intro-script wraps the content, keep the raw
       intro to the same compact footprint. Once prepared, the normal content
       wrapper/toggle rules take over. */
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) {
        max-height: 118px !important;
        overflow: hidden !important;
    }

    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) .read-more-btn {
        display: none !important;
    }

    /* Match the later JS cleanup on the raw server markup too, so a leading
       repeated editorial heading cannot flash for one frame before disappearing. */
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > h1:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > h2:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > h3:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > .tgdg-intro-text-wrap > h1:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > .tgdg-intro-text-wrap > h2:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > .tgdg-intro-text-wrap > h3:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > .intro-text > h1:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > .intro-text > h2:first-child,
    body.tgdg-redesign-page.tgdg-directory-mobile-clean-page
    .tgdg-directory-intro-card:not([data-tgdg-mobile-intro-prepared]) > .intro-text > h3:first-child {
        display: none !important;
    }
}

/* RH/AI 15/10/2026 v1.0.165: prevent legacy Yii search labels flashing on
   phone directory pages before the responsive search enhancement settles.
   The visible controls already carry their prompt/value, so these labels are
   redundant in the compact mobile search panel. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-directory-search.search-panel label {
        display: none !important;
    }
}

/* RH/AI 15/10/2026 v1.0.166: shared directory-map popup refresh.
   Use one clean card for county/category/town maps, keep logos on their own row,
   and surface a compact set of real listing filters without crowding the map. */
body.tgdg-redesign-page .tgdg-leaflet-popup .leaflet-popup-content-wrapper,
body.tgdg-redesign-page .leaflet-popup .leaflet-popup-content-wrapper {
    overflow: hidden !important;
    padding: 0 !important;
    background: #fffdf9 !important;
    border: 1px solid rgba(23,32,50,.10) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 34px rgba(23,32,50,.18) !important;
}
body.tgdg-redesign-page .tgdg-leaflet-popup .leaflet-popup-content,
body.tgdg-redesign-page .leaflet-popup .leaflet-popup-content {
    width: 260px !important;
    max-width: min(260px, calc(100vw - 64px)) !important;
    margin: 0 !important;
    color: var(--tgdg-ink) !important;
    line-height: 1.4 !important;
}
body.tgdg-redesign-page .tgdg-map-popup-card,
body.tgdg-redesign-page .leaflet-popup-content .mapinfo {
    width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    color: var(--tgdg-ink) !important;
    background: #fffdf9 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-map-popup-card h2,
body.tgdg-redesign-page .leaflet-popup-content .mapinfo h2,
body.tgdg-redesign-page .tgdg-leaflet-popup .mapinfo h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 28px 9px 0 !important;
    padding: 0 !important;
    color: var(--tgdg-ink) !important;
    background: transparent !important;
    border: 0 !important;
    font-family: var(--tgdg-display) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-map-popup-logo {
    display: flex !important;
    width: 100% !important;
    min-height: 58px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 0 9px !important;
    padding: 8px 10px !important;
    background: var(--tgdg-cream) !important;
    border: 1px solid #f0dfc4 !important;
    border-radius: 11px !important;
    box-sizing: border-box !important;
}
body.tgdg-redesign-page .tgdg-map-popup-logo img,
body.tgdg-redesign-page .tgdg-leaflet-popup .mapinfo .tgdg-map-popup-logo img,
body.tgdg-redesign-page .leaflet-popup-content .mapinfo .tgdg-map-popup-logo img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 72px !important;
    margin: 0 !important;
    object-fit: contain !important;
}
body.tgdg-redesign-page .tgdg-map-popup-location,
body.tgdg-redesign-page .tgdg-map-popup-phone {
    margin: 5px 0 0 !important;
    color: #596376 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}
body.tgdg-redesign-page .tgdg-map-popup-features {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin: 10px 0 0 !important;
}
body.tgdg-redesign-page .tgdg-map-popup-features > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 25px !important;
    padding: 4px 7px !important;
    color: #294236 !important;
    background: #eef8f1 !important;
    border: 1px solid #cfe4d5 !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
body.tgdg-redesign-page .tgdg-map-popup-features > .tgdg-map-popup-more {
    color: #294236 !important;
    background: #f7fbf8 !important;
}
body.tgdg-redesign-page .tgdg-map-popup-link {
    display: flex !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 12px 0 0 !important;
    padding: 8px 12px !important;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}
body.tgdg-redesign-page .tgdg-map-popup-link:hover,
body.tgdg-redesign-page .tgdg-map-popup-link:focus-visible {
    color: #fff !important;
    background: var(--tgdg-red-dark) !important;
}
body.tgdg-redesign-page .tgdg-map-cluster {
    cursor: pointer !important;
}

/* Phone only: enlarged maps should feel genuinely full-screen. Tablets retain their
   approved inset treatment below, and desktop sizing is untouched. */
@media (max-width: 760px) {
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-modal {
        padding: 4px !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-card {
        width: calc(100vw - 8px) !important;
        height: calc(100dvh - 8px) !important;
        max-height: calc(100dvh - 8px) !important;
        border-radius: 13px !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-header {
        min-height: 50px !important;
        flex: 0 0 50px !important;
        padding: 6px 7px 6px 12px !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-kicker {
        display: none !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page #tgdg-map-enlarge-title {
        font-size: 17px !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-close {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-stage {
        display: flex !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 4px !important;
    }
    html:not(.tgdg-tablet-device) body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        border-radius: 9px !important;
    }
    body.tgdg-redesign-page .tgdg-leaflet-popup .leaflet-popup-content,
    body.tgdg-redesign-page .leaflet-popup .leaflet-popup-content {
        width: 238px !important;
        max-width: calc(100vw - 58px) !important;
    }
    body.tgdg-redesign-page .tgdg-map-popup-card,
    body.tgdg-redesign-page .leaflet-popup-content .mapinfo {
        padding: 12px !important;
    }
}

/* RH/AI 15/10/2026 v1.0.167: give tablet inline maps a little more depth.
   Phone and desktop sizes stay unchanged; this only removes the slightly letterboxy
   feel on tablet-width and physical-tablet directory/listing maps. */
@media (min-width: 761px) and (max-width: 1180px) {
    body.tgdg-redesign-page .tgdg-inline-listings-map,
    body.tgdg-redesign-page .tgdg-inline-listing-location-map,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map,
    body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card #gmap-canvas {
        height: 330px !important;
        min-height: 330px !important;
    }
}

html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-inline-listings-map,
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-inline-listing-location-map,
html.tgdg-tablet-device body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map,
html.tgdg-tablet-device body.tgdg-redesign-page.tgdg-county-only-page .tgdg-county-inline-map-card #gmap-canvas {
    height: 330px !important;
    min-height: 330px !important;
}

/* RH/AI 16/10/2026 v1.0.169: tablet enlarged-map sizing and popup stability pass.
   The previous tablet override was accidentally written with escaped newlines, so the
   browser never parsed it. Give tablets a genuine near-full-height map while preserving
   the phone and desktop treatments. */
@media (min-width: 761px) and (max-width: 1180px) {
    body.tgdg-redesign-page .tgdg-map-enlarge-modal {
        padding: 12px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-card {
        display: flex !important;
        width: min(1080px, calc(100vw - 24px)) !important;
        height: calc(100vh - 24px) !important;
        height: calc(100dvh - 24px) !important;
        max-height: calc(100vh - 24px) !important;
        max-height: calc(100dvh - 24px) !important;
        flex-direction: column !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-header {
        flex: 0 0 58px !important;
        min-height: 58px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-stage {
        display: flex !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 7px !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        border-radius: 13px !important;
    }
}

html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-modal {
    padding: 12px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-card {
    display: flex !important;
    width: min(1080px, calc(100vw - 24px)) !important;
    height: calc(100vh - 24px) !important;
    height: calc(100dvh - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    flex-direction: column !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-header {
    flex: 0 0 58px !important;
    min-height: 58px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-stage {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 7px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-container {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 13px !important;
}

/* Keep richer tablet popups compact enough to remain comfortably visible. */
@media (min-width: 761px) and (max-width: 1180px) {
    body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-popup-content-wrapper {
        max-height: calc(100dvh - 150px) !important;
    }
    body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-popup-content {
        max-height: calc(100dvh - 160px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-popup-content-wrapper {
    max-height: calc(100dvh - 150px) !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-map-enlarge-stage .leaflet-popup-content {
    max-height: calc(100dvh - 160px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}


/* RH/AI 16/10/2026 v1.0.170: directory filter hierarchy, live availability counts
   and touch-friendly Sleeps / Number of dogs steppers across desktop, tablet and mobile. */
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-list {
    margin: 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-list + .tgdg-filter-list {
    margin-top: 11px !important;
    padding-top: 11px !important;
    border-top: 1px solid #eee2d1 !important;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-copy {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: 4px;
    flex-wrap: wrap;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-count {
    color: #948679;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* These two numeric filters are one control, not a checkbox plus a detached box. */
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-filter-item,
body.tgdg-redesign-page .tgdg-filter-shell .numeric-filter-item.tgdg-stepper-filter-item {
    display: flex !important;
    grid-template-columns: none !important;
    min-height: 34px;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 2px 7px !important;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-filter-label {
    display: flex;
    flex: 0 0 103px;
    min-width: 0;
    align-items: center;
    margin: 0;
    padding: 0;
    color: #374052;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
}

body.tgdg-redesign-page .tgdg-filter-shell input.tgdg-stepper-filter-toggle {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-number-stepper {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 3px;
    margin: 0;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button {
    display: inline-flex;
    width: 29px;
    height: 29px;
    min-width: 29px;
    min-height: 29px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    color: #6d5942;
    background: #fff9ef;
    border: 1px solid #e3cfaf;
    border-radius: 9px;
    box-shadow: none;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
    transition: color .15s ease, background-color .15s ease, border-color .15s ease, transform .12s ease;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button:hover,
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button:focus-visible {
    color: var(--tgdg-red-dark);
    background: #fff2de;
    border-color: #e7bca8;
    outline: none;
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button:active:not(:disabled) {
    transform: translateY(1px);
}

body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button:disabled {
    opacity: .34;
    cursor: default;
    transform: none;
}

body.tgdg-redesign-page .tgdg-filter-shell input.input_numbers.tgdg-stepper-input {
    top: 0 !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 29px !important;
    min-height: 29px !important;
    margin: 0 !important;
    padding: 3px 2px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #e0cba9 !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 2px rgba(52, 37, 19, .05) !important;
    font-size: 12px;
    font-weight: 850;
    text-align: center !important;
    pointer-events: none;
}

body.tgdg-redesign-page .tgdg-filter-shell input.tgdg-stepper-input::placeholder {
    color: #7f7469;
    opacity: 1;
    font-size: 10px;
    font-weight: 800;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-list + .tgdg-filter-list {
        margin-top: 13px !important;
        padding-top: 13px !important;
    }

    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-filter-item,
    body.tgdg-redesign-page .tgdg-filter-shell .numeric-filter-item.tgdg-stepper-filter-item {
        min-height: 42px;
        gap: 11px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }

    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-filter-label {
        flex-basis: 108px;
        font-size: 12px;
    }

    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        border-radius: 10px;
        font-size: 18px;
    }

    body.tgdg-redesign-page .tgdg-filter-shell input.input_numbers.tgdg-stepper-input {
        width: 47px !important;
        min-width: 47px !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 13px;
    }
}

/* Physical tablets can use a desktop-width layout, so give their stepper controls
   the same finger-friendly target size even when the CSS viewport is wider than 760px. */
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-filter-item {
    min-height: 42px;
    gap: 9px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-filter-label {
    flex-basis: 92px;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell .tgdg-stepper-button {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    border-radius: 10px;
    font-size: 18px;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell input.input_numbers.tgdg-stepper-input {
    width: 47px !important;
    min-width: 47px !important;
    height: 36px !important;
    min-height: 36px !important;
}

/* RH/AI 16/10/2026: keep Mileage Radius stepper exactly aligned with Sleeps/Dogs. */
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-radius-label {
    flex: 0 0 103px !important;
    width: 103px !important;
}
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-radius-stepper {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 3px !important;
    margin: 0 !important;
}
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-stepper-button {
    width: 29px !important;
    min-width: 29px !important;
    height: 29px !important;
    min-height: 29px !important;
}
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item input.input_numbers.tgdg-radius-stepper-input {
    box-sizing: border-box !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 29px !important;
    min-height: 29px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-radius-label {
        flex-basis: 108px !important;
        width: 108px !important;
    }
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-stepper-button {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item input.input_numbers.tgdg-radius-stepper-input {
        width: 47px !important;
        min-width: 47px !important;
        max-width: 47px !important;
        height: 36px !important;
        min-height: 36px !important;
    }
}

html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-radius-label {
    flex-basis: 92px !important;
    width: 92px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item .tgdg-stepper-button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
}
html.tgdg-tablet-device body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-item input.input_numbers.tgdg-radius-stepper-input {
    width: 47px !important;
    min-width: 47px !important;
    max-width: 47px !important;
    height: 36px !important;
    min-height: 36px !important;
}

/* RH/AI 16/10/2026: mobile-only review separators.
   Put a quiet full-width rule beneath the rating/attribution row so consecutive
   reviews are visually distinct without changing the desktop/tablet treatment. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-listing-reviews-card .tgdg-mobile-review-separator,
    body.tgdg-redesign-page .review-box-container .tgdg-mobile-review-separator {
        display: block !important;
        width: auto !important;
        margin-bottom: 14px !important;
        padding-bottom: 14px !important;
        border-bottom: 1px solid #e7e1d7 !important;
        box-sizing: border-box !important;
    }
}

/* RH/AI 19/10/2026 v1.0.171: account navigation and listing-editor alignment pass.
   - Moves Listings / Favourites / Special Offers above the welcome card without changing PHP.
   - Restyles the account navigation as clear light tabs with a red active tab.
   - Left-aligns account and listing-editor reading copy, labels, help text and Select2 values.
   - Keeps deliberate centred controls/content (plan tiles, numeric filter fields and WYSIWYG content) unchanged.
   - Normalises Show/Hide button placement while leaving the existing accordion JavaScript untouched. */

/* Account page: put the section tabs first, then the welcome card, then page content. */
body.tgdg-redesign-page .tgdg-account-page {
    display: flex;
    flex-direction: column;
}
body.tgdg-redesign-page .tgdg-account-page > .tgdg-account-tabs {
    order: 1;
}
body.tgdg-redesign-page .tgdg-account-page > .tgdg-account-welcome-card {
    order: 2;
}
body.tgdg-redesign-page .tgdg-account-page > .tgdg-account-content {
    order: 3;
}

/* Make account navigation read as tabs rather than a second dark navigation bar. */
body.tgdg-redesign-page .tgdg-account-tabs {
    margin: 0 0 18px !important;
    padding: 7px !important;
    background: var(--tgdg-blue) !important;
    border: 1px solid #d7e8ed !important;
    border-radius: 15px !important;
    box-shadow: 0 7px 18px rgba(23,32,50,.035);
}
body.tgdg-redesign-page .tgdg-account-tabs ul {
    justify-content: flex-start;
    gap: 7px !important;
}
body.tgdg-redesign-page .tgdg-account-tabs a {
    min-height: 40px;
    padding: 0 17px;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-line);
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(23,32,50,.035);
}
body.tgdg-redesign-page .tgdg-account-tabs a:hover,
body.tgdg-redesign-page .tgdg-account-tabs a:focus-visible {
    color: var(--tgdg-red-dark) !important;
    background: var(--tgdg-cream) !important;
    border-color: #efd6a8;
}
body.tgdg-redesign-page .tgdg-account-tabs li.active a {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
    box-shadow: 0 6px 14px rgba(142,26,34,.16);
}

/* Account dashboard: keep normal reading content consistently left aligned. */
body.tgdg-redesign-page .tgdg-account-welcome-card,
body.tgdg-redesign-page .tgdg-account-welcome-copy,
body.tgdg-redesign-page .tgdg-account-content,
body.tgdg-redesign-page .tgdg-account-card,
body.tgdg-redesign-page .tgdg-account-card-heading,
body.tgdg-redesign-page .tgdg-account-card-heading > div,
body.tgdg-redesign-page .tgdg-favourites-intro,
body.tgdg-redesign-page .tgdg-favourites-intro > div,
body.tgdg-redesign-page .tgdg-favourites-results-heading,
body.tgdg-redesign-page .tgdg-offers-intro,
body.tgdg-redesign-page .tgdg-offers-filter-card,
body.tgdg-redesign-page .tgdg-offers-filter-heading {
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-account-welcome-card p,
body.tgdg-redesign-page .tgdg-account-card p,
body.tgdg-redesign-page .tgdg-favourites-intro p,
body.tgdg-redesign-page .tgdg-offers-intro p {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

/* Listing editor: headings, explanatory copy and form controls share one left edge. */
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-form-section,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-panel,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-body,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-heading-row,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading {
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-heading-row,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading {
    justify-content: space-between;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-heading-row h3,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading h3,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading h3 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-toggle,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-toggle,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-offers-toggle {
    flex: 0 0 auto;
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* Reading copy inside expandable sections. */
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-body > p,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-fields > p,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-offers-fields > p,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-map-pin-section > p,
body.tgdg-redesign-page .tgdg-submit-listing-page .help-block {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

/* Standard form fields: stop legacy centred label/text rules leaking into the account editor. */
body.tgdg-redesign-page .tgdg-submit-listing-page .form-group,
body.tgdg-redesign-page .tgdg-submit-listing-page .form-group label,
body.tgdg-redesign-page .tgdg-submit-listing-page label.control-label {
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .form-group {
    margin-left: 0 !important;
    margin-right: auto !important;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .form-control,
body.tgdg-redesign-page .tgdg-submit-listing-page input[type="text"],
body.tgdg-redesign-page .tgdg-submit-listing-page input[type="email"],
body.tgdg-redesign-page .tgdg-submit-listing-page input[type="tel"],
body.tgdg-redesign-page .tgdg-submit-listing-page input[type="url"],
body.tgdg-redesign-page .tgdg-submit-listing-page textarea,
body.tgdg-redesign-page .tgdg-submit-listing-page select {
    text-align: left !important;
}

/* Keep the main business/contact/link fields neatly grouped from the left. */
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-source-panel > .form-group,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-business-details-panel .form-group,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-business-details-panel .gdg-business-contact-row,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-optional-links-panel .form-group,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-panel .form-group,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-panel textarea {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Select2 needs its own alignment override because it renders a separate visible control. */
body.tgdg-redesign-page .tgdg-submit-listing-page .select2-container,
body.tgdg-redesign-page .tgdg-submit-listing-page .select2-selection,
body.tgdg-redesign-page .tgdg-submit-listing-page .select2-selection__rendered,
body.tgdg-redesign-page .tgdg-submit-listing-page .select2-selection__placeholder {
    text-align: left !important;
}
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-business-details-panel .select2-container,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-optional-links-panel .select2-container {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Deliberate exceptions: compact numeric filter fields stay centred as controls. */
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-filter-panel .filter_input_fields input,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-filter-panel input[type="number"] {
    text-align: center !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-account-tabs {
        padding: 6px !important;
    }
    body.tgdg-redesign-page .tgdg-account-tabs a {
        width: 100%;
        min-height: 42px;
        padding: 0 10px;
        justify-content: center;
        text-align: center !important;
    }
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-section-heading-row,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-video-links-heading,
    body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-generated-listing-heading {
        align-items: flex-start;
    }
}


/* RH/AI 19/10/2026 v1.0.172: owner listing preview stays sticky above all listing content.
   Preserve the existing sticky preview behaviour, but keep Leaflet/map controls underneath
   and allow the Close button to remain inside the yellow preview panel. */
body.tgdg-redesign-page #preview-info {
    position: sticky !important;
    top: 0 !important;
    z-index: 5000 !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    isolation: isolate;
}

body.tgdg-redesign-page #preview-content {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 12px !important;
    box-sizing: border-box !important;
    display: flow-root;
}

body.tgdg-redesign-page #preview-content > p:last-child {
    margin-bottom: 0 !important;
}

body.tgdg-redesign-page #preview-content > p:last-child .button,
body.tgdg-redesign-page #preview-content > p:last-child a.button {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 0 !important;
}

/* RH/AI 19/10/2026 v1.0.173: owner preview is a normal in-page card above breadcrumbs.
   It scrolls away with the page, keeps map/content in normal document flow, and keeps
   the Close action inside the preview card. */
body.tgdg-redesign-page #preview-info {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
    width: min(1460px, calc(100% - 40px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 18px auto 20px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-sizing: border-box !important;
    isolation: auto !important;
}

body.tgdg-redesign-page #preview-content {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 20px 175px 20px 24px !important;
    overflow: visible !important;
    background: linear-gradient(135deg, #fffde1 0%, #fff8ad 100%) !important;
    border: 1px solid #ead861 !important;
    border-left: 5px solid var(--tgdg-red, #8e1a22) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(23, 32, 50, .08) !important;
    box-sizing: border-box !important;
}

body.tgdg-redesign-page #preview-content h1 {
    margin: 0 0 8px !important;
    color: var(--tgdg-red-dark, #70131b) !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
}

body.tgdg-redesign-page #preview-content > p {
    margin: 0 0 7px !important;
    color: var(--tgdg-ink, #172032) !important;
    line-height: 1.45 !important;
}

body.tgdg-redesign-page #preview-content > p:last-child {
    position: static !important;
    margin: 0 !important;
}

body.tgdg-redesign-page #preview-content > p:last-child .button,
body.tgdg-redesign-page #preview-content > p:last-child a.button {
    position: absolute !important;
    top: 50% !important;
    right: 24px !important;
    z-index: 2 !important;
    min-width: 112px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    transform: translateY(-50%) !important;
    border: 1px solid var(--tgdg-red, #8e1a22) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--tgdg-red-dark, #70131b) !important;
    box-shadow: 0 4px 12px rgba(23, 32, 50, .08) !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-decoration: none !important;
}

body.tgdg-redesign-page #preview-content > p:last-child .button:hover,
body.tgdg-redesign-page #preview-content > p:last-child .button:focus,
body.tgdg-redesign-page #preview-content > p:last-child a.button:hover,
body.tgdg-redesign-page #preview-content > p:last-child a.button:focus {
    background: var(--tgdg-red, #8e1a22) !important;
    color: #fff !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page #preview-info {
        width: calc(100% - 24px) !important;
        margin: 12px auto 16px !important;
    }

    body.tgdg-redesign-page #preview-content {
        padding: 18px 18px 72px !important;
        border-radius: 14px !important;
    }

    body.tgdg-redesign-page #preview-content > p:last-child .button,
    body.tgdg-redesign-page #preview-content > p:last-child a.button {
        top: auto !important;
        right: auto !important;
        bottom: 16px !important;
        left: 18px !important;
        transform: none !important;
    }
}

/* RH/AI 19/10/2026 v1.0.174: clarify the final listing actions.
   Save stays neutral, Preview is blue, Submit is green, and Revert is a restrained
   destructive outline. Keep all four controls the same height so the row reads cleanly. */
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel .form-group .btn,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel .form-group a.btn {
    min-height: 42px !important;
    padding: 9px 16px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-weight: 800 !important;
    line-height: 22px !important;
    text-decoration: none !important;
    vertical-align: middle !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel #gdg-save-draft-button {
    color: var(--tgdg-ink) !important;
    background: #fffaf1 !important;
    border-color: #d9cdbd !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel button[name="submit-button"][value="preview"] {
    color: #fff !important;
    background: #155e8c !important;
    border-color: #155e8c !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel .gdg-final-submit-button {
    color: #fff !important;
    background: #2e7d32 !important;
    border-color: #2e7d32 !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel a.btn-danger {
    color: #b42318 !important;
    background: #fff !important;
    border-color: #d94b45 !important;
    box-shadow: none !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel #gdg-save-draft-button:hover,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel #gdg-save-draft-button:focus {
    background: #f7efe2 !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel button[name="submit-button"][value="preview"]:hover,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel button[name="submit-button"][value="preview"]:focus {
    background: #0f4f78 !important;
    border-color: #0f4f78 !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel .gdg-final-submit-button:hover,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel .gdg-final-submit-button:focus {
    background: #256528 !important;
    border-color: #256528 !important;
}

body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel a.btn-danger:hover,
body.tgdg-redesign-page .tgdg-submit-listing-page .gdg-submit-panel a.btn-danger:focus {
    color: #fff !important;
    background: #b42318 !important;
    border-color: #b42318 !important;
}

/* RH/AI 19/10/2026 v1.0.176: non-blocking delayed loader for automatic directory filters.
   The existing filter AJAX sets #main-content aria-busy only while the request is
   actually running. Wait the same 200ms as the shared page loader, so quick filter
   refreshes never flash an overlay and slower ones use the normal branded loader.
   Pointer events stay disabled so users can keep changing filters while it is visible. */
@keyframes tgdg-filter-loader-reveal {
    to {
        opacity: 1;
        visibility: visible;
        pointer-events: none;
    }
}

body.tgdg-redesign-page:has(#main-content[aria-busy="true"]) .tgdg-page-loader:not(.is-visible) {
    animation: tgdg-filter-loader-reveal 0s linear .2s forwards;
}


/* RH/AI 19/10/2026 v1.0.177: keep the automatic filter loader visual-only.
   Slow filter requests can still show the branded spinner after 200ms, but the
   results and page behind it stay at full opacity with no grey wash or blur. */
body.tgdg-redesign-page:has(#main-content[aria-busy="true"]) .tgdg-page-loader {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.tgdg-redesign-page #main-content[aria-busy="true"] {
    opacity: 1 !important;
}

/* RH/AI 20/10/2026 v1.0.184: keep the key local-search controls together at the top.
   Put Sleeps, Number of dogs, Mileage Radius and Special Offers above the
   accommodation-type choices, while keeping the existing group separators. */
body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content {
    display: flex !important;
    flex-direction: column;
    gap: 4px;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul {
    display: contents !important;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul > li {
    order: 20;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul > li:has(input[name="filter_name[550]"]) {
    order: 1;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul > li:has(input[name="filter_name[551]"]) {
    order: 2;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul > li.mileage-radius-item {
    order: 3;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul > li:has(input[name="special_offers"]) {
    order: 4;
    margin-bottom: 11px !important;
    padding-bottom: 11px !important;
    border-bottom: 1px solid #eee2d1 !important;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul > li.radio_filter_li {
    order: 10;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > ul.sidebar_radio_filters > li:last-child {
    margin-bottom: 11px !important;
    padding-bottom: 11px !important;
    border-bottom: 1px solid #eee2d1 !important;
}

body.tgdg-redesign-page .tgdg-filter-shell #filterForm .sidebar-content > .filter_btn {
    order: 30;
}


/* RH/AI 19/10/2026 v1.0.179: balance Browse by region cards into two natural columns on desktop/tablet.
   Keeps the same card styling across category landing pages while avoiding a long empty column at the bottom. */
@media (min-width: 761px) {
    .tgdg-region-card-grid {
        display: block;
        columns: 2;
        column-gap: 16px;
    }
    .tgdg-region-card-grid > .tgdg-region-card {
        display: inline-block;
        width: 100%;
        margin: 0 0 16px;
        break-inside: avoid;
        page-break-inside: avoid;
        vertical-align: top;
    }
}


/* RH/AI 20/10/2026 v1.0.180: keep the directory Search button inside smaller tablet heroes.
   At 821-1100px the hero copy is narrower than the desktop search minimums, so let both
   fields flex without changing the Lenovo/wider desktop layout or the stacked phone layout. */
@media (min-width: 821px) and (max-width: 1100px) {
    body.tgdg-redesign-page .tgdg-directory-search.search-panel {
        grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr) 108px;
        width: 100%;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field {
        gap: 6px;
        padding-left: 10px;
        padding-right: 10px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
        min-width: 0;
        font-size: 15px;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
    body.tgdg-redesign-page .tgdg-directory-search .primary-button {
        min-width: 108px;
        padding-left: 12px;
        padding-right: 12px;
    }
}


/* RH/AI 20/10/2026 v1.0.181: standardise nearby-mileage controls across directory result summaries.
   Keep the existing radius logic/source select in place, but present one consistent - / miles / +
   stepper everywhere. The shared filter range remains 2-35 miles and changes move 1 mile at a time. */
body.tgdg-redesign-page .tgdg-nearby-radius-select--enhanced {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-radius-stepper {
    display: inline-flex;
    align-items: center;
    gap: 0;
    margin-left: 3px;
    overflow: hidden;
    vertical-align: middle;
    background: #fff;
    border: 1px solid #d7dfe7;
    border-radius: 9px;
    box-shadow: 0 1px 2px rgba(23,32,50,.05);
}
body.tgdg-redesign-page .tgdg-radius-stepper-button {
    display: inline-flex;
    width: 29px;
    height: 29px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--tgdg-ink);
    background: #fff;
    border: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-radius-stepper-button:hover,
body.tgdg-redesign-page .tgdg-radius-stepper-button:focus-visible {
    color: var(--tgdg-red-dark);
    background: var(--tgdg-cream);
    outline: none;
}
body.tgdg-redesign-page .tgdg-radius-stepper-button:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(142,26,34,.24);
}
body.tgdg-redesign-page .tgdg-radius-stepper-button:disabled {
    color: #a9b0ba;
    background: #f5f6f7;
    cursor: default;
}
body.tgdg-redesign-page .tgdg-radius-stepper-value {
    display: inline-flex;
    min-width: 62px;
    height: 29px;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    color: var(--tgdg-ink);
    background: #fff;
    border-left: 1px solid #e1e6eb;
    border-right: 1px solid #e1e6eb;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-radius-stepper {
        margin-left: 2px;
    }
    body.tgdg-redesign-page .tgdg-radius-stepper-button {
        width: 27px;
        height: 27px;
        font-size: 17px;
    }
    body.tgdg-redesign-page .tgdg-radius-stepper-value {
        min-width: 58px;
        height: 27px;
        padding: 0 5px;
        font-size: 11px;
    }
}


/* RH/AI 20/10/2026 v1.0.185: make the sidebar Mileage Radius stepper match
   Sleeps / Number of dogs by removing the enclosing control box. */
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper {
    gap: 3px;
    margin-left: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-button {
    width: 29px;
    height: 29px;
    min-width: 29px;
    min-height: 29px;
    background: #fff9ef;
    border: 1px solid #e3cfaf;
    border-radius: 9px;
}
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-value {
    min-width: 42px;
    height: 29px;
    padding: 0 2px;
    background: #fff;
    border: 1px solid #e0cba9;
    border-radius: 9px;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-button {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        border-radius: 10px;
    }
    body.tgdg-redesign-page .tgdg-filter-shell .tgdg-radius-stepper-value {
        min-width: 47px;
        height: 36px;
        padding: 0 2px;
        font-size: 13px;
    }
}

/* RH/AI 20/10/2026 v1.0.187: Near me is phone-only and uses the red mobile pill.
   Tablet and desktop keep the full location field without the extra control. */
@media (min-width: 601px) {
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
        display: none !important;
    }
}
@media (max-width: 600px) {
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
        grid-column: 3 !important;
        display: inline-flex !important;
        width: auto !important;
        min-width: 72px !important;
        min-height: 32px !important;
        padding: 0 12px !important;
        align-items: center !important;
        justify-content: center !important;
        color: #fff !important;
        background: var(--tgdg-red) !important;
        border: 1px solid var(--tgdg-red) !important;
        border-radius: 999px !important;
        box-shadow: 0 5px 12px rgba(142,26,34,.18);
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:hover,
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:focus {
        color: #fff !important;
        background: var(--tgdg-red-dark) !important;
        border-color: var(--tgdg-red-dark) !important;
    }
}

/* RH/AI 20/10/2026 v1.0.191: stable phone-landscape treatment.
   Do not turn every phone media query on in landscape: some are for modals,
   carousels and other isolated controls and can fight the document scroller.
   main.php/homepage_preview.php add tgdg-phone-landscape from the physical
   touch-screen short side, so browser chrome changes cannot toggle this layout
   while the user is scrolling. */
.tgdg-featured-advertisers-label {
    display: none;
}

html.tgdg-phone-landscape {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
}

/* Keep only ONE vertical scroll container on sideways phones.  Giving both
   html and body overflow-y:auto creates a nested body scroller on some mobile
   browsers: touch-drags in the page then only bounce a few pixels while the
   browser scrollbar can still move the real document. */
html.tgdg-phone-landscape body.tgdg-redesign-page {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
}

/* Shared header: use the normal phone header/burger in landscape. */
html.tgdg-phone-landscape .tgdg-header-inner {
    width: min(100% - 28px, 760px);
    min-height: 88px;
    flex-wrap: wrap;
    gap: 0;
}
html.tgdg-phone-landscape .tgdg-brand { height: 88px; gap: 8px; }
html.tgdg-phone-landscape .tgdg-brand-logo { width: 98px; height: 98px; transform: translateY(7px); }
html.tgdg-phone-landscape .tgdg-brand-copy { align-items: center; justify-content: center; }
html.tgdg-phone-landscape .tgdg-brand-name { display: block; max-width: none; font-size: 18px; line-height: 1.02; white-space: nowrap; }
html.tgdg-phone-landscape .tgdg-brand-tagline { display: block; margin-top: 4px; font-size: 13px; }
html.tgdg-phone-landscape .tgdg-menu-button {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    background: #fff;
    border: 1px solid var(--tgdg-line);
    border-radius: 12px;
    font-size: 24px;
    cursor: pointer;
}
html.tgdg-phone-landscape .tgdg-desktop-nav,
html.tgdg-phone-landscape .tgdg-header-actions { display: none; width: 100%; }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav,
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-header-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav { gap: 0; order: 4; padding-top: 10px; }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav > a { padding: 13px 4px; border-top: 1px solid var(--tgdg-line); }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu { border-top: 1px solid var(--tgdg-line); }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu-toggle { width: 100%; justify-content: space-between; padding: 13px 4px; }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown {
    position: static;
    display: none;
    min-width: 0;
    max-height: none;
    padding: 0 0 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu.is-open .tgdg-nav-dropdown { display: block; }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown-label { display: none; }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown a { padding: 9px 8px; color: var(--tgdg-muted); font-weight: 750; }
html.tgdg-phone-landscape .tgdg-menu-toggle:checked ~ .tgdg-header-actions { order: 5; padding: 6px 0 16px; }
html.tgdg-phone-landscape .tgdg-login-link { text-align: left; }

/* Directory hero/search: keep the compact mobile search treatment without
   activating every unrelated mobile-only component rule. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy {
    display: flex;
    flex-direction: column;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-directory-search {
    order: -30;
    margin-bottom: 0;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-result-summary { order: -29; margin: 9px 0 0; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-search-message { order: -28; margin: 5px 0 0; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-eyebrow { margin-top: 18px; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search.search-panel {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    padding: 8px !important;
    border: 1px solid rgba(23,32,50,.08);
    border-radius: 19px;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search.search-panel label { display: none !important; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field {
    gap: 10px;
    padding-left: 16px;
    padding-right: 16px;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field + .search-field {
    border-top: 1px solid var(--tgdg-line);
    border-left: 0;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
    height: 50px;
    font-size: 16px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field-where {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    column-gap: 8px;
    padding-right: 10px;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field-where > .search-icon { grid-column: 1; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field-where > input[type="search"] { grid-column: 2; width: 100%; min-width: 0; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
    grid-column: 3 !important;
    display: inline-flex !important;
    min-width: 72px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border: 1px solid var(--tgdg-red) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .primary-button {
    width: 100%;
    margin-top: 8px;
}

/* Results: one main column.  The existing listing card can use the extra
   landscape width, but the filter/map/banner rail must no longer sit beside it. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-page {
    width: min(100% - 28px, 760px);
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-layout,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-national-results-layout,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-results-layout {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    min-height: 0 !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-main,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-sidebar { position: static !important; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-category-sidebar,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-sidebar {
    display: contents !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-filter-shell,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-refine-stack {
    order: 1;
    width: 100% !important;
    margin-bottom: 0 !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-category-listing-results,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-category-listing-results {
    order: 2;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-map-block {
    order: 3;
    width: 100% !important;
    max-width: 360px !important;
    margin: 4px auto 0 !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-category-banner-rail,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-results-layout .tgdg-location-banner-rail {
    order: 4;
    width: 100% !important;
    max-width: 360px !important;
    margin: 8px auto 0 !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-desktop-town-browser { display: none !important; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-town-section { display: block !important; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-intro-card { padding: 22px 20px; border-radius: 18px; }
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-featured-advertisers-label {
    display: block;
    width: 100%;
    margin: 2px 0 12px;
    color: var(--tgdg-ink);
    font-family: var(--tgdg-display);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

/* Footer stays the compact mobile version on a sideways phone. */
html.tgdg-phone-landscape .tgdg-footer-inner { width: min(100% - 28px,760px); padding-top: 42px; }
html.tgdg-phone-landscape .tgdg-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
html.tgdg-phone-landscape .tgdg-footer-brand { grid-column: 1/-1; }
html.tgdg-phone-landscape .tgdg-footer-bottom { flex-direction: column; gap: 8px; }


/* Keep the Featured advertisers heading on normal portrait phones too. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-featured-advertisers-label {
        display: block;
        width: 100%;
        margin: 2px 0 12px;
        color: var(--tgdg-ink);
        font-family: var(--tgdg-display);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.1;
        text-align: center;
    }
}

/* RH/AI 20/10/2026 v1.0.192: phone-landscape interaction guard for listing/result pages.
   Directory pages contain live Leaflet maps and desktop/tablet map drag helpers that
   can become the active touch surface once a phone is wider than the portrait mobile
   breakpoint.  In landscape, prioritise normal page panning and header navigation;
   the existing Enlarge/Open map control remains available for deliberate map use. */
html.tgdg-phone-landscape body.tgdg-redesign-page,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-redesign-shell,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-page,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-main,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-page,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main {
    touch-action: pan-y pinch-zoom !important;
    -webkit-overflow-scrolling: touch;
}

/* Keep the real site header above any map panes/legacy touch layers so the logo
   and burger remain tappable after rotating a phone. */
html.tgdg-phone-landscape .tgdg-site-header {
    position: relative !important;
    z-index: 100000 !important;
    pointer-events: auto !important;
    isolation: isolate;
}
html.tgdg-phone-landscape .tgdg-site-header .tgdg-brand,
html.tgdg-phone-landscape .tgdg-site-header .tgdg-menu-button,
html.tgdg-phone-landscape .tgdg-site-header .tgdg-menu-toggle,
html.tgdg-phone-landscape .tgdg-site-header .tgdg-desktop-nav,
html.tgdg-phone-landscape .tgdg-site-header .tgdg-header-actions {
    pointer-events: auto !important;
}

/* Decorative hero layers never need to receive a touch/click. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-media,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-shade {
    pointer-events: none !important;
}

/* Phone landscape should scroll the document, not drag an inline map.  The map
   remains visible, while its existing Enlarge/Open control stays interactive. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-inline-listings-map.leaflet-container,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-inline-listing-location-map.leaflet-container,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-county-inline-map.leaflet-container,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-live-map.leaflet-container {
    position: relative !important;
    z-index: 0 !important;
    touch-action: pan-y pinch-zoom !important;
    pointer-events: none !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-inline-listings-map .tgdg-map-drag-surface,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-inline-listing-location-map .tgdg-map-drag-surface,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-county-inline-map .tgdg-map-drag-surface {
    display: none !important;
    pointer-events: none !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-map-enlarge-button,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-map-placeholder-button,
html.tgdg-phone-landscape body.tgdg-redesign-page #modalButton,
html.tgdg-phone-landscape body.tgdg-redesign-page #modalButton2 {
    position: relative;
    z-index: 5 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}

/* Hidden global overlays must never become a transparent touch shield after an
   orientation change. Visible/open states retain their normal behaviour. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-page-loader:not(.is-visible),
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-photo-modal[hidden],
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-map-enlarge-modal[hidden],
html.tgdg-phone-landscape body.tgdg-redesign-page > .modal:not(.in):not(.show) {
    pointer-events: none !important;
}

/* RH/AI 20/10/2026 v1.0.194: keep inline advertising visible on sideways phones.
   The 681px+ tablet rule intentionally hides server-injected mobile banners, but a
   phone in landscape can cross that width too. Restore only those direct inline
   banners here, keep their artwork at its natural size up to 300px wide, and centre
   them between each four-listing group. Result cards already carry an 11px bottom
   gap, so use 11px top + 22px bottom banner padding for equal visible spacing.
   The trailing Featured advertisers rail keeps four banners in landscape; portrait
   phones retain the existing six. */
html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > a[href*="bid="],
html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > *:has(a[href*="bid="]) {
    display: block !important;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 11px 0 22px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > a[href*="bid="] img,
html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > *:has(a[href*="bid="]) img {
    display: block !important;
    width: auto !important;
    max-width: 300px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *:nth-child(n+5),
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-banner-rail #banners > *:nth-child(n+5) {
    display: none !important;
}

/* RH/AI 20/10/2026 v1.0.195: make phone landscape deterministic without a reload.
   A sideways phone can be 681-900 CSS px wide, which normally activates the
   tablet result-card grid and the 820px stacked/full-width search.  The physical
   tgdg-phone-landscape class must win over those width-only breakpoints so a
   portrait -> landscape rotation matches a fresh landscape page immediately. */

/* Keep the landscape search compact and horizontal rather than inheriting the
   large 820px one-column search intended for portrait tablets/phones. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search.search-panel {
    grid-template-columns: minmax(175px, .9fr) minmax(225px, 1.1fr) auto !important;
    width: min(700px, 100%) !important;
    padding: 6px !important;
    border-radius: 17px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field {
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field + .search-field {
    border-top: 0 !important;
    border-left: 1px solid var(--tgdg-line) !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
    height: 44px !important;
    font-size: 15px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field-where {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    column-gap: 6px !important;
    padding-right: 8px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
    min-width: 64px !important;
    min-height: 30px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .primary-button {
    width: auto !important;
    min-width: 100px !important;
    min-height: 44px !important;
    margin-top: 0 !important;
    padding: 0 14px !important;
}

/* Most importantly, a phone stays a PHONE result-card layout even though its
   landscape viewport is wide enough to match the 681-900px tablet grid. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
    display: block !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-radius: 16px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eadbc4 !important;
}

/* Reuse the established portrait-phone logo/gallery proportions. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
    width: calc(100% - 20px) !important;
    height: 94px !important;
    min-height: 94px !important;
    margin: 10px 10px 8px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
    margin-bottom: 10px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-brand-logo,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-brand-logo,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-brand-logo {
    max-height: 72px !important;
    max-width: 88% !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
    flex: 0 0 82px !important;
    min-height: 82px !important;
    gap: 7px !important;
    padding: 0 10px 10px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumbs {
    flex: 0 0 78px !important;
    min-height: 78px !important;
    padding: 0 10px 10px !important;
}

/* Match the compact phone content spacing once the media is stacked. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .content-title-box,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header {
    padding: 15px 16px 2px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-location {
    margin: 3px 16px 10px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-detail,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail {
    padding-left: 16px !important;
    padding-right: 16px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .listing-excerpt {
    margin-left: 15px !important;
    margin-right: 15px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container {
    justify-content: stretch !important;
    padding: 10px 12px 12px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
}

/* Use the phone filter density too; otherwise rotating can reveal the wider
   desktop chip set before/after the same listing card. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features {
    gap: 5px !important;
    margin: 9px 12px 1px !important;
    padding-top: 8px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-mobile {
    min-height: 27px !important;
    padding: 4px 7px !important;
    font-size: 10px !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-filter-mobile-extra {
    display: none !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features.is-expanded .tgdg-filter-mobile-extra {
    display: inline-flex !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-desktop {
    display: none !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-mobile {
    display: inline-flex !important;
}


/* RH/AI 20/10/2026 v1.0.196: refine sideways-phone proportions.
   Keep the single-column phone reading order, but do not stretch mobile cards,
   logo/gallery media or adverts across the full landscape viewport. Also stop
   mobile browser landscape text inflation and contain the directory hero. */
html.tgdg-phone-landscape {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero--standard,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero--protected-area {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-media,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-shade {
    inset: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-media img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-inner,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero--standard .tgdg-directory-hero-inner,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero--protected-area .tgdg-directory-hero-inner {
    width: min(680px, calc(100% - 32px)) !important;
    min-height: 0 !important;
    padding: 14px 0 18px !important;
    align-items: flex-start !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy {
    width: 100% !important;
    max-width: 100% !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-copy > .tgdg-eyebrow,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero-lead {
    display: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-hero h1 {
    max-width: 620px !important;
    margin-top: 10px !important;
    font-size: clamp(27px, 4.6vw, 32px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.035em !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search.search-panel {
    width: min(640px, 100%) !important;
    grid-template-columns: minmax(140px, .85fr) minmax(190px, 1.15fr) auto !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-page {
    width: min(680px, calc(100% - 32px)) !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results {
    width: 100% !important;
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Keep the brand/gallery block compact inside the stacked card.  Full-width
   80px-high thumbnails look like long pills on an 800-900px landscape phone. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-media-brand,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-media-brand,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-media-brand {
    align-items: center !important;
    padding: 8px 0 4px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
    width: min(260px, calc(100% - 24px)) !important;
    height: 84px !important;
    min-height: 84px !important;
    margin: 4px auto 8px !important;
    padding: 9px 12px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-brand-logo,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-brand-logo,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-brand-logo {
    max-width: 90% !important;
    max-height: 64px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs {
    width: min(240px, calc(100% - 24px)) !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 7px !important;
    padding: 0 0 8px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-thumbs {
    width: min(160px, calc(100% - 24px)) !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    padding: 0 0 8px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-thumb {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 8px !important;
}

/* Sideways-phone inline and trailing adverts should stay visibly smaller than
   the listing cards rather than becoming another full-width block. */
html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > a[href*="bid="],
html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > *:has(a[href*="bid="]) {
    width: min(100%, 260px) !important;
    max-width: 260px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > a[href*="bid="] img,
html.tgdg-phone-landscape body.tgdg-redesign-page #listings-content > *:has(a[href*="bid="]) img {
    width: auto !important;
    max-width: 260px !important;
    height: auto !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-banner-rail,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-banner-rail {
    max-width: 280px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-banner-rail #banners > *,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-banner-rail #banners > * {
    width: min(100%, 260px) !important;
    max-width: 260px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-category-banner-rail #banners img,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-location-banner-rail #banners img {
    width: 100% !important;
    max-width: 260px !important;
    height: auto !important;
}

/* RH/AI 21/10/2026 v1.0.203: match result-strip action lift to the cleaner
   full-listing interaction. Use the same neutral raised shadow for every action
   (including View listing), while keeping the existing button colours unchanged. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action {
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action:focus-visible {
        transform: translateY(-2px) !important;
        border-color: #b9c4d2 !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social {
        transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social:focus-visible {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 12px rgba(23,32,50,.18) !important;
        filter: brightness(1.06) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container > .column-3 .social-icons > a.social:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .links-and-icons > a.social-icons:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-footer-container .social-icons > a.social:focus-visible {
        transform: none !important;
    }
}

/* RH/AI 21/10/2026 v1.0.201: give long category names more room in the shared
   desktop directory search without changing the stacked mobile/tablet layout.
   The category column gets the larger share; location still retains enough width
   for the full Town, county or postcode prompt. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-directory-hero-copy {
        width: min(820px, 100%);
    }

    body.tgdg-redesign-page .tgdg-directory-search.search-panel {
        grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr) 112px;
        width: min(820px, 100%);
    }

    body.tgdg-redesign-page .tgdg-search-message,
    body.tgdg-redesign-page .tgdg-search-result-summary {
        width: min(820px, 100%);
    }
}


/* RH/AI 21/10/2026 v1.0.202: give full listing-page action links the same
   small tactile desktop hover lift used on result-strip actions. Keep this
   mouse-only so touch layouts do not gain sticky hover states. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action {
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link:hover,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link:focus-visible,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action:hover {
        transform: translateY(-2px) !important;
        border-color: #b9c4d2 !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social {
        transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social:hover,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social:focus-visible,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social:hover,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social:focus-visible {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 12px rgba(23,32,50,.18) !important;
        filter: brightness(1.06) !important;
    }
}

/* RH/AI 21/10/2026 v1.0.204: make result-strip action hover truly match the
   full listing-page controls. The result action base selector is more specific
   than the earlier hover rule, so explicitly beat it here: no red hover edge,
   just the same 2px lift and neutral shadow used on the listing page. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action:focus-visible {
        transform: translateY(-2px) !important;
        border-color: #b9c4d2 !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }

    /* Keep the primary View listing button red while giving it the same raised shadow. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.listing-detail-link:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.listing-detail-link:focus-visible {
        color: #fff !important;
        background: var(--tgdg-red-dark) !important;
        border-color: var(--tgdg-red-dark) !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }
}

/* Shared desktop header typography: match the homepage across all pages,
   including Destinations and Categories. */
@media (min-width: 1201px) {
    .tgdg-site-header .tgdg-nav-menu-toggle,
    .tgdg-site-header .tgdg-desktop-nav > a,
    .tgdg-site-header .tgdg-login-link,
    .tgdg-site-header .tgdg-business-button {
        font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 16px !important;
        line-height: 1.2 !important;
    }

    /* Match the homepage hierarchy exactly: the four dropdown headings stay
       normal-weight at the same 16px size, while Advertise and Account remain bold. */
    .tgdg-site-header .tgdg-nav-menu-toggle {
        font-weight: 500 !important;
    }

    .tgdg-site-header .tgdg-desktop-nav > a,
    .tgdg-site-header .tgdg-login-link {
        font-weight: 800 !important;
    }

    .tgdg-site-header .tgdg-business-button {
        font-weight: 900 !important;
    }
}



/* RH/AI 21/10/2026: compact 1-5 review rating picker replaces the full-width rating text field. */
body.tgdg-redesign-page .tgdg-review-rating-options {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 4px 0 0 !important;
    padding: 0 !important;
}

body.tgdg-redesign-page .tgdg-review-rating-option {
    position: relative;
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer;
}

body.tgdg-redesign-page .tgdg-review-rating-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
}

body.tgdg-redesign-page .tgdg-review-rating-choice {
    display: inline-flex;
    width: 52px;
    height: 46px;
    align-items: center;
    justify-content: center;
    color: var(--tgdg-ink);
    background: #fff;
    border: 1px solid var(--tgdg-popup-field-line, #dfc8a7);
    border-radius: 12px;
    box-shadow: 0 3px 9px rgba(23,32,50,.05);
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
    transition: transform .16s ease, box-shadow .16s ease, color .16s ease, background .16s ease, border-color .16s ease;
}

body.tgdg-redesign-page .tgdg-review-rating-option:hover .tgdg-review-rating-choice {
    border-color: rgba(142,26,34,.55);
    box-shadow: 0 6px 14px rgba(23,32,50,.09);
    transform: translateY(-2px);
}

body.tgdg-redesign-page .tgdg-review-rating-input:focus-visible + .tgdg-review-rating-choice {
    outline: 3px solid rgba(142,26,34,.16);
    outline-offset: 2px;
}

body.tgdg-redesign-page .tgdg-review-rating-input:checked + .tgdg-review-rating-choice {
    color: #fff;
    background: var(--tgdg-red);
    border-color: var(--tgdg-red);
    box-shadow: 0 7px 16px rgba(142,26,34,.22);
    transform: translateY(-1px);
}

body.tgdg-redesign-page .tgdg-review-rating-hint {
    margin-top: 8px;
    color: var(--tgdg-muted);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

body.tgdg-redesign-page .field-review-rating .help-block {
    margin: 7px 0 0 !important;
    text-align: center;
}

@media (max-width: 420px) {
    body.tgdg-redesign-page .tgdg-review-rating-options {
        gap: 7px;
    }

    body.tgdg-redesign-page .tgdg-review-rating-choice {
        width: 44px;
        height: 42px;
    }
}

/* RH/AI 22/10/2026: related businesses carousel on Free listing detail pages.
   National categories use the full category; local categories widen from nearby
   to county as needed. Sits below the complete listing/sidebar grid. */
body.tgdg-redesign-page .tgdg-related-listings-card {
    margin-top: 30px;
    padding: clamp(22px, 3vw, 32px);
    background: #fff;
    border: 1px solid var(--tgdg-line, #e7e1d7);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(23, 32, 50, .08);
}
body.tgdg-redesign-page .tgdg-related-listings-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}
body.tgdg-redesign-page .tgdg-related-listings-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--tgdg-red, #8e1a22);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.tgdg-redesign-page .tgdg-related-listings-heading h2 {
    margin: 0;
    color: var(--tgdg-ink, #172032);
    font-family: var(--tgdg-display, "Fredoka", sans-serif);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.08;
}
body.tgdg-redesign-page .tgdg-related-listings-heading p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--tgdg-muted, #586276);
    font-size: 14px;
}
body.tgdg-redesign-page .tgdg-related-listings-controls {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}
body.tgdg-redesign-page .tgdg-related-listings-arrow {
    width: 42px;
    height: 42px;
    padding: 0;
    color: var(--tgdg-ink, #172032);
    background: #fff;
    border: 1px solid #d9dee7;
    border-radius: 50%;
    box-shadow: 0 5px 14px rgba(23, 32, 50, .08);
    font-size: 28px;
    font-weight: 800;
    line-height: 38px;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body.tgdg-redesign-page .tgdg-related-listings-arrow:hover,
body.tgdg-redesign-page .tgdg-related-listings-arrow:focus-visible {
    transform: translateY(-2px);
    border-color: var(--tgdg-red, #8e1a22);
    box-shadow: 0 8px 18px rgba(142,26,34,.14);
    outline: none;
}
body.tgdg-redesign-page .tgdg-related-listings-static .tgdg-related-listings-controls {
    display: none;
}
body.tgdg-redesign-page .tgdg-related-listings-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 3px 13px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
body.tgdg-redesign-page .tgdg-related-listings-viewport::-webkit-scrollbar {
    display: none;
}
body.tgdg-redesign-page .tgdg-related-listings-viewport:focus-visible {
    outline: 2px solid rgba(23, 143, 208, .45);
    outline-offset: 5px;
    border-radius: 12px;
}
body.tgdg-redesign-page .tgdg-related-listings-track {
    display: flex;
    gap: 16px;
}
body.tgdg-redesign-page .tgdg-related-listing {
    flex: 0 0 calc((100% - 32px) / 3);
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
body.tgdg-redesign-page .tgdg-related-listing > a {
    position: relative;
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 15px;
    height: 100%;
    min-height: 214px;
    padding: 15px;
    color: var(--tgdg-ink, #172032);
    background: #fff;
    border: 1px solid #dfe3ea;
    border-top-width: 4px;
    border-radius: 18px;
    text-decoration: none !important;
    box-shadow: 0 7px 20px rgba(23, 32, 50, .07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-premium > a {
    background: #fff7f9;
    border-color: #ff8fa4;
    border-top-color: var(--tgdg-red, #8e1a22);
}
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-basic > a {
    background: #f3faff;
    border-color: #9fd6f3;
    border-top-color: #178fd0;
}
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-free > a {
    background: #fafbfc;
    border-color: #d9dee7;
    border-top-color: #9aa7b8;
}
body.tgdg-redesign-page .tgdg-related-listing > a:hover,
body.tgdg-redesign-page .tgdg-related-listing > a:focus-visible {
    transform: translateY(-5px);
    outline: none;
}
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-premium > a:hover,
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-premium > a:focus-visible {
    box-shadow: 0 16px 30px rgba(142,26,34,.17);
}
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-basic > a:hover,
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-basic > a:focus-visible {
    box-shadow: 0 16px 30px rgba(23, 143, 208, .17);
}
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-free > a:hover,
body.tgdg-redesign-page .tgdg-related-listing.tgdg-tier-free > a:focus-visible {
    box-shadow: 0 16px 30px rgba(23, 32, 50, .12);
}
body.tgdg-redesign-page .tgdg-related-listing-media {
    display: flex;
    width: 96px;
    height: 96px;
    align-items: center;
    justify-content: center;
    align-self: start;
    overflow: hidden;
    padding: 7px;
    background: #fff;
    border: 1px solid #e2e5ea;
    border-radius: 14px;
}
body.tgdg-redesign-page .tgdg-related-listing-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
body.tgdg-redesign-page .tgdg-related-listing-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
body.tgdg-redesign-page .tgdg-related-listing-tier {
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.tgdg-redesign-page .tgdg-tier-premium .tgdg-related-listing-tier { color: var(--tgdg-red-dark, #70131b); }
body.tgdg-redesign-page .tgdg-tier-basic .tgdg-related-listing-tier { color: #0877b2; }
body.tgdg-redesign-page .tgdg-tier-free .tgdg-related-listing-tier { color: #657286; }
body.tgdg-redesign-page .tgdg-related-listing-copy strong {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    color: var(--tgdg-ink, #172032);
    font-family: var(--tgdg-display, "Fredoka", sans-serif);
    font-size: 17px;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
body.tgdg-redesign-page .tgdg-related-listing-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 9px;
    margin-top: 5px;
    color: var(--tgdg-muted, #586276);
    font-size: 13px;
    line-height: 1.4;
}
body.tgdg-redesign-page .tgdg-related-listing-location,
body.tgdg-redesign-page .tgdg-related-listing-distance {
    display: inline-block;
}
body.tgdg-redesign-page .tgdg-related-listing-distance {
    font-weight: 800;
}
body.tgdg-redesign-page .tgdg-related-listing-highlights {
    display: grid;
    gap: 3px;
    width: 100%;
    max-width: 100%;
    margin: 9px 0 0;
    justify-items: start;
    text-align: left;
    color: #3f4a5c;
    font-size: 13px;
    line-height: 1.45;
}
body.tgdg-redesign-page .tgdg-related-listing-highlights > span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
body.tgdg-redesign-page .tgdg-related-listing-highlights > span::before {
    content: "•";
    margin-right: 6px;
    color: #22a263;
    font-weight: 900;
}
body.tgdg-redesign-page .tgdg-related-listing-view {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: auto;
    padding-top: 10px;
    color: var(--tgdg-red-dark, #70131b);
    font-size: 13px;
    font-weight: 900;
}
body.tgdg-redesign-page .tgdg-tier-basic .tgdg-related-listing-view { color: #0877b2; }
body.tgdg-redesign-page .tgdg-tier-free .tgdg-related-listing-view { color: #4f5d70; }

@media (max-width: 980px) {
    body.tgdg-redesign-page .tgdg-related-listing {
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media (max-width: 620px) {
    body.tgdg-redesign-page .tgdg-related-listings-card {
        margin-top: 22px;
        padding: 20px 16px;
        border-radius: 20px;
    }
    body.tgdg-redesign-page .tgdg-related-listings-heading {
        align-items: flex-start;
    }
    body.tgdg-redesign-page .tgdg-related-listings-heading p {
        font-size: 13px;
    }
    body.tgdg-redesign-page .tgdg-related-listings-controls {
        gap: 5px;
    }
    body.tgdg-redesign-page .tgdg-related-listings-arrow {
        width: 38px;
        height: 38px;
        font-size: 25px;
        line-height: 34px;
    }
    body.tgdg-redesign-page .tgdg-related-listing {
        flex-basis: min(86vw, 340px);
    }
    body.tgdg-redesign-page .tgdg-related-listing > a {
        grid-template-columns: 78px minmax(0, 1fr);
        min-height: 205px;
        padding: 13px;
    }
    body.tgdg-redesign-page .tgdg-related-listing-media {
        width: 78px;
        height: 78px;
    }
    body.tgdg-redesign-page .tgdg-related-listing-copy strong {
        font-size: 16px;
    }
}


/* RH/AI 22/10/2026: account-tenure trust chip on redesigned result strips.
   It now leads the existing feature-chip row and does not count against the
   normal Premium/Basic/Free visible-filter limits or their +X more totals. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 12px;
    margin: 2px 20px 11px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-meta .tgdg-redesign-result-location {
    margin: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip.tgdg-result-tenure-chip {
    color: #6c5314;
    background: #fff7df;
    border-color: #ead69b;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-tenure-chip .tgdg-result-filter-icon {
    color: #b8860b;
    background: #fffaf0;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-meta {
        margin-left: 14px;
        margin-right: 14px;
    }
}


/* RH/AI 22/10/2026: full-listing account tenure. Keep the trust marker inside
   the existing Highlights area so it uses spare white space and shifts the
   advertiser bullets slightly right without changing the shared Listing model. */
body.tgdg-redesign-page .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure {
    display: grid !important;
    grid-template-columns: minmax(132px, 158px) minmax(0, 1fr) !important;
    column-gap: 22px !important;
    align-items: start !important;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure {
    grid-column: 1;
    min-width: 0;
    padding-top: 1px;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure-badge {
    display: inline-flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 9px;
    color: #6c5314;
    background: #fff7df;
    border: 1px solid #ead69b;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure-mark {
    flex: 0 0 auto;
    color: #b8860b;
    font-size: 10px;
    line-height: 1;
}

body.tgdg-redesign-page .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
    grid-column: 2;
    width: 100% !important;
    margin-top: 0 !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure {
        grid-template-columns: 1fr !important;
        row-gap: 10px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure,
    body.tgdg-redesign-page .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        grid-column: 1;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure-badge {
        width: auto;
        max-width: 230px;
        justify-content: flex-start;
        text-align: left;
    }
}


/* RH/AI 22/10/2026: desktop tenure alignment refinement.
   Desktop uses a true logo | address/tenure | highlights row so the first
   advertiser bullet aligns with the first address line. Phone layout remains
   the approved stacked version. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
        grid-template-columns: 178px 250px minmax(0, 1fr) !important;
        grid-template-areas: "logo address bullets" !important;
        column-gap: 26px !important;
        row-gap: 0 !important;
        align-items: start !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .column {
        grid-area: address;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        min-width: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure {
        grid-area: bullets;
        display: block !important;
        width: 100% !important;
        align-self: start !important;
        margin: 0 !important;
        padding: 2px 0 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure::before {
        display: none !important;
        content: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure > ul {
        grid-column: auto !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--mobile {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--desktop {
        display: block !important;
        width: 100%;
        margin: 3px 0 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--desktop .tgdg-listing-account-tenure-badge {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        min-height: 32px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 11px;
        line-height: 1.15;
        white-space: nowrap;
        text-align: left;
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--desktop {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--mobile {
        display: block !important;
    }
}


/* RH/AI 22/10/2026: keep account tenure tidy on compact/sparse desktop listings.
   The compact layout has its own older grid rules, so explicitly restore the
   logo | address/tenure | highlights arrangement when a tenure badge exists. */
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
        grid-template-columns: 164px 250px minmax(0, 560px) !important;
        grid-template-areas: "logo address bullets" !important;
        justify-content: start !important;
        column-gap: 20px !important;
        row-gap: 0 !important;
        align-items: start !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .column {
        grid-area: address !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        align-self: start !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure {
        grid-area: bullets !important;
        display: block !important;
        align-self: start !important;
        width: 100% !important;
        max-width: 560px !important;
        margin: 0 !important;
        padding: 2px 0 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure > ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-compact .tgdg-listing-profile-card .tgdg-listing-account-tenure--desktop {
        width: 100% !important;
        margin: 3px 0 0 !important;
    }
}

/* RH/AI 22/10/2026: keep full-listing tenure layout in phone mode after rotation.
   A landscape phone can exceed the 760/820px desktop breakpoints, so the desktop
   three-column tenure grid can otherwise push Highlights off the visible card.
   Preserve the approved portrait-phone structure whenever tgdg-phone-landscape
   identifies the device as a phone, regardless of CSS viewport width. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
    grid-template-columns: 120px minmax(0, 1fr) !important;
    grid-template-areas:
        "logo address"
        "bullets bullets" !important;
    gap: 14px 18px !important;
    align-items: start !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .column {
    grid-area: address !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure {
    grid-area: bullets !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure > ul {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--desktop {
    display: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--mobile {
    display: block !important;
    grid-column: 1 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--mobile .tgdg-listing-account-tenure-badge {
    width: auto !important;
    max-width: 230px !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* RH/AI 22/10/2026: phone-landscape listing identity alignment.
   Keep the address beside the logo while retaining the approved full-width
   Highlights row underneath. This wins over width-based desktop/compact rules
   after a phone rotates past their breakpoints. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-template-areas:
        "logo address"
        "bullets bullets" !important;
    column-gap: 16px !important;
    row-gap: 14px !important;
    align-items: start !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > #listinglogo {
    grid-area: logo !important;
    display: grid !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    place-items: center !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > #listinglogo > p {
    display: grid !important;
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > #listinglogo img {
    position: static !important;
    float: none !important;
    display: block !important;
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
    margin: 0 !important;
    object-fit: contain !important;
    transform: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .column {
    grid-area: address !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout > .bullets.tgdg-has-account-tenure {
    grid-area: bullets !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
}


/* RH/AI 22/10/2026: phone-landscape listing reading order.
   A sideways phone can exceed the normal 820px mobile breakpoint. Keep the
   listing as one full-width column and style the JS-moved sidebar like mobile,
   so Location Map remains above Reviews instead of becoming a mini sidebar. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px !important;
    background: #fffaf2 !important;
    border-top: 1px solid #eee2d2 !important;
    border-bottom: 1px solid #eee2d2 !important;
    box-sizing: border-box !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > h2,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .sidebar-content {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .sidebar-content {
    margin-bottom: 14px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar iframe,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar img {
    max-width: 100% !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-offers-item {
    order: 10;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-map-item {
    order: 20;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-video-toggle {
    order: 30;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .tgdg-mobile-video-item {
    order: 40;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-video-toggle {
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 6px 0 2px !important;
    padding: 0 13px !important;
    color: var(--tgdg-ink) !important;
    background: #fff !important;
    border: 1px solid #e3d9ca !important;
    border-radius: 10px !important;
    font-family: var(--tgdg-display) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-align: left !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-video-toggle::after {
    content: "+";
    color: var(--tgdg-red) !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-sidebar:not(.tgdg-mobile-videos-collapsed) .tgdg-mobile-video-toggle::after {
    content: "−";
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-sidebar.tgdg-mobile-videos-collapsed .tgdg-mobile-video-item {
    display: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-video-heading {
    display: none !important;
}
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-video-content iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    border: 0 !important;
}
/* RH/AI 22/10/2026: phone-landscape listing map tiles + empty-review height guard.
   Landscape phones sit above the normal 820px mobile breakpoint, so repeat the
   Leaflet tile exception there and prevent legacy desktop heights reserving blank
   space below an empty Reviews card. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .leaflet-container img.leaflet-tile,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar .leaflet-container img.leaflet-image-layer {
    max-width: none !important;
    max-height: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-page,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-layout,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main#main-content,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-sidebar,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card {
    margin-bottom: 0 !important;
}


/* RH/AI 22/10/2026: phone-landscape Reviews/footer tidy-up.
   Landscape phones can sit above the normal 820px mobile breakpoint, so repeat
   the mobile Reviews-header positioning there and trim the listing page's desktop
   bottom padding. This keeps Add a Review inside the header and removes the long
   empty run before the shared footer without changing portrait or desktop. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-page-content.tgdg-listing-detail-page {
    padding-bottom: 20px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-reviews-card[data-tgdg-reviews-card] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container {
    overflow: hidden !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box {
    position: relative !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 12px !important;
    overflow: visible !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box h2 {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 10px !important;
    margin: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-redesign-shell {
    min-height: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-site-footer {
    margin-top: 0 !important;
}
/* RH/AI 22/10/2026: phone-landscape Reviews + Free banner rail parity.
   The landscape marker is treated as a phone by listing.php even when its CSS
   width exceeds the portrait breakpoints. Repeat the portrait review-header and
   moved-banner rules so legacy desktop positioning/heights cannot clip Reviews
   or reserve a large blank block before the footer. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box {
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 12px !important;
    overflow: visible !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .content-title-box h2 {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 10px !important;
    margin: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 16px 0 0 !important;
    padding: 0 12px 18px !important;
    box-sizing: border-box !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners {
    display: grid !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 12px !important;
    justify-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners > * {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners img {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners [id^="bannerwrap"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Final landscape-only guard: legacy banner wrappers can carry desktop
   dimensions even after they are moved below Reviews. Collapse every direct
   wrapper and remove the rail entirely when there is no rendered banner image. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners > * {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-mobile-listing-banners:not(:has(#banners img)) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* RH/AI 22/10/2026: phone-landscape hidden-modal flow guard.
   Individual listing views render Yii/Bootstrap modals immediately after the
   listing content. On sideways phones, keep every genuinely closed modal out
   of document flow so it cannot reserve blank space before the site footer.
   Open Bootstrap 3 (.in) / Bootstrap 4+ (.show) states are untouched. */
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-redesign-shell .modal:not(.in):not(.show),
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-page ~ .modal:not(.in):not(.show) {
    display: none !important;
    position: fixed !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* RH/AI 22/10/2026: align full-listing tenure pill with address text on desktop. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-listing-account-tenure--desktop .tgdg-listing-account-tenure-badge {
        transform: translateX(-8px);
    }
}


/* RH/AI 22/10/2026: Dog Services desktop mega-dropdown.
   Keep Pet Services and Pet Health visible together so visitors do not need to
   discover a hidden vertical scroll. Mobile/burger navigation is unchanged. */
@media (min-width: 821px) {
    .tgdg-desktop-nav > .tgdg-nav-menu:nth-child(2) > .tgdg-nav-dropdown-wide {
        left: 50%;
        width: min(700px, calc(100vw - 32px));
        min-width: 650px;
        max-height: none;
        overflow: visible;
        padding: 12px;
        column-count: 2;
        column-gap: 22px;
        column-rule: 1px solid var(--tgdg-line);
        transform: translateX(-50%);
    }

    .tgdg-desktop-nav > .tgdg-nav-menu:nth-child(2) > .tgdg-nav-dropdown-wide > a,
    .tgdg-desktop-nav > .tgdg-nav-menu:nth-child(2) > .tgdg-nav-dropdown-wide > .tgdg-nav-dropdown-label {
        break-inside: avoid;
    }

    .tgdg-desktop-nav > .tgdg-nav-menu:nth-child(2) > .tgdg-nav-dropdown-wide > .tgdg-nav-dropdown-label:nth-of-type(2) {
        break-before: column;
        margin-top: 0;
    }

    .tgdg-desktop-nav > .tgdg-nav-menu:nth-child(2) > .tgdg-nav-dropdown-wide > a {
        padding: 7px 10px;
        font-size: 15px;
    }
}


/* RH/AI 22/10/2026: centre Add a Review within the redesigned Reviews heading
   on tablet/desktop without changing the mobile review layout. */
@media (min-width: 521px) {
    body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        align-self: center !important;
        float: none !important;
        margin: 0 0 0 auto !important;
    }
}

/* RH/AI 23/10/2026: restore native-size sidebar adverts without stretching artwork.
   Desktop directory rails get a true 300px content width; narrower tablets may
   shrink responsively. Reset legacy sidebar horizontal padding so a 300px rail
   no longer loses 20px and renders old 300x100 banners at about 260px wide. */
@media (min-width: 981px) {
    body.tgdg-redesign-page .tgdg-directory-layout {
        grid-template-columns: minmax(0, 1fr) 300px !important;
    }
}

@media (min-width: 761px) and (max-width: 980px) {
    body.tgdg-redesign-page .tgdg-directory-layout {
        grid-template-columns: minmax(0, 1fr) 280px !important;
    }
}

@media (min-width: 761px) {
    body.tgdg-redesign-page #sidebar.tgdg-directory-sidebar,
    body.tgdg-redesign-page .tgdg-location-sidebar {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Any advert rail living in a redesign sidebar uses the artwork's native 300px
   maximum and scales down only when the available sidebar is narrower. */
body.tgdg-redesign-page #sidebar #banners > * {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.tgdg-redesign-page #sidebar #banners img {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-category-banner-rail,
    body.tgdg-redesign-page .tgdg-location-banner-rail {
        max-width: 300px !important;
    }
}



/* RH/AI 23/10/2026: expanded footer navigation.
   Give Explore more useful coverage without duplicating the full header menu.
   Desktop/tablet show two Explore groups; phones collapse Explore, Businesses
   and About into compact accordions so the larger link set does not dominate. */
body.tgdg-redesign-page .tgdg-footer-grid {
    grid-template-columns: minmax(240px, 1.05fr) minmax(420px, 1.65fr) minmax(145px, .65fr) minmax(170px, .72fr) !important;
    gap: 32px !important;
}

body.tgdg-redesign-page .tgdg-footer-explore-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 30px;
}

body.tgdg-redesign-page .tgdg-footer-link-group h4 {
    margin: 0 0 10px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .075em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-footer-column h3 {
    margin: 0 0 12px !important;
}

body.tgdg-redesign-page .tgdg-footer-column-toggle {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    color: #fff;
    background: transparent;
    border: 0;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
    cursor: default;
}

body.tgdg-redesign-page .tgdg-footer-column-toggle span {
    display: none;
}

body.tgdg-redesign-page .tgdg-footer-links {
    display: block;
}

@media (max-width: 1080px) and (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-footer-grid {
        grid-template-columns: minmax(210px, 1fr) minmax(0, 1.65fr) minmax(130px, .62fr) minmax(145px, .7fr) !important;
        gap: 22px !important;
    }

    body.tgdg-redesign-page .tgdg-footer-explore-groups {
        gap: 16px 20px;
    }
}

@media (max-width: 820px) and (min-width: 561px) {
    body.tgdg-redesign-page .tgdg-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 34px !important;
    }

    body.tgdg-redesign-page .tgdg-footer-brand,
    body.tgdg-redesign-page .tgdg-footer-explore {
        grid-column: 1 / -1 !important;
    }

    body.tgdg-redesign-page .tgdg-footer-explore-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body.tgdg-redesign-page .tgdg-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-footer-brand {
        margin-bottom: 24px !important;
    }

    body.tgdg-redesign-page .tgdg-footer-column {
        border-top: 1px solid rgba(255,255,255,.14);
    }

    body.tgdg-redesign-page .tgdg-footer-column:last-child {
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    body.tgdg-redesign-page .tgdg-footer-column h3 {
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-footer-column-toggle {
        display: flex;
        width: 100%;
        min-height: 52px;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 0 2px;
        cursor: pointer;
    }

    body.tgdg-redesign-page .tgdg-footer-column-toggle span {
        display: inline-block;
        font-size: 20px;
        line-height: 1;
        transition: transform .18s ease;
    }

    body.tgdg-redesign-page .tgdg-footer-column.is-open .tgdg-footer-column-toggle span {
        transform: rotate(180deg);
    }

    body.tgdg-redesign-page .tgdg-footer-links {
        display: none;
        padding: 0 2px 16px;
    }

    body.tgdg-redesign-page .tgdg-footer-column.is-open .tgdg-footer-links {
        display: block;
    }

    body.tgdg-redesign-page .tgdg-footer-explore-groups {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    body.tgdg-redesign-page .tgdg-footer-link-group h4 {
        margin-bottom: 8px;
    }

    body.tgdg-redesign-page .tgdg-footer-bottom {
        margin-top: 26px !important;
    }
}

/* RH/AI 23/10/2026: compact shared footer correction.
   The shared footer can render outside body.tgdg-redesign-page, so the footer
   navigation rules must not rely on that body class. Desktop/tablet keep the
   richer Explore links visible in two columns; only phones use accordions. */
.tgdg-footer-grid {
    grid-template-columns: minmax(240px, 1.05fr) minmax(420px, 1.65fr) minmax(145px, .65fr) minmax(170px, .72fr) !important;
    gap: 28px !important;
}

.tgdg-footer-explore-groups {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 28px !important;
}

.tgdg-footer-link-group h4 {
    margin: 0 0 7px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.tgdg-footer-column h3 {
    margin: 0 0 10px !important;
}

.tgdg-footer-column-toggle {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    cursor: default !important;
}

.tgdg-footer-column-toggle span {
    display: none !important;
}

.tgdg-footer-links {
    display: block !important;
}

.tgdg-footer-column a {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    line-height: 1.35 !important;
}

@media (max-width: 1080px) and (min-width: 821px) {
    .tgdg-footer-grid {
        grid-template-columns: minmax(205px, 1fr) minmax(0, 1.7fr) minmax(125px, .62fr) minmax(145px, .7fr) !important;
        gap: 20px !important;
    }

    .tgdg-footer-explore-groups {
        gap: 12px 18px !important;
    }
}

@media (max-width: 820px) and (min-width: 561px) {
    .tgdg-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 30px !important;
    }

    .tgdg-footer-brand,
    .tgdg-footer-explore {
        grid-column: 1 / -1 !important;
    }

    .tgdg-footer-explore-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .tgdg-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .tgdg-footer-brand {
        margin-bottom: 20px !important;
    }

    .tgdg-footer-column {
        border-top: 1px solid rgba(255,255,255,.14) !important;
    }

    .tgdg-footer-column:last-child {
        border-bottom: 1px solid rgba(255,255,255,.14) !important;
    }

    .tgdg-footer-column h3 {
        margin: 0 !important;
    }

    .tgdg-footer-column-toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 50px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 0 2px !important;
        cursor: pointer !important;
    }

    .tgdg-footer-column-toggle span {
        display: inline-block !important;
        font-size: 20px !important;
        line-height: 1 !important;
        transition: transform .18s ease !important;
    }

    .tgdg-footer-column.is-open .tgdg-footer-column-toggle span {
        transform: rotate(180deg) !important;
    }

    .tgdg-footer-links {
        display: none !important;
        padding: 0 2px 14px !important;
    }

    .tgdg-footer-column.is-open .tgdg-footer-links {
        display: block !important;
    }

    .tgdg-footer-explore-groups {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .tgdg-footer-bottom {
        margin-top: 24px !important;
    }
}

/* RH/AI 23/10/2026: balance desktop footer navigation headings.
   Keep the single Explore accordion on phones, but on tablet/desktop remove
   the extra Explore tier and promote its two group labels to primary headings. */
@media (min-width: 561px) {
    .tgdg-footer-explore > h3 {
        display: none !important;
    }

    .tgdg-footer-link-group h4 {
        margin: 0 0 10px !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        letter-spacing: .06em !important;
        line-height: 1.25 !important;
        text-transform: uppercase !important;
    }
}

/* RH/AI 23/10/2026: directory intro Read more must fully reveal the stored copy.
   Some county/category and town/category templates still use the older .intro-text
   toggle rather than the newer shared intro wrapper. Once expanded, remove every
   legacy height cap/fade so Read less is only shown when the full text is visible. */
body.tgdg-redesign-page .tgdg-directory-intro-card .intro-text.expanded {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

body.tgdg-redesign-page .tgdg-directory-intro-card .intro-text.expanded::after {
    display: none !important;
    content: none !important;
}

/* RH/AI 23/10/2026: fully expand nested directory intro copy.
   County/category and town/category pages can use the newer outer intro toggle
   around an older .intro-text block. The outer card was expanding while the
   nested legacy block remained capped, leaving the final paragraphs clipped. */
body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded .tgdg-mobile-intro-content,
body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content,
body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded .intro-text,
body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .intro-text {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded .tgdg-mobile-intro-content::after,
body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .tgdg-mobile-intro-content::after,
body.tgdg-redesign-page .tgdg-desktop-category-intro.is-expanded .intro-text::after,
body.tgdg-redesign-page .tgdg-directory-intro-card.is-expanded .intro-text::after {
    display: none !important;
    content: none !important;
}

/* RH/AI 23/10/2026: portrait safety net for restored Android/Chrome pages.
   A phone can briefly retain the html.tgdg-phone-landscape class when returning
   through browser history. Never let the landscape search grid win while CSS
   orientation is portrait; the normal portrait search remains stacked from the
   first visible frame. */
@media (orientation: portrait) and (max-width: 760px) {
    html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search.search-panel {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        padding: 8px !important;
        border-radius: 19px !important;
    }
    html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field + .search-field {
        border-top: 1px solid var(--tgdg-line) !important;
        border-left: 0 !important;
    }
    html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .search-field input[type="search"] {
        height: 50px !important;
        font-size: 16px !important;
    }
    html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
    html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-directory-search .primary-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        margin-top: 8px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}


/* RH/AI 23/10/2026: hard portrait lock for phone directory search.
   The physical-orientation script marks portrait phones before interaction.
   Keep the search stacked even while the Android keyboard changes viewport height;
   keyboard resize must never activate the horizontal phone-landscape search. */
html.tgdg-phone-portrait body.tgdg-redesign-page .tgdg-directory-search.search-panel {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px !important;
    border-radius: 19px !important;
}
html.tgdg-phone-portrait body.tgdg-redesign-page .tgdg-directory-search .search-field + .search-field {
    border-top: 1px solid var(--tgdg-line) !important;
    border-left: 0 !important;
}
html.tgdg-phone-portrait body.tgdg-redesign-page .tgdg-directory-search .search-field-where {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    width: 100% !important;
    min-width: 0 !important;
}
html.tgdg-phone-portrait body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
html.tgdg-phone-portrait body.tgdg-redesign-page .tgdg-directory-search .primary-button {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin-top: 8px !important;
}


/* RH/AI 23/10/2026: national-category mobile filters now use the same compact
   red accordion treatment as county/category pages. Desktop keeps the existing
   always-visible filter card, while phones start with Filters collapsed. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-national-refine-stack {
        margin: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-national-refine-stack > .tgdg-filter-section {
        border: 0 !important;
        background: transparent !important;
    }
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-national-refine-stack > .tgdg-filter-section > summary {
        display: none !important;
    }
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-national-refine-stack .tgdg-refine-section-body {
        padding: 0 !important;
    }
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-national-refine-stack {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-category-listing-results {
        order: 2 !important;
    }
    body.tgdg-redesign-page .tgdg-national-results-layout .tgdg-category-banner-rail {
        order: 3 !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-refine-section {
        overflow: hidden;
        margin: 0 0 9px;
        background: #fff;
        border: 1px solid #eadcc7;
        border-radius: 15px;
        box-shadow: 0 7px 18px rgba(67, 48, 26, .06);
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section > summary {
        min-height: 42px !important;
        padding: 9px 14px !important;
        color: #fff !important;
        background: var(--tgdg-red) !important;
        font-size: 14px !important;
        font-weight: 900 !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section > summary > span:first-child::before {
        color: var(--tgdg-red-dark) !important;
        background: #fff !important;
        border-color: rgba(255,255,255,.8) !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section > summary .tgdg-refine-chevron {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 22px !important;
        height: 22px !important;
        flex: 0 0 22px !important;
        color: var(--tgdg-red-dark) !important;
        background: #fff !important;
        border-color: rgba(255,255,255,.85) !important;
        border-radius: 50% !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        transition: transform .2s ease;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section[open] > summary {
        color: #fff !important;
        background: var(--tgdg-red-dark) !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-refine-section-body {
        padding: 10px 12px 13px !important;
        background: #fffdf9 !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-shell {
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-shell .d_filters_hide {
        display: none !important;
    }
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-shell #filterForm {
        padding: 2px 0 0 !important;
    }
}

/* RH/AI 23/10/2026: make Favourite explicit on redesigned listing strips and
   full listing pages without changing the existing addToFavourite() behaviour.
   Existing dislike/like classes drive the visible Favourite/Saved wording. */
body.tgdg-redesign-page .listing-box .content-title-box h2,
body.tgdg-redesign-page .listing-box .listing_header h2 {
    padding-right: 118px !important;
}

body.tgdg-redesign-page .listing-box i.fa-heart {
    display: inline-flex !important;
    width: auto !important;
    min-width: 96px !important;
    height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 10px !important;
    color: var(--tgdg-red) !important;
    background: #fff !important;
    border: 1px solid #ef9bad !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-shadow: none !important;
    transform: none !important;
    white-space: nowrap !important;
    cursor: pointer;
}

body.tgdg-redesign-page .listing-box i.fa-heart::after,
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action::after {
    content: "Favourite";
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

body.tgdg-redesign-page .listing-box i.fa-heart.dislike {
    font-weight: 400 !important;
}

body.tgdg-redesign-page .listing-box i.fa-heart.like {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
    font-weight: 900 !important;
}

body.tgdg-redesign-page .listing-box i.fa-heart.like::after,
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.like::after {
    content: "Saved";
}

/* Full listing: the existing heart is moved here by listing.php, so the title
   regains its full width and the control matches the other action buttons. */
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-actions-moved .tgdg-listing-profile-card .content-title-box.listing_header {
    padding-right: 24px !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-actions-moved .tgdg-listing-profile-card .content-title-box.listing_header > h1 {
    max-width: 100% !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions i.tgdg-detail-favourite-action {
    position: static !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 96px !important;
    min-height: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: var(--tgdg-red) !important;
    background: #fff !important;
    border: 1px solid #ccd4de !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.dislike {
    font-weight: 400 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.like {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
    font-weight: 900 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.like::after {
    color: #fff !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.dislike::after {
    color: var(--tgdg-ink) !important;
}

/* Phones: give long business names the full line, then place the compact
   Favourite/Saved control below them instead of squeezing the title. */
@media (max-width: 520px) {
    body.tgdg-redesign-page .listing-box .listing_header h2 {
        padding-right: 0 !important;
    }
    body.tgdg-redesign-page .listing-box .listing_header > i.fa-heart {
        position: static !important;
        margin: 9px 0 0 !important;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-actions-moved .tgdg-listing-profile-card .content-title-box.listing_header {
        padding-right: 18px !important;
    }
}



/* RH/AI 23/10/2026: Favourite control correction.
   Render the label through ::before so Font Awesome cannot blank the saved state,
   and style the moved full-listing heart wherever it sits inside the action row. */
body.tgdg-redesign-page .listing-box i.fa-heart::before,
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action::before {
    content: "♡ Favourite" !important;
    display: inline-block !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    color: inherit !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart.like::before,
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.like::before {
    content: "♥ Saved" !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart::after,
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action::after {
    content: none !important;
    display: none !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart {
    font-size: 0 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 96px !important;
    height: 38px !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: var(--tgdg-red) !important;
    background: #fff !important;
    border: 1px solid #ccd4de !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.like {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-actions-moved .tgdg-listing-profile-card .content-title-box.listing_header {
    padding-right: 24px !important;
}


/* RH/AI 23/10/2026: robust listing-strip Favourite/Saved labels.
   Use real child text rather than Font Awesome pseudo-text so AJAX state changes
   cannot leave a blank red button. The spans remain hidden outside redesign CSS. */
body.tgdg-redesign-page .listing-box i.fa-heart::before {
    content: "\f004" !important;
    display: inline-block !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 16px !important;
    font-style: normal !important;
    line-height: 1 !important;
    color: inherit !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart.dislike::before {
    font-weight: 400 !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart.like::before {
    font-weight: 900 !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart::after {
    content: none !important;
    display: none !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart .tgdg-favourite-label {
    display: inline-block !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    color: inherit !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart .tgdg-favourite-label-saved {
    display: none !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart.like .tgdg-favourite-label-add {
    display: none !important;
}
body.tgdg-redesign-page .listing-box i.fa-heart.like .tgdg-favourite-label-saved {
    display: inline-block !important;
}

/* RH/AI 23/10/2026: strip Favourite control - remove Font Awesome entirely.
   The legacy icon stack was leaking an unrelated phone glyph into this control.
   Use a normal button with literal heart/text labels so the state is deterministic. */
body.tgdg-redesign-page .listing-box .tgdg-result-favourite {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    z-index: 4 !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 9px !important;
    color: var(--tgdg-red) !important;
    background: #fff !important;
    border: 1px solid var(--tgdg-red) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-saved {
    color: #fff !important;
    background: var(--tgdg-red) !important;
    border-color: var(--tgdg-red) !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label {
    position: static !important;
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    background: none !important;
    font: inherit !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label-saved {
    display: none !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-saved .tgdg-favourite-label-add {
    display: none !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-saved .tgdg-favourite-label-saved {
    display: inline-block !important;
}
@media (max-width: 520px) {
    body.tgdg-redesign-page .listing-box .listing_header > .tgdg-result-favourite {
        position: static !important;
        margin: 9px 0 0 !important;
    }
}

/* RH/AI 23/10/2026: remove legacy pseudo-icons from listing-strip Favourite buttons.
   An older global rule was injecting a telephone glyph before this control. The
   button now carries its own literal heart/text spans, so no pseudo-content is needed. */
body.tgdg-redesign-page .listing-box .tgdg-result-favourite::before,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite::after {
    content: none !important;
    display: none !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite {
    background-image: none !important;
}


/* RH/AI 23/10/2026: isolate listing-strip favourites from legacy like/dislike icon CSS.
   Strip controls now use only is-saved/is-unsaved; no Font Awesome glyphs or old state classes. */
body.tgdg-redesign-page .listing-box .tgdg-result-favourite,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-saved,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-unsaved {
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    background-image: none !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite::before,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite::after,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label::before,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

/* RH/AI 24/10/2026: keep the Favourite login/create-account popup clear of mobile browser chrome.
   This specific override comes after the shared mobile modal rule so it cannot be pulled back to 10px. */
@media (max-width: 640px) {
    body.tgdg-redesign-page #confirmationBoxFavourite .modal-dialog {
        margin-top: 72px !important;
        margin-bottom: 18px !important;
    }

    body.tgdg-redesign-page #confirmationBoxFavourite .modal-content {
        top: 0 !important;
        max-height: calc(100vh - 108px) !important;
        max-height: calc(100dvh - 108px) !important;
        overflow-y: auto !important;
    }
}

/* RH/AI 24/10/2026: tighten mobile directory logo panels without changing tablet/desktop.
   Keep the logo size, but remove the oversized white space above and below it. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        width: calc(100% - 72px) !important;
        max-width: calc(100% - 72px) !important;
        height: auto !important;
        min-height: 78px !important;
        margin: 8px auto 6px !important;
        padding: 6px 8px !important;
        box-sizing: border-box !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        margin-bottom: 8px !important;
    }
}


/* RH/AI 24/10/2026: slightly roomier mobile Favourite/Saved pill.
   Keep desktop/tablet unchanged while giving the mobile control more breathing room. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .listing-box .tgdg-result-favourite {
        height: 34px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        border-radius: 11px !important;
    }
}

/* RH/AI 24/10/2026: refine mobile directory media spacing.
   Narrow the logo panel slightly further and let Premium galleries use one row
   for 1-3 images, expanding to the existing two-row layout only for 4-6 images. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        width: calc(100% - 96px) !important;
        max-width: calc(100% - 96px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-thumbs:has(> .tgdg-redesign-result-thumb:nth-child(-n+3):last-child) {
        flex: 0 0 73px !important;
        min-height: 73px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        align-content: start !important;
    }
}

/* RH/AI 24/10/2026: final mobile media polish.
   Tighten the centred logo panel a little further and keep phone banner rails on
   the same cream background as the listing media area instead of legacy grey. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-premium .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-redesign-result-logo-panel,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-redesign-result-logo-panel {
        width: calc(100% - 116px) !important;
        max-width: calc(100% - 116px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-mobile-listing-banners,
    body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners,
    body.tgdg-redesign-page .tgdg-mobile-listing-banners #banners > * {
        background: var(--tgdg-cream, #fff7e9) !important;
    }
}


/* RH/AI 24/10/2026: remove the final legacy grey canvas behind mobile directory listings.
   The old layout stylesheet paints #content #ededed; redesigned directory pages use cream. */
@media (max-width: 680px) {
    body.tgdg-redesign-page:has(.tgdg-directory-page) #content {
        background: var(--tgdg-cream, #fff7e9) !important;
    }
}

/* RH/AI 24/10/2026: mobile result cards sit flat on the cream directory canvas.
   Remove the desktop-style drop shadow that reads as a grey strip beneath cards. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box {
        box-shadow: none !important;
    }
}

/* RH/AI 24/10/2026: remove legacy mobile grey from every directory result wrapper.
   Old mobile/layout CSS paints both #content/.content and listing containers #ededed. */
@media (max-width: 680px) {
    body.tgdg-redesign-page #content.content,
    body.tgdg-redesign-page .tgdg-directory-page,
    body.tgdg-redesign-page .tgdg-directory-layout,
    body.tgdg-redesign-page #listings-content,
    body.tgdg-redesign-page #main-content.tgdg-category-listing-results,
    body.tgdg-redesign-page .tgdg-category-listing-results {
        background: var(--tgdg-cream, #fff7e9) !important;
        background-color: var(--tgdg-cream, #fff7e9) !important;
    }
}

/* RH/AI 24/10/2026: remove tier-specific desktop card depth on phone layouts.
   Premium/Basic/Free each carry a more-specific !important shadow, so the
   generic mobile shadow reset cannot override them without matching specificity. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-premium,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-basic,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box.tgdg-tier-free {
        box-shadow: none !important;
    }
}

/* RH/AI 24/10/2026: full listing Favourite uses the same desktop hover lift as Website / Contact / Phone. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean i.tgdg-detail-favourite-action {
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean i.tgdg-detail-favourite-action:hover,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean i.tgdg-detail-favourite-action:focus-visible {
        transform: translateY(-2px) !important;
        border-color: #b9c4d2 !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }
}

/* RH/AI 24/10/2026: make strip Favourite and Reviews use the same desktop hover lift
   as the result action buttons. Keep touch layouts free of sticky hover states. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"] {
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:focus-visible {
        transform: translateY(-2px) !important;
        border-color: #b9c4d2 !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge[data-tgdg-review-clickable="1"]:focus-visible {
        transform: none !important;
    }
}

/* RH/AI 24/10/2026: match View offer hover to the shared listing action treatment. */
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link {
        transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease !important;
        will-change: transform;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link:focus-visible {
        transform: translateY(-2px) !important;
        background: var(--tgdg-red-dark) !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
        outline: none !important;
    }
}

/* RH/AI 24/10/2026: final desktop alignment for Reviews + social controls.
   Use the exact desktop result-action selectors so the older 30px !important
   social rules cannot win on specificity. */
@media (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .tgdg-redesign-result-content > .tgdg-result-review-row {
        position: relative !important;
        left: -5px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social:visited {
        flex: 0 0 38px !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        border-radius: 9px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions > .column-3 .social-icons > a.social img {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        border-radius: 9px !important;
    }
}


/* RH/AI 24/10/2026: calm listing CTAs to match Special offer heading (#8e1a22).
   Keep the premium tier rail and existing layout/hover motion unchanged. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.listing-detail-link,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite {
    color: #8e1a22 !important;
    border-color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite.is-saved {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-excerpt-more {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-listing-detail-actions i.tgdg-detail-favourite-action.like {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a.listing-detail-link:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.listing-detail-link:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.listing-detail-link:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-offer-link:focus-visible {
        background: #70131b !important;
        border-color: #70131b !important;
    }
}

/* RH/AI 24/10/2026: align header/search and small directory action accents
   with the established Special offer red. Do not alter the premium tier rail. */
body.tgdg-redesign-page .tgdg-site-header .tgdg-business-button,
body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button,
body.tgdg-redesign-page .tgdg-directory-search .primary-button {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}
body.tgdg-redesign-page .tgdg-directory-search .search-icon,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button a:not(.listing-detail-link) i,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button a:not(.listing-detail-link) svg,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action i,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action svg,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action .btn-telno {
    color: #8e1a22 !important;
}
/* Font icons in action links, including mobile action layout. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container .listing-button a:not(.listing-detail-link) .fa,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-card-actions .listing-button a:not(.listing-detail-link) .fa {
    color: #8e1a22 !important;
}
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-site-header .tgdg-business-button:hover,
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-search-button:hover,
    body.tgdg-redesign-page .tgdg-directory-search .primary-button:hover {
        background: #70131b !important;
        border-color: #70131b !important;
    }
}


/* RH/AI 24/10/2026: remaining icon accents, review CTA, detail social sizing.
   Preserve white icons on solid CTAs and the bright premium tier rail. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-button a:not(.listing-detail-link)::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action::before,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link::before,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action::before,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .listing-button a::before,
body.tgdg-redesign-page .tgdg-listing-profile-card > .tgdg-listing-detail-actions .tgdg-detail-phone-action::before,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .btn-telno {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}
@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a:hover {
        background: #70131b !important;
        border-color: #70131b !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 7px 14px rgba(23,32,50,.14), 0 2px 5px rgba(23,32,50,.08) !important;
    }
}
body.tgdg-redesign-page .tgdg-listing-reviews-card .add-review-top-right a:focus-visible {
    background: #70131b !important;
    border-color: #70131b !important;
    box-shadow: 0 0 0 3px rgba(142,26,34,.23) !important;
}
@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social:link,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social:visited,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social:link,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social:visited {
        flex: 0 0 38px !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        border-radius: 9px !important;
    }
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .social-icons > a.social img,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .links-and-icons > a.social img {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        border-radius: 9px !important;
    }
}


/* RH/AI 24/10/2026: final link, rating and filter accent tidy-up.
   Keep premium listing rails untouched. */
body.tgdg-redesign-page .tgdg-directory-intro-card .read-more-btn,
body.tgdg-redesign-page .tgdg-directory-intro-card .tgdg-mobile-intro-toggle,
body.tgdg-redesign-page .tgdg-desktop-category-intro .tgdg-desktop-intro-toggle,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-excerpt-more,
body.tgdg-redesign-page .tgdg-listing-profile-card .description a:not(.btn),
body.tgdg-redesign-page .tgdg-listing-detail-page .description a:not(.btn),
body.tgdg-redesign-page .tgdg-directory-intro-card .intro-text a,
body.tgdg-redesign-page .tgdg-directory-intro-card .tgdg-mobile-intro-content a {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-review-summary-icon {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-review-inline-icon {
    background: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-review-summary-label,
body.tgdg-redesign-page .tgdg-review-inline-label {
    color: #8e1a22 !important;
}
/* Desktop and mobile sidebar accordion accent icons/buttons. */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section > summary > span:first-child::before,
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-chevron,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-chevron,
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-section[open] > summary,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-section[open] > summary {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-filter-shell .filter_btn .btn-primary {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}
@media (max-width: 760px) {
    /* Filters should look like Choose other categories/towns, including when expanded. */
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary,
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section[open] > summary,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-filter-section > summary,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-filter-section[open] > summary,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section > summary,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section[open] > summary {
        background: #fff !important;
        color: var(--tgdg-ink) !important;
    }
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary > span:first-child::before,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-filter-section > summary > span:first-child::before,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section > summary > span:first-child::before {
        background: #fff4e5 !important;
        color: #8e1a22 !important;
        border-color: #f0dec4 !important;
    }
    body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-filter-section > summary .tgdg-refine-chevron,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-filter-section > summary .tgdg-refine-chevron,
    body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-national-refine-stack .tgdg-filter-section > summary .tgdg-refine-chevron {
        background: #fff0da !important;
        color: #8e1a22 !important;
        border-color: #efd9b8 !important;
    }
}


/* RH/AI 24/10/2026: complete subdued red on search/refine and phone listing actions.
   Keep premium rail and white icons on filled buttons unchanged. */
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading::before,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading::before,
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-title-icon,
body.tgdg-redesign-page .tgdg-filter-shell .tgdg-filter-group-icon {
    background-color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-location-sidebar .tgdg-refine-heading .tgdg-directory-kicker,
body.tgdg-redesign-page .tgdg-category-sidebar .tgdg-refine-heading .tgdg-directory-kicker {
    color: #8e1a22 !important;
}
@media (max-width: 600px) {
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button {
        background: #8e1a22 !important;
        border-color: #8e1a22 !important;
        box-shadow: 0 5px 12px rgba(142,26,34,.18) !important;
    }
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:hover,
    body.tgdg-redesign-page .tgdg-directory-search .tgdg-near-me-button:focus-visible {
        background: #70131b !important;
        border-color: #70131b !important;
    }
}
@media (max-width: 760px) {
    /* Stronger than the legacy phone-specific colour rules. */
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view:visited {
        background: #8e1a22 !important;
        border-color: #8e1a22 !important;
        color: #fff !important;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--view::before {
        color: #fff !important;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--favourite::before {
        color: #8e1a22 !important;
    }
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-mobile-action-slot > a:not(.listing-detail-link)::before {
        color: #8e1a22 !important;
    }
}

/* RH/AI 24/10/2026: subdued red for listing facilities expand/collapse
   and mobile pop-up action controls, without changing chip layout. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more:hover,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more:focus-visible,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-mobile-features-toggle,
body.tgdg-redesign-page .tgdg-listing-profile-card .tgdg-mobile-features-toggle {
    color: #8e1a22 !important;
}
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-mobile-features-toggle,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more-mobile {
        color: #8e1a22 !important;
    }
    body.tgdg-redesign-page #contact-us-modal button[type="submit"],
    body.tgdg-redesign-page #add-review-modal button[type="submit"] {
        background: #8e1a22 !important;
        border-color: #8e1a22 !important;
        color: #fff !important;
    }
    body.tgdg-redesign-page #contact-us-modal button[type="submit"]:hover,
    body.tgdg-redesign-page #add-review-modal button[type="submit"]:hover {
        background: #70131b !important;
        border-color: #70131b !important;
    }
}


/* RH/AI 24/10/2026: map marker and homepage search colour parity.
   Do not recolour premium listing rails or neutral map markers. */
body.tgdg-redesign-page .tgdg-map-paw.is-premium {
    color: #8e1a22 !important;
}
body.tgdg-redesign-page .tgdg-map-cluster {
    border-color: #8e1a22 !important;
}
/* Homepage search is a separate component from the directory search. */
#homepage-search.search-panel .primary-button {
    background-color: #8e1a22 !important;
    border-color: #8e1a22 !important;
}
#homepage-search.search-panel .primary-button:hover,
#homepage-search.search-panel .primary-button:focus-visible {
    background-color: #70131b !important;
    border-color: #70131b !important;
}
@media (max-width: 820px) {
    #homepage-search.search-panel .tgdg-near-me-button,
    #homepage-search.search-panel .near-me-button {
        background-color: #8e1a22 !important;
        border-color: #8e1a22 !important;
    }
    #homepage-search.search-panel .tgdg-near-me-button:hover,
    #homepage-search.search-panel .near-me-button:hover {
        background-color: #70131b !important;
        border-color: #70131b !important;
    }
}


/* TEST: Match the Special Offers chevron on homepage and directory category search. */
.tgdg-directory-search .search-field-what > .search-select-arrow {
    display: inline-flex !important;
    flex: 0 0 36px !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    width: 36px !important;
    height: 44px !important;
    margin-right: -8px;
    color: #586276 !important;
    font-size: 0 !important; /* Replace small font glyph with a consistent chevron. */
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}
.tgdg-directory-search .search-field-what > .search-select-arrow::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-3px) rotate(45deg);
    transition: transform .16s ease;
}
.tgdg-directory-search .search-field-what:has(.search-category-suggestions.is-open) > .search-select-arrow::after {
    transform: translateY(3px) rotate(225deg);
}
.tgdg-directory-search .search-field-what > .search-select-arrow:focus-visible {
    outline: 2px solid #8e1a22;
    outline-offset: -3px;
    border-radius: 8px;
}
@media (prefers-reduced-motion: reduce) {
    .tgdg-directory-search .search-field-what > .search-select-arrow::after {
        transition: none;
    }
}

/* 24/10/2026 - Mobile navigation: distinguish the menu from the search below.
   Keep all existing links and JS submenu handling; animate only the outer panels. */
@media (max-width: 820px) {
    .tgdg-site-header .tgdg-header-inner {
        align-content: start;
    }
    .tgdg-site-header .tgdg-desktop-nav,
    .tgdg-site-header .tgdg-header-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        visibility: hidden;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        padding: 0;
        margin: 0;
        pointer-events: none;
        transition: max-height .32s ease, opacity .2s ease, visibility .32s;
    }
    .tgdg-site-header .tgdg-desktop-nav {
        order: 4;
        gap: 0;
        border-radius: 16px 16px 0 0;
        background: #eef7fa;
    }
    .tgdg-site-header .tgdg-header-actions {
        order: 5;
        border-radius: 0 0 16px 16px;
        background: #eef7fa;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav,
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-header-actions {
        visibility: visible;
        opacity: 1;
        max-height: 2200px;
        pointer-events: auto;
        transition: max-height .4s ease, opacity .22s ease, visibility 0s;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav {
        padding: 12px 14px 0;
        margin-top: 8px;
        border: 1px solid #d6e9ef;
        border-bottom: 0;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-header-actions {
        padding: 4px 14px 14px;
        margin-bottom: 12px;
        border: 1px solid #d6e9ef;
        border-top: 0;
    }
    .tgdg-site-header .tgdg-desktop-nav > a[href="/submit-listing"] {
        display: none !important; /* The single listing action is below the account link. */
    }
    .tgdg-site-header .tgdg-desktop-nav .tgdg-nav-menu-toggle {
        color: #24374b;
        font-weight: 750;
    }
    .tgdg-site-header .tgdg-header-actions .tgdg-business-button {
        width: 100%;
        min-height: 44px;
        background: #fff !important;
        border: 1.5px solid #8e1a22 !important;
        color: #8e1a22 !important;
        box-shadow: none;
    }
    .tgdg-site-header .tgdg-header-actions .tgdg-business-button:hover,
    .tgdg-site-header .tgdg-header-actions .tgdg-business-button:focus-visible {
        background: #fff3f5 !important;
        color: #70131b !important;
    }
    .tgdg-site-header .tgdg-header-actions .tgdg-login-link {
        border-bottom: 1px solid #d6e9ef;
        padding: 10px 4px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .tgdg-site-header .tgdg-desktop-nav,
    .tgdg-site-header .tgdg-header-actions {
        transition: none !important;
    }
}
/* Sideways phones have their own layout overrides; use the same treatment. */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {
    html.tgdg-phone-landscape .tgdg-site-header .tgdg-desktop-nav,
    html.tgdg-phone-landscape .tgdg-site-header .tgdg-header-actions {
        display: flex;
    }
}

/* 24/10/2026: calm mobile submenu typography and remove the large
   max-height collapse that visibly overshoots and flashes on closing. */
@media (max-width: 820px) {
    .tgdg-site-header .tgdg-desktop-nav,
    .tgdg-site-header .tgdg-header-actions {
        transition: none !important;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav,
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-header-actions {
        max-height: none !important;
        overflow: visible;
        animation: tgdg-mobile-menu-reveal .18s ease-out both;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu-toggle {
        font-size: 15px !important;
        font-weight: 800 !important;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown a {
        font-size: 14px !important;
        font-weight: 550 !important;
        line-height: 1.4 !important;
        padding: 8px 10px !important;
        color: #45556a !important;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown a:hover,
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown a:focus-visible {
        color: #8e1a22 !important;
        background: #fff !important;
    }
}
@keyframes tgdg-mobile-menu-reveal {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav,
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-header-actions {
        animation: none !important;
    }
}

/* 24/10/2026 TEST: stronger mobile menu hierarchy, without altering desktop or links. */
@media (max-width: 820px) {
    /* Keep the logo visually above the expanded menu; give the panel breathing room. */
    .tgdg-site-header .tgdg-brand {
        position: relative;
        z-index: 3;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav {
        margin-top: 13px;
    }
    /* White rounded section headers stand apart from the quieter submenu links. */
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu-toggle {
        min-height: 43px;
        padding: 10px 12px !important;
        margin: 4px 0;
        border-radius: 10px;
        background: #fff !important;
        color: #172032 !important;
        font-size: 15px !important;
        font-weight: 850 !important;
        box-shadow: 0 1px 3px rgba(23, 32, 50, .06);
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-menu.is-open > .tgdg-nav-menu-toggle {
        background: #fff7e9 !important;
        color: #8e1a22 !important;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown {
        padding: 2px 0 8px 12px !important;
        margin: 1px 0 5px 10px;
        border-left: 2px solid #d2e5ed !important;
    }
    .tgdg-site-header .tgdg-menu-toggle:checked ~ .tgdg-desktop-nav .tgdg-nav-dropdown a {
        padding: 7px 9px !important;
        color: #526178 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }
}

/* RH/AI 27/10/2026: national categories share the same filter card heading
   as the local directory; filter form and responsive accordion remain intact. */
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-stack {
    overflow: hidden !important;
    background: #fffdf9 !important;
    border: 1px solid #eadcc6 !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 30px rgba(67, 48, 26, .07) !important;
}
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-heading {
    display: block !important;
    position: relative;
    margin: 0;
    padding: 20px 18px 18px 58px !important;
    background: linear-gradient(135deg, #fff3dc 0%, #fffaf1 100%) !important;
    border-bottom: 1px solid #ecdcc4 !important;
}
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-heading::before {
    content: "\f002";
    position: absolute;
    top: 17px;
    left: 18px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: #fff;
    background: #8e1a22;
    border-radius: 10px;
    font-family: "Font Awesome 5 Free";
    font-size: 13px;
    font-weight: 900;
}
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-heading .tgdg-directory-kicker {
    display: block !important;
    margin: 0 !important;
    color: #8e1a22 !important;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .025em;
    line-height: 30px;
}
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-stack > .tgdg-filter-section {
        background: #fff !important;
    }
    body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-stack .tgdg-refine-section-body {
        padding: 12px 14px 16px !important;
    }
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-heading {
        padding: 11px 14px 11px 51px !important;
    }
    body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-heading::before {
        left: 13px;
        top: 10px;
        width: 28px;
        height: 28px;
    }
    body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-heading .tgdg-directory-kicker {
        line-height: 26px;
    }
}



/* Category-only regional cards: reuse Destinations artwork, without fixed heights.
   Existing county/count visibility controls whether each card is rendered. */
body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-art {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #fff;
}
body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-art::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.80) 47%, rgba(255,255,255,.12)), var(--tgdg-region-art, none);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
}
body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-art::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 5px;
    right: 6px;
    width: var(--tgdg-region-symbol-width, 88px);
    height: var(--tgdg-region-symbol-height, 65px);
    pointer-events: none;
    background: var(--tgdg-region-symbol, none) no-repeat right top / contain;
    opacity: var(--tgdg-region-symbol-opacity, .40);
}
body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-art > * {
    position: relative;
    z-index: 2;
}
.tgdg-region-art--south-west { --tgdg-region-art: url("/frontend/web/images/destinations-regions/south-west.png?v=5"); }
.tgdg-region-art--south-east { --tgdg-region-art: url("/frontend/web/images/destinations-regions/south-east.png?v=5"); }
.tgdg-region-art--east-england { --tgdg-region-art: url("/frontend/web/images/destinations-regions/east-of-england.png?v=5"); }
.tgdg-region-art--east-midlands { --tgdg-region-art: url("/frontend/web/images/destinations-regions/east-midlands.png?v=5"); }
.tgdg-region-art--west-midlands { --tgdg-region-art: url("/frontend/web/images/destinations-regions/west-midlands.png?v=5"); }
.tgdg-region-art--north-west { --tgdg-region-art: url("/frontend/web/images/destinations-regions/north-west.png?v=5"); }
.tgdg-region-art--north-east { --tgdg-region-art: url("/frontend/web/images/destinations-regions/north-east.png?v=5"); }
.tgdg-region-art--yorkshire { --tgdg-region-art: url("/frontend/web/images/destinations-regions/yorkshire-humber.png?v=5"); }
.tgdg-region-art--wales { --tgdg-region-art: url("/frontend/web/images/destinations-regions/wales.png?v=5"); }
.tgdg-region-art--scotland { --tgdg-region-art: url("/frontend/web/images/destinations-regions/scotland.png?v=5"); }
.tgdg-region-art--northern-ireland { --tgdg-region-art: url("/frontend/web/images/destinations-regions/northern-ireland.png?v=5"); }
.tgdg-region-art--republic-of-ireland { --tgdg-region-art: url("/frontend/web/images/destinations-regions/republic-of-ireland.png?v=5"); }
.tgdg-region-art--national-parks { --tgdg-region-art: url("/frontend/web/images/destinations-regions/national-parks.png?v=5"); }
.tgdg-region-art--cities { --tgdg-region-art: url("/frontend/web/images/destinations-regions/cities.png?v=5"); }
.tgdg-region-art--islands { --tgdg-region-art: url("/frontend/web/images/destinations-regions/islands.png?v=5"); }
.tgdg-region-art--france { --tgdg-region-art: url("/frontend/web/images/destinations-regions/france.png?v=5"); }
.tgdg-region-art--south-west, .tgdg-region-art--south-east, .tgdg-region-art--east-england,
.tgdg-region-art--east-midlands, .tgdg-region-art--west-midlands, .tgdg-region-art--north-west,
.tgdg-region-art--north-east, .tgdg-region-art--yorkshire {
    --tgdg-region-symbol: url("/frontend/web/images/destinations-regions/symbol-england.png?v=5");
}
.tgdg-region-art--wales { --tgdg-region-symbol: url("/frontend/web/images/destinations-regions/symbol-wales.png?v=6"); --tgdg-region-symbol-width: 106px; --tgdg-region-symbol-height: 86px; --tgdg-region-symbol-opacity: .60; }
.tgdg-region-art--scotland { --tgdg-region-symbol: url("/frontend/web/images/destinations-regions/symbol-scotland.png?v=5"); --tgdg-region-symbol-width: 120px; --tgdg-region-symbol-height: 81px; --tgdg-region-symbol-opacity: .42; }
.tgdg-region-art--northern-ireland { --tgdg-region-symbol: url("/frontend/web/images/destinations-regions/symbol-northern-ireland.png?v=6"); }
.tgdg-region-art--republic-of-ireland { --tgdg-region-symbol: url("/frontend/web/images/destinations-regions/symbol-ireland.png?v=6"); }
.tgdg-region-art--france { --tgdg-region-symbol: url("/frontend/web/images/destinations-regions/symbol-france.png?v=1"); --tgdg-region-symbol-width: 83px; --tgdg-region-symbol-height: 55px; --tgdg-region-symbol-opacity: .38; }



/* 28/10/2026: restore icon-only favourite hearts on result strips and detail headings.
   The original addToFavourite handler and saved-state classes remain unchanged. */
body.tgdg-redesign-page .listing-box .tgdg-result-favourite,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #8e1a22 !important;
    font-size: 27px !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-saved,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-favourite.is-saved {
    background: transparent !important;
    color: #8e1a22 !important;
    border: 0 !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label {
    font-size: 0 !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label-add,
body.tgdg-redesign-page .listing-box .tgdg-result-favourite.is-saved .tgdg-favourite-label-saved {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label-add::after {
    content: "♡" !important;
    display: inline-block !important;
    font-family: Arial, sans-serif !important;
    font-size: 31px !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .listing-box .tgdg-result-favourite .tgdg-favourite-label-saved::after {
    content: "♥" !important;
    display: inline-block !important;
    font-family: Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 1 !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
    display: inline-flex !important;
    position: absolute !important;
    top: 50% !important;
    right: 18px !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    cursor: pointer;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header {
    position: relative !important;
}

/* 28/10/2026: listing-strip heart visibility and fast hover hint. */
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-add::after,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-saved::after {
    display: inline-block !important;
    background: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-add::after {
    content: "♡" !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-saved::after {
    content: "♥" !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-saved {
    display: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite.is-saved .tgdg-favourite-label-add {
    display: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite.is-saved .tgdg-favourite-label-saved {
    display: inline-flex !important;
}
/* 28/10/2026: use the SAME Font Awesome heart as the listing detail page.
   The existing title attribute supplies the official tooltip; don't draw a second one. */
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite::before {
    content: "\f004" !important;
    display: inline-block !important;
    position: static !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 25px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: #8e1a22 !important;
    background: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite.is-saved::before {
    font-weight: 900 !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label {
    display: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite::after,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart::after {
    content: none !important;
    display: none !important;
}



/* 28/10/2026: single favourite glyph + fast green hints. Override competing old span
   pseudo-hearts and inherited link underlines without changing save behaviour. */
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite:hover,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite:focus,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite:visited {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-add,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label-saved,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label::before,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite .tgdg-favourite-label::after {
    display: none !important;
    content: none !important;
    text-decoration: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite::before {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 400 !important;
    content: "\f004" !important;
    text-decoration: none !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite.is-saved::before {
    font-weight: 900 !important;
}
/* Same green hint across strips and detail pages; no browser-native title delay. */
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
    position: relative;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite::after,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart::after {
    content: attr(data-tgdg-favourite-hint) !important;
    display: block !important;
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    width: max-content !important;
    max-width: 220px !important;
    padding: 7px 11px !important;
    border-radius: 4px !important;
    background: #238a50 !important;
    color: white !important;
    font: 600 13px/1.3 Arial, sans-serif !important;
    text-align: center !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 1000 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-3px) !important;
    transition: opacity .08s ease, transform .08s ease, visibility .08s !important;
}
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite[data-tgdg-favourite-hint]:hover::after,
body.tgdg-redesign-page .listing-box a.tgdg-result-favourite[data-tgdg-favourite-hint]:focus-visible::after,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart[data-tgdg-favourite-hint]:hover::after,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart[data-tgdg-favourite-hint]:focus-visible::after {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    transition-delay: .06s !important;
}

/* Preserve the heading heart's existing absolute placement. */
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart {
    position: absolute !important;
}

/* 28/10/2026: align the listing-detail favourite hint with the working strip hint.
   Right-align the text bubble under the heart; do not alter result-strip rules. */
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart[data-tgdg-favourite-hint]::after {
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    min-width: 0 !important;
    width: max-content !important;
    white-space: nowrap !important;
    transition: opacity .06s ease, transform .06s ease, visibility .06s !important;
    transition-delay: 0s !important;
}
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart[data-tgdg-favourite-hint]:hover::after,
body.tgdg-redesign-page .tgdg-listing-profile-card .listing_header > i.fa-heart[data-tgdg-favourite-hint]:focus-visible::after {
    transition-delay: 0s !important;
}

/* 28/10/2026: keep the detail-page favourite tooltip above the heading border
   and the following bullet-point content. The listing-strip tooltip is unchanged. */
body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header:has(> i.fa-heart:hover),
body.tgdg-redesign-page .tgdg-listing-profile-card .content-title-box.listing_header:has(> i.fa-heart:focus-visible) {
    z-index: 20 !important;
    overflow: visible !important;
}


/* 28/10/2026: Reviews: start with one Read more label. The existing
   expand/collapse code can override this with an inline display style;
   avoid !important so that Read less can be revealed after expansion. */
body.tgdg-redesign-page .tgdg-listing-reviews-card #load-more-reviews .read-less-text {
    display: none;
}

/* Centre and colour the existing Reviews expander to match site actions. */
body.tgdg-redesign-page .tgdg-listing-reviews-card .review-box-container > .text-center:has(> #load-more-reviews) {
    display: flex;
    justify-content: center;
    padding: 14px 16px 16px;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card #load-more-reviews {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 38px;
    margin: 0;
    padding: 8px 18px;
    border: 1px solid var(--tgdg-red);
    border-radius: 9px;
    background: var(--tgdg-red);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease;
}
body.tgdg-redesign-page .tgdg-listing-reviews-card #load-more-reviews:hover,
body.tgdg-redesign-page .tgdg-listing-reviews-card #load-more-reviews:focus-visible {
    background: var(--tgdg-red-dark);
    border-color: var(--tgdg-red-dark);
    color: #fff;
}



/* 28/10/2026: simplify aggregate review score to "Reviews 5.0 star · 6 reviews". */
body.tgdg-redesign-page .tgdg-review-summary-score small {
    display: none !important;
}
body.tgdg-redesign-page .tgdg-review-summary-score::after {
    content: " \2605";
    color: var(--tgdg-ink);
    font-size: .9em;
    font-weight: 900;
}

/* RH/AI 28/10/2026: standardise result-card body typography and bullet alignment.
   Match location, advertiser bullets and excerpt copy to the approved Premium
   description size. Desktop uses three bullet columns so six bullets form a 3x2
   grid; Basic/shorter listings naturally occupy the same first columns. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-location,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets li,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-redesign-result-content > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box > .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .free-listing-excerpt .listing-excerpt,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-box-detail .listing-excerpt {
    font-size: 14.5px !important;
}

@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .results-bullets ul,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing-bullets ul {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        gap: 6px 22px !important;
        width: 100% !important;
    }
}

/* RH/AI 28/10/2026: trial solid-red Contact + Phone result actions.
   Match View listing while leaving Website unchanged for visual comparison. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.email_us_button,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.email_us_button::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.email_us_button i,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action i,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action .call_button {
    color: #fff !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action .btn-telno {
    color: #fff !important;
    background: #70131b !important;
}

@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.email_us_button:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.email_us_button:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action:focus-visible {
        background: #70131b !important;
        border-color: #70131b !important;
    }
}

/* RH/AI 28/10/2026: extend solid-red result actions to Website too.
   View listing, Website, Contact and Phone now share one visual treatment. */
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.outbound_links {
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
    color: #fff !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.outbound_links::before,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.outbound_links i {
    color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.outbound_links:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a.outbound_links:focus-visible {
        background: #70131b !important;
        border-color: #70131b !important;
        color: #fff !important;
    }
}

/* RH/AI 28/10/2026: trial unified result-card control typography.
   Match feature/filter pills, main result actions and aggregate review badge to
   the 14.5px description copy so the lower half of each card reads consistently. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge {
    font-size: 14.5px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action .btn-telno {
    font-size: 14.5px !important;
}

/* RH/AI 28/10/2026: compact result controls after the 14.5px trial.
   Keep the lower-card controls visually consistent without letting their bold
   weight make them compete with the description copy. Slightly tighter desktop
   filter pills also leave more room for real facilities before +X more. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .listing-button > a,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .links-btns-container.tgdg-result-actions .tgdg-result-phone-action,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-review-row .tgdg-review-summary-badge,
body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .tgdg-result-phone-action .btn-telno {
    font-size: 13px !important;
}

@media (min-width: 681px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-features {
        gap: 6px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-chip,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-result-filter-more {
        min-height: 29px !important;
        gap: 5px !important;
        padding: 4px 8px !important;
    }
}

/* RH/AI 28/10/2026: mobile result-strip primary actions all use the same red treatment.
   Website, Contact and Call now match View listing; Favourite remains unchanged. */
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website:visited,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact:visited,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call:link,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call:visited {
        color: #fff !important;
        background: #8e1a22 !important;
        border-color: #8e1a22 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact::before,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call::before {
        color: #fff !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--website:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--contact:focus-visible,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call:hover,
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box a.tgdg-mobile-card-action--call:focus-visible {
        color: #fff !important;
        background: #70131b !important;
        border-color: #70131b !important;
    }
}

/* RH/AI 28/10/2026: mobile result media moves below advertiser bullets.
   The logo becomes tile one, followed by the available gallery images. Premium
   uses up to six visual tiles in a 3x2 grid; Basic and Free naturally show fewer. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline {
    width: 100%;
    margin: 11px 0 12px;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-media-brand,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-media-brand,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-mobile-result-media-inline .tgdg-redesign-result-media-brand {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 74px !important;
    gap: 7px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-logo-panel,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-logo-panel,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-mobile-result-media-inline .tgdg-redesign-result-logo-panel {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    height: 74px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e7dccd !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-brand-logo,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-brand-logo,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-mobile-result-media-inline .tgdg-redesign-result-brand-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 62px !important;
    object-fit: contain !important;
}

/* Flatten the existing thumbnail wrapper into the parent grid so the logo is
   genuinely the first tile rather than a separate block above the photos. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-thumbs,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-thumbs {
    display: contents !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-thumb {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: 74px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f5f2ec !important;
    border: 1px solid #e7dccd !important;
    border-radius: 10px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-thumb > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}


/* RH/AI 28/10/2026: enlarge the logo inside the first mobile gallery tile.
   Keep the logo fully visible, but remove the conservative inset that made it
   look much smaller than the neighbouring gallery thumbnails. */
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-logo-panel,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-logo-panel,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-mobile-result-media-inline .tgdg-redesign-result-logo-panel {
    padding: 2px !important;
}

body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline .tgdg-redesign-result-brand-logo,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-brand-logo,
body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-free .tgdg-mobile-result-media-inline .tgdg-redesign-result-brand-logo {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
}

/* RH/AI 28/10/2026: mobile listing-strip summary mirrors the full listing profile.
   Keep the business name/Favourite header first, then give the advertiser logo a
   proper boxed left column with town/county and highlights stacked alongside it.
   The gallery below is photo-only; the logo no longer consumes a gallery tile. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary {
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: start !important;
        margin: 7px 16px 13px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary.no-logo {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-logo-box {
        display: flex !important;
        width: 120px !important;
        height: 112px !important;
        min-width: 120px !important;
        min-height: 112px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px !important;
        overflow: hidden !important;
        background: #fff !important;
        border: 1px solid #e2d6c6 !important;
        border-radius: 12px !important;
        box-shadow: 0 3px 10px rgba(23,32,50,.045) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-logo {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        object-fit: contain !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy {
        min-width: 0 !important;
        padding-top: 2px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy .tgdg-redesign-result-meta {
        display: block !important;
        margin: 0 0 8px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy .tgdg-redesign-result-location {
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy .listing-bullets {
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy .listing-bullets ul {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy .listing-bullets li {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-media-inline {
        margin-top: 3px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-tier-basic .tgdg-mobile-result-media-inline .tgdg-redesign-result-thumb:only-child {
        grid-column: 1 / -1 !important;
    }
}

/* RH/AI 28/10/2026: mobile listing-strip summary refinement.
   Keep logo left and town/county right on the first row, then return the
   advertiser bullet points to a full-width row underneath the logo. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy {
        display: contents !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary.has-logo .tgdg-redesign-result-meta {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        margin: 2px 0 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary.no-logo .tgdg-redesign-result-meta {
        grid-column: 1 !important;
        grid-row: 1 !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary .listing-bullets {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}


/* RH/AI 28/10/2026: mobile result header refinement.
   Give the business name the full top line. Beneath it, keep the boxed logo left,
   stack town over county on the right, align Favourite with the town row, then
   let advertiser bullets span the full width below the logo/location row. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .listing-box .listing_header h2 {
        width: 100% !important;
        max-width: none !important;
        padding-right: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-copy {
        display: block !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding-top: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary.no-logo .tgdg-mobile-result-summary-copy {
        grid-column: 1 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 34px !important;
        gap: 8px !important;
        align-items: start !important;
        width: 100% !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-redesign-result-meta {
        display: block !important;
        grid-column: auto !important;
        grid-row: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location {
        display: block !important;
        margin: 0 !important;
        line-height: 1.28 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-line {
        display: block !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-line + .tgdg-mobile-result-location-line {
        margin-top: 3px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        position: static !important;
        top: auto !important;
        right: auto !important;
        align-self: start !important;
        justify-self: end !important;
        margin: -4px 0 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary .listing-bullets {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* RH/AI 28/10/2026: balance mobile location/favourite block.
   Town and county sit to the left; Favourite stays hard-right and aligns with the town line. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite {
        grid-template-columns: minmax(0, 1fr) 38px !important;
        align-items: start !important;
        column-gap: 10px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-redesign-result-meta {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        text-align: center !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location,
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location-line {
        width: 100% !important;
        text-align: center !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: start !important;
        margin: -4px 0 0 !important;
    }
}

/* RH/AI 28/10/2026: final mobile logo/location balance.
   Give Town/County enough horizontal room beside the logo and keep Favourite
   independently pinned to the far right so it cannot overlap or squeeze the text. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-summary-logo-box {
        width: 108px !important;
        min-width: 108px !important;
        height: 108px !important;
        min-height: 108px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        min-height: 52px !important;
        padding-right: 34px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-redesign-result-meta {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        text-align: center !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location-line {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 30px !important;
        min-width: 30px !important;
        margin: -3px 0 0 !important;
        padding: 0 !important;
        justify-content: center !important;
    }
}

/* RH/AI 28/10/2026: final mobile location alignment.
   Vertically centre the Town/County block against the logo, keep both lines
   left-aligned to the same start point, and enlarge/align Favourite with Town. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite {
        min-height: 108px !important;
        padding-right: 40px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-redesign-result-meta {
        min-height: 108px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location {
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location-line {
        width: auto !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        top: calc(50% - 18px) !important;
        right: 0 !important;
        width: 34px !important;
        min-width: 34px !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite::before {
        font-size: 30px !important;
        line-height: 1 !important;
    }
}

/* RH/AI 28/10/2026: mobile Town/County final alignment polish.
   Match bullet-copy size, keep both place lines left-aligned as one centred block,
   and align the slightly larger Favourite heart with the top of the Town line. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location {
        font-size: 14.5px !important;
        line-height: 1.25 !important;
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location-line {
        text-align: left !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        top: calc(50% - 20px) !important;
        width: 36px !important;
        min-width: 36px !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite::before {
        font-size: 30px !important;
        line-height: 1 !important;
    }
}

/* RH/AI 28/10/2026: nudge mobile location left and give Favourite a little more presence. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location {
        transform: translateX(-6px) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        width: 40px !important;
        min-width: 40px !important;
        top: calc(50% - 22px) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite::before {
        font-size: 34px !important;
    }
}

/* RH/AI 28/10/2026: tighten mobile location/Favourite spacing slightly. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location {
        transform: translateX(-12px) !important;
    }

    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite > .tgdg-result-favourite {
        right: 8px !important;
    }
}

/* RH/AI 28/10/2026: increase mobile Town/County text slightly without changing alignment. */
@media (max-width: 680px) {
    body.tgdg-redesign-page .tgdg-category-listing-results .tgdg-mobile-result-location-favourite .tgdg-mobile-result-location {
        font-size: 15.5px !important;
    }
}



/* RH/AI 29/10/2026: scrolling banner rails.
   County-targeted adverts stay fixed above the moving general pool; Free listing
   adverts use the moving pool directly. Existing banner links/tracking are untouched. */
body.tgdg-redesign-page .tgdg-banner-hybrid-rail {
    width: min(100%, 300px);
    max-width: 300px;
    margin: 0 auto;
}

body.tgdg-redesign-page .tgdg-banner-priority-section {
    margin: 0 0 18px;
    padding: 0 0 16px;
    border-bottom: 1px solid #eadcc4;
}

body.tgdg-redesign-page .tgdg-banner-rail-label {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 9px;
    padding: 5px 9px;
    color: #687386;
    background: #fffaf1;
    border: 1px solid #eadcc4;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.tgdg-redesign-page .tgdg-banner-rail-label--priority {
    color: var(--tgdg-red-dark, #70131b);
    background: #fff3df;
    border-color: #e5c894;
}

body.tgdg-redesign-page .tgdg-banner-priority-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
}

body.tgdg-redesign-page .tgdg-banner-priority-list .listing-banner,
body.tgdg-redesign-page .tgdg-banner-scroll-track .listing-banner {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    flex: 0 0 auto;
}

body.tgdg-redesign-page .tgdg-banner-priority-list .listing-banner img,
body.tgdg-redesign-page .tgdg-banner-scroll-track .listing-banner img {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto !important;
    border: 1px solid #eadcc4;
    border-radius: 6px !important;
    box-shadow: 0 7px 18px rgba(23,32,50,.07);
}

body.tgdg-redesign-page .tgdg-banner-scroll-section {
    width: 100%;
    min-width: 0;
}

body.tgdg-redesign-page .tgdg-banner-scroll-window {
    position: relative;
    width: 100%;
    max-width: 300px;
    height: 348px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 8px;
}

body.tgdg-redesign-page .tgdg-banner-scroll-window #banners.tgdg-banner-scroll-track,
body.tgdg-redesign-page .tgdg-mobile-listing-banners .tgdg-banner-scroll-window #banners.tgdg-banner-scroll-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-items: initial !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    will-change: transform;
}

body.tgdg-redesign-page .tgdg-banner-scroll-window #banners.tgdg-banner-scroll-track::before {
    content: none !important;
    display: none !important;
}

body.tgdg-redesign-page .tgdg-banner-scroll-section:hover .listing-banner img,
body.tgdg-redesign-page .tgdg-banner-scroll-section:focus-within .listing-banner img,
body.tgdg-redesign-page .tgdg-banner-priority-list .listing-banner:hover img,
body.tgdg-redesign-page .tgdg-banner-priority-list .listing-banner:focus-within img {
    box-shadow: 0 10px 22px rgba(23,32,50,.11);
}

/* The new scroller supplies its own small labels, replacing the old pseudo-label. */
body.tgdg-redesign-page .tgdg-category-banner-rail .tgdg-banner-hybrid-rail #banners::before,
body.tgdg-redesign-page .tgdg-location-banner-rail .tgdg-banner-hybrid-rail #banners::before {
    content: none !important;
    display: none !important;
}

@media (max-width: 520px) {
    body.tgdg-redesign-page .tgdg-mobile-listing-banners .tgdg-banner-hybrid-rail {
        width: min(100%, 300px) !important;
        max-width: 300px !important;
        margin: 0 auto !important;
    }

    body.tgdg-redesign-page .tgdg-mobile-listing-banners .tgdg-banner-scroll-window {
        height: 336px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tgdg-redesign-page .tgdg-banner-scroll-window {
        height: auto;
        overflow: visible;
    }
    body.tgdg-redesign-page .tgdg-banner-scroll-window #banners.tgdg-banner-scroll-track {
        transform: none !important;
    }
}

/* RH/AI 29/10/2026: let directory/category advert rails stay useful for the full page.
   On tablet/desktop the rail follows the viewport: county-targeted adverts remain fixed
   at the top and the moving general pool expands to use the remaining screen height.
   Free-listing scrollers deliberately keep their existing compact height. */
@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-category-banner-rail,
    body.tgdg-redesign-page .tgdg-location-banner-rail {
        position: sticky !important;
        top: 16px !important;
        align-self: start !important;
        height: calc(100vh - 32px) !important;
        height: calc(100dvh - 32px) !important;
        min-height: 520px !important;
        max-height: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-banner-rail .tgdg-banner-hybrid-rail,
    body.tgdg-redesign-page .tgdg-location-banner-rail .tgdg-banner-hybrid-rail {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-banner-rail .tgdg-banner-priority-section,
    body.tgdg-redesign-page .tgdg-location-banner-rail .tgdg-banner-priority-section {
        flex: 0 0 auto !important;
    }

    body.tgdg-redesign-page .tgdg-category-banner-rail .tgdg-banner-scroll-section--directory,
    body.tgdg-redesign-page .tgdg-location-banner-rail .tgdg-banner-scroll-section--directory {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        min-height: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-category-banner-rail .tgdg-banner-scroll-section--directory .tgdg-banner-rail-label,
    body.tgdg-redesign-page .tgdg-location-banner-rail .tgdg-banner-scroll-section--directory .tgdg-banner-rail-label {
        flex: 0 0 auto !important;
    }

    body.tgdg-redesign-page .tgdg-category-banner-rail .tgdg-banner-scroll-section--directory .tgdg-banner-scroll-window,
    body.tgdg-redesign-page .tgdg-location-banner-rail .tgdg-banner-scroll-section--directory .tgdg-banner-scroll-window {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 260px !important;
        max-height: none !important;
    }
}


/* RH/AI 29/10/2026: bring full listing identity/actions into parity with result strips.
   Premium gets three highlight columns, Basic two and Free one on wider screens;
   phones remain single-column. Keep the full address beside the logo while giving
   paid-listing highlights more usable width. Website/Contact/Phone use the same
   solid Good Dog Guide red treatment as the approved result-strip actions. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card #listing-address,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card .bullets li:not(.no-bullet) {
    font-size: 14.5px !important;
}

@media (min-width: 761px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
        grid-template-columns: 164px 210px minmax(0, 1fr) !important;
        column-gap: 20px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
        grid-template-columns: 164px 225px minmax(0, 1fr) !important;
        column-gap: 22px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-profile-card .listing-header.tgdg-has-account-tenure-layout {
        grid-template-columns: 164px 250px minmax(0, 1fr) !important;
        column-gap: 24px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        gap: 7px 22px !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        gap: 7px 24px !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        width: 100% !important;
        max-width: none !important;
    }
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
    grid-template-columns: 1fr !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action {
    color: #fff !important;
    background: #8e1a22 !important;
    border-color: #8e1a22 !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link::before,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action::before,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-label,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .call_button,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-mobile-direct-call,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-tablet-phone-number {
    color: #fff !important;
}

body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .btn-telno,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-tablet-phone-reveal {
    color: #fff !important;
    background: #70131b !important;
}

@media (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link:hover,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-action-link:focus-visible,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action:hover,
    body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-detail-actions-clean .tgdg-detail-phone-action:focus-within {
        color: #fff !important;
        background: #70131b !important;
        border-color: #70131b !important;
    }
}


/* RH/AI 29/10/2026: full-listing tier refinement after strip-parity pass.
   Basic now uses the same wide-header Features & facilities treatment as Free,
   while Premium keeps its feature card in the right rail and gains a little
   extra vertical/horizontal breathing room around address and highlights. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 164px minmax(230px, .85fr) minmax(300px, 1.15fr) !important;
        grid-template-areas:
            "logo address features"
            "logo bullets features" !important;
        column-gap: 22px !important;
        row-gap: 8px !important;
        align-items: start !important;
        justify-content: stretch !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header > .column,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .bullets {
        max-width: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header {
        grid-area: features !important;
        align-self: stretch !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 2px 0 2px 22px !important;
        background: transparent !important;
        border: 0 !important;
        border-left: 1px solid #eee7dc !important;
        box-shadow: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-listing-filter-heading {
        margin: 0 0 9px !important;
        color: var(--tgdg-ink) !important;
        font-family: var(--tgdg-display) !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-listing-filter-chips {
        display: flex !important;
        flex-wrap: wrap !important;
        align-content: flex-start !important;
        gap: 6px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-result-filter-chip {
        min-height: 28px !important;
        padding: 4px 8px !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-result-filter-icon {
        width: 18px !important;
        height: 18px !important;
        flex-basis: 18px !important;
        font-size: 9px !important;
    }
}

@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card #listing-address {
        padding-top: 7px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure {
        padding-top: 10px !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        gap: 12px 30px !important;
    }
}

/* RH/AI 29/10/2026: align full-listing address starts and refine Free/Basic wide headers.
   Free and Basic use logo | address | stacked highlights | Features on wide desktop.
   All listing tiers share the same address top offset; long Features blocks may
   naturally increase header height without disturbing the identity columns. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 164px minmax(190px, .72fr) minmax(220px, .82fr) minmax(300px, 1.46fr) !important;
        grid-template-areas: "logo address bullets features" !important;
        column-gap: 22px !important;
        row-gap: 0 !important;
        align-items: start !important;
        justify-content: stretch !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure {
        grid-area: bullets !important;
        align-self: start !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 7px 0 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-profile-card .bullets.tgdg-has-account-tenure > ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header {
        align-self: start !important;
        min-height: 100% !important;
    }
}

@media (min-width: 821px) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-profile-card #listing-address,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-profile-card #listing-address,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card #listing-address {
        padding-top: 7px !important;
    }
}

/* RH/AI 29/10/2026: tighten Free/Basic identity columns after visual review.
   Keep the logo fixed, reduce the reserved address width and pull the stacked
   highlights closer to the address; Features keeps the remaining flexible width. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .listing-header,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters.tgdg-listing-compact .tgdg-listing-profile-card .listing-header {
        grid-template-columns: 164px 150px 230px minmax(300px, 1fr) !important;
        column-gap: 12px !important;
    }
}

/* RH/AI 29/10/2026: keep Free/Basic full-listing Features compact on initial desktop load.
   Reuse the existing +X more / Show less control already created by listing.php for
   feature sets over nine items. Expanding simply reveals the remaining chips and lets
   the listing header grow naturally; Premium/sidebar feature panels are unchanged. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-filter-features-free-header.tgdg-mobile-features-collapsed .tgdg-listing-filter-chips .tgdg-result-filter-chip:nth-child(n+10),
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-filter-features-free-header.tgdg-mobile-features-collapsed .tgdg-listing-filter-chips .tgdg-result-filter-chip:nth-child(n+10) {
        display: none !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-filter-features-free-header .tgdg-mobile-features-toggle,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-filter-features-free-header .tgdg-mobile-features-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 28px !important;
        margin: 8px 0 0 !important;
        padding: 4px 10px !important;
        color: var(--tgdg-red-dark) !important;
        background: #fff8ec !important;
        border: 1px solid #ead8b9 !important;
        border-radius: 999px !important;
        font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
        font-size: 11px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }
}

/* RH/AI 29/10/2026: rebalance full-listing address position after visual review.
   Free/Basic address blocks move slightly further right between the logo and stacked
   highlights; Premium gets a smaller nudge. Grid tracks and feature positions stay put. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free .tgdg-listing-profile-card #listing-address,
    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic .tgdg-listing-profile-card #listing-address {
        transform: translateX(12px) !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-profile-card #listing-address {
        transform: translateX(6px) !important;
    }
}

/* RH/AI 29/10/2026: give the two top Advertise-page actions the same raised CTA treatment used elsewhere. */
body.tgdg-redesign-page .tgdg-advertise-intro-actions .tgdg-business-button {
    box-shadow: 0 9px 20px rgba(142,26,34,.22);
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.tgdg-redesign-page .tgdg-advertise-intro-actions .tgdg-business-button:hover,
body.tgdg-redesign-page .tgdg-advertise-intro-actions .tgdg-business-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 13px 26px rgba(142,26,34,.28);
}

body.tgdg-redesign-page .tgdg-advertise-intro-actions .tgdg-business-button:active {
    transform: translateY(0);
    box-shadow: 0 7px 16px rgba(142,26,34,.20);
}

/* RH/AI 29/10/2026: lock full-listing address and highlight typography together.
   Free, Basic and Premium now use exactly the same type size, family, weight and
   line-height for address text and advertiser bullet points. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card #listing-address,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card #listing-address strong,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card .bullets li:not(.no-bullet) {
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* RH/AI 29/10/2026: keep full-listing Features & facilities pills slightly
   smaller than the 14.5px address/highlight copy so the rounded pill treatment
   does not visually overpower the surrounding listing text. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-filter-features .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-filter-features-free-header .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-filter-features-sidebar .tgdg-result-filter-chip {
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

/* RH/AI 29/10/2026: final full-listing feature-pill specificity override.
   Free/Basic have highly specific compact-header rules that otherwise force
   their pill labels back to 10.5px. Keep all listing tiers at the same 13px. */
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-free.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-basic.tgdg-listing-has-filters .tgdg-listing-profile-card .tgdg-listing-filter-features-free-header .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-listing-detail-page.tgdg-listing-tier-premium .tgdg-listing-detail-sidebar .tgdg-listing-filter-features-sidebar .tgdg-result-filter-chip,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-filter-features .tgdg-result-filter-chip {
    font-family: Inter, ui-rounded, "Trebuchet MS", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}




/* RH/AI 29/10/2026: clean mobile map/video rail.
   Remove the tinted rail and card shadows beneath map/video without changing
   desktop sidebar cards or the Reviews card. */
@media (max-width: 820px) {
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar {
        padding: 0 !important;
        background: transparent !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
    }

    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .tgdg-mobile-map-item.sidebar-content,
    body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .tgdg-mobile-video-content {
        box-shadow: none !important;
    }
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar {
    padding: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .tgdg-mobile-map-item.sidebar-content,
html.tgdg-phone-landscape body.tgdg-redesign-page .tgdg-listing-detail-main > .tgdg-listing-detail-sidebar > .tgdg-mobile-video-content {
    box-shadow: none !important;
}


/* RH/AI 29/10/2026: keep national category Read more/less text white in every interaction state. */
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn,
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn:hover,
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn:focus,
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn:focus-visible,
body.tgdg-redesign-page .tgdg-national-category-page .read-more-btn:active {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* RH/AI 29/10/2026: plain county intro uses the same text-link Read more treatment as listing excerpts. */
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .read-more-btn {
    display: inline !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #8e1a22 !important;
    -webkit-text-fill-color: #8e1a22 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    cursor: pointer;
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .read-more-btn:hover,
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .read-more-btn:focus,
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .read-more-btn:focus-visible,
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .read-more-btn:active {
    background: transparent !important;
    color: #8e1a22 !important;
    -webkit-text-fill-color: #8e1a22 !important;
    box-shadow: none !important;
    outline-offset: 3px;
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .read-more-btn::after {
    content: " +";
}
body.tgdg-redesign-page.tgdg-county-only-page .tgdg-directory-intro-card .intro-text.expanded + .read-more-btn::after {
    content: " -";
}

/* RH/AI 29/10/2026: keep the full company-search placeholder visible on narrow phones. */
@media (max-width: 560px) {
    .homepage-company-search {
        grid-template-columns: minmax(0, 1fr) 100px !important;
    }

    .homepage-company-search .primary-button {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .homepage-company-search-field {
        gap: 6px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}


/* RH/AI 30/10/2026: match full-listing address colour to directory-strip location text. */
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card #listing-address,
body.tgdg-redesign-page .tgdg-listing-detail-page .tgdg-listing-profile-card #listing-address strong {
    color: #617087 !important;
}



/* RH/AI 01/11/2026: Lenovo/Android tablet paint-stability fix for category landing pages.
   Avoid filtering the large illustrated SVG and avoid multi-column fragmentation at tablet widths. */
@media (min-width: 761px) and (max-width: 1100px) {
    body.tgdg-redesign-page .tgdg-category-landing-page #tgdg-category-map .tgdg-county-map-svg {
        filter: none !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-card-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        columns: auto !important;
        column-gap: 16px !important;
        row-gap: 16px !important;
    }

    body.tgdg-redesign-page .tgdg-category-landing-page .tgdg-region-card-grid > .tgdg-region-card {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
}



/* Town/category radius coverage context: lightweight result/summary labels. */
body.tgdg-redesign-page .tgdg-result-area-context {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 5px;
    padding: 3px 8px;
    border: 1px solid #d8e7df;
    border-radius: 999px;
    background: #f3faf6;
    color: #2f6650;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
}
body.tgdg-redesign-page .tgdg-search-result-summary-coverage {
    margin: 2px 0 0;
    color: var(--tgdg-ink);
    font-size: 14px;
    line-height: 1.35;
}
@media (max-width: 760px) {
    body.tgdg-redesign-page .tgdg-result-area-context {
        margin-top: 4px;
        font-size: 11px;
    }
}

/* RH/AI 05/11/2026: national filters already have an outer accordion card.
   Remove the nested filter card's bottom gap, border and shadow. */
body.tgdg-redesign-page .tgdg-national-category-page .tgdg-national-refine-stack .tgdg-filter-shell {
    margin-bottom: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* RH/AI 06/11/2026: centred description text. Paragraphs are capped at 940px for readability but
   sat at the left of the description, so centred text was centred inside a box pushed to the left,
   while the main heading (not capped) was centred across the full width - making the heading look
   off-centre to the right. When the text is centred, centre the paragraph box too. Left-aligned
   descriptions are unchanged. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description p[style*="text-align:center"],
body.tgdg-redesign-page .tgdg-listing-profile-card .description p[style*="text-align: center"],
body.tgdg-redesign-page .tgdg-listing-profile-card .description [style*="text-align:center"] p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description [style*="text-align: center"] p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description [align="center"] p,
body.tgdg-redesign-page .tgdg-listing-profile-card .description p[align="center"] {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* RH/AI 06/11/2026: centred image rows. Image rows were kept on the same 940px measure as the
   paragraphs (pinned to the left). Now that centred paragraphs are centred, centre the image-row
   box too, so photos line up with the text above and below. Rows set to left, right or
   justify keep the original left-pinned measure. */
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert:not(.gdg-align-left):not(.gdg-align-right):not(.gdg-align-justify),
body.tgdg-redesign-page .tgdg-listing-profile-card .description .gdg-image-insert:not(.gdg-align-left):not(.gdg-align-right):not(.gdg-align-justify) > p {
    margin-left: auto !important;
    margin-right: auto !important;
}

