/*
 * Irish Driving Test Finder — editorial v3 public theme.
 * Intentionally scoped to .finder-site so the admin panel is untouched.
 */

:root {
    --idtf-ink: #191713;
    --idtf-ink-rgb: 25, 23, 19;
    --idtf-slate: rgba(25, 23, 19, .62);
    --idtf-muted: rgba(25, 23, 19, .45);
    --idtf-green: #0b6b52;
    --idtf-green-2: #0b6b52;
    --idtf-green-soft: #e4eee9;
    --idtf-paper: #fbf9f4;
    --idtf-paper-warm: #f3ede1;
    --idtf-white: #fffefa;
    --idtf-line: rgba(25, 23, 19, .14);
    --idtf-line-dark: rgba(25, 23, 19, .24);
    --idtf-gold: #f3d9be;
    --idtf-danger: #a63d32;
    --idtf-radius: 14px;
    --idtf-shadow: 0 18px 60px rgba(25, 23, 19, .07);
    --finder-ink: var(--idtf-ink);
    --finder-ink-soft: var(--idtf-slate);
    --finder-blue: var(--idtf-green);
    --finder-blue-dark: var(--idtf-ink);
    --finder-green: var(--idtf-green);
    --finder-green-soft: var(--idtf-green-soft);
    --finder-sand: var(--idtf-gold);
    --finder-paper: var(--idtf-paper);
    --finder-white: var(--idtf-white);
    --finder-line: var(--idtf-line);
    --finder-muted: var(--idtf-muted);
    --finder-radius: var(--idtf-radius);
    --finder-shadow: var(--idtf-shadow);
}

html {
    background: var(--idtf-paper);
    scroll-padding-top: 78px;
}

body.finder-site {
    min-height: 100vh;
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper) !important;
    font-family: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif !important;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.finder-site ::selection {
    color: var(--idtf-ink);
    background: var(--idtf-gold);
}

.finder-site [hidden] {
    display: none !important;
}

.finder-site .container {
    width: min(calc(100% - 44px), 1180px) !important;
    max-width: 1180px !important;
    padding-right: 0;
    padding-left: 0;
}

.finder-site h1,
.finder-site h2,
.finder-site h3,
.finder-site h4,
.finder-site h5,
.finder-site h6 {
    color: var(--idtf-ink);
}

.finder-site h1,
.finder-site h2,
.finder-site .booking-title,
.finder-site .blog-card-title,
.finder-site .post-content h2,
.finder-site .post-content h3 {
    font-family: "Instrument Serif", Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -.025em !important;
}

.finder-site h1 em,
.finder-site h2 em,
.finder-site h3 em {
    color: var(--idtf-green);
    font-weight: inherit;
}

.finder-site .highlight,
.finder-site [class*="gradient-text"] {
    color: var(--idtf-green) !important;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}

.finder-site a {
    color: var(--idtf-green);
    text-underline-offset: 3px;
}

.finder-site a:hover {
    color: var(--idtf-ink);
}

.finder-site a:focus-visible,
.finder-site button:focus-visible,
.finder-site input:focus-visible,
.finder-site select:focus-visible,
.finder-site textarea:focus-visible {
    outline: 2px solid var(--idtf-green) !important;
    outline-offset: 4px;
}

/* Navigation */
.finder-nav {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    min-height: 72px !important;
    padding: 0 !important;
    background: rgba(251, 249, 244, .92) !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px);
    transition: border-color .2s ease, background-color .2s ease;
}

.finder-nav .container {
    min-height: 72px;
}

.finder-brand,
.finder-brand.navbar-brand {
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--idtf-ink) !important;
    font-family: "Instrument Serif", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -.012em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.finder-brand em {
    color: var(--idtf-green);
    font-style: italic;
}

.finder-nav .navbar-nav {
    gap: 2px;
}

.finder-nav .nav-link {
    min-height: 42px;
    margin: 0 !important;
    padding: 10px 9px !important;
    color: rgba(var(--idtf-ink-rgb), .6) !important;
    background: transparent !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.finder-nav .nav-link:hover,
.finder-nav .nav-link:focus {
    color: var(--idtf-ink) !important;
}

.finder-nav-cta,
.finder-site .finder-button,
.finder-site .btn,
.finder-site [class*="-button"],
.finder-site [class*="-btn"] {
    border-radius: 999px !important;
    box-shadow: none !important;
}

.finder-nav-cta {
    min-height: 42px !important;
    padding: 10px 18px !important;
    color: var(--idtf-paper) !important;
    background: var(--idtf-ink) !important;
    border-color: var(--idtf-ink) !important;
    font-size: 14px;
    font-weight: 600;
}

.finder-nav-cta:hover,
.finder-nav-cta:focus {
    color: var(--idtf-paper) !important;
    background: var(--idtf-green) !important;
    border-color: var(--idtf-green) !important;
}

.finder-nav-toggle {
    min-height: 42px !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border: 1px solid var(--idtf-line-dark) !important;
    border-radius: 999px !important;
}

/* Shared controls */
.finder-site .finder-button,
.finder-site .btn {
    min-height: 48px;
    padding: 12px 21px;
    font-size: 15px;
    font-weight: 600;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.finder-site .finder-button:hover,
.finder-site .btn:hover {
    transform: translateY(-1px);
}

.finder-site .finder-button-primary,
.finder-site .btn-primary,
.finder-site .btn-success,
.finder-site .nr-button,
.finder-site .tc-cta-btn,
.finder-site .hub-cta-btn,
.finder-site .loc-cta-btn {
    color: var(--idtf-paper) !important;
    background: var(--idtf-green) !important;
    border-color: var(--idtf-green) !important;
}

.finder-site .finder-button-primary:hover,
.finder-site .btn-primary:hover,
.finder-site .btn-success:hover,
.finder-site .nr-button:hover,
.finder-site .tc-cta-btn:hover,
.finder-site .hub-cta-btn:hover,
.finder-site .loc-cta-btn:hover {
    background: var(--idtf-ink) !important;
    border-color: var(--idtf-ink) !important;
}

.finder-site .finder-button-outline,
.finder-site .finder-button-secondary,
.finder-site .btn-outline-primary,
.finder-site .btn-outline-success,
.finder-site .nr-button.secondary {
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border: 1px solid var(--idtf-line-dark) !important;
}

.finder-site .finder-button-outline:hover,
.finder-site .finder-button-secondary:hover,
.finder-site .btn-outline-primary:hover,
.finder-site .btn-outline-success:hover,
.finder-site .nr-button.secondary:hover {
    color: var(--idtf-paper) !important;
    background: var(--idtf-ink) !important;
    border-color: var(--idtf-ink) !important;
}

.finder-site input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.finder-site select,
.finder-site textarea {
    min-height: 50px;
    color: var(--idtf-ink) !important;
    background: rgba(255, 254, 250, .78) !important;
    border: 1px solid var(--idtf-line-dark) !important;
    border-radius: 12px !important;
}

.finder-site input:focus,
.finder-site select:focus,
.finder-site textarea:focus {
    border-color: var(--idtf-green) !important;
    box-shadow: 0 0 0 3px rgba(11, 107, 82, .1) !important;
}

.finder-site .card,
.finder-site .checkout-card,
.finder-site .booking-card,
.finder-site .order-summary,
.finder-site .payment-card,
.finder-site .form-card,
.finder-site .trust-card {
    color: var(--idtf-ink) !important;
    background: rgba(255, 254, 250, .72) !important;
    background-image: none !important;
    border: 1px solid var(--idtf-line) !important;
    border-radius: var(--idtf-radius) !important;
    box-shadow: none !important;
}

/* Home */
.page-home .finder-main {
    overflow: hidden;
}

.finder-hero {
    padding: clamp(22px, 4vw, 54px) 0 0 !important;
    overflow: visible !important;
    background: var(--idtf-paper) !important;
    background-image: none !important;
    border: 0 !important;
}

.finder-hero .container {
    display: block !important;
}

.finder-hero-intro {
    max-width: 1000px !important;
}

.finder-live-label,
.finder-eyebrow,
.nr-kicker,
.blog-guide-label,
.booking-kicker {
    margin: 0 0 15px !important;
    color: var(--idtf-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .14em !important;
    line-height: 1.45;
    text-transform: uppercase;
}

.finder-live-label {
    display: flex;
    align-items: center;
    gap: 9px;
}

.finder-live-label i {
    color: var(--idtf-green);
    font-size: 7px;
}

.finder-eyebrow span {
    display: none !important;
}

.finder-hero h1 {
    max-width: 1000px !important;
    margin: 0 !important;
    font-size: clamp(43px, 7.4vw, 92px) !important;
    line-height: .98 !important;
    text-wrap: balance;
}

.finder-hero h1 em {
    display: inline;
}

.finder-hero-lead {
    max-width: 610px !important;
    margin: 19px 0 0 !important;
    color: var(--idtf-slate) !important;
    font-size: clamp(15.5px, 1.5vw, 18px) !important;
    line-height: 1.52 !important;
}

.finder-centre-search {
    padding: clamp(26px, 3.5vw, 44px) 0 0;
}

.finder-centre-searchbar {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid var(--idtf-line-dark);
}

.finder-site .finder-centre-searchbar input {
    flex: 1;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 14px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: "Instrument Serif", Georgia, serif;
    font-size: clamp(21px, 2.6vw, 30px);
    letter-spacing: -.01em;
}

.finder-centre-searchbar input::-webkit-search-cancel-button {
    cursor: pointer;
}

.finder-centre-searchbar > span {
    flex: 0 0 auto;
    color: var(--idtf-muted);
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.finder-centre-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0 26px;
    max-height: 315px;
    margin-top: 6px;
    overflow: auto;
    scrollbar-color: var(--idtf-line-dark) transparent;
}

.finder-site .finder-centre-option {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-height: 0;
    padding: 11px 2px;
    color: var(--idtf-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(var(--idtf-ink-rgb), .09);
    border-radius: 0 !important;
    font-family: "Hanken Grotesk", sans-serif;
    text-align: left;
    transform: none;
}

.finder-site .finder-centre-option span {
    font-size: 16px;
}

.finder-site .finder-centre-option small {
    color: var(--idtf-muted);
    font-size: 12.5px;
}

.finder-site .finder-centre-option:hover,
.finder-site .finder-centre-option:focus,
.finder-site .finder-centre-option.is-selected {
    color: var(--idtf-green);
}

.finder-site .finder-centre-option.is-selected span,
.finder-site .finder-centre-option.is-selected small {
    color: var(--idtf-green);
    font-weight: 600;
}

.finder-site .finder-centre-option:disabled {
    cursor: not-allowed;
    opacity: .32;
}

.finder-centre-empty {
    margin: 18px 0 0;
    color: var(--idtf-slate);
}

.finder-centre-selection {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-top: 22px;
}

.finder-centre-selection > p {
    max-width: 360px;
    margin: 7px 0 0;
    color: var(--idtf-muted);
    font-size: 13.5px;
}

.finder-centre-selection-actions,
.finder-selected-centres {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.finder-centre-selection-actions {
    justify-content: flex-end;
}

.finder-centre-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 5px 4px 12px !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border: 1px solid var(--idtf-line-dark) !important;
    border-radius: 999px !important;
    font-size: 13px;
}

.finder-centre-chip button {
    display: inline-grid;
    place-items: center;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    color: var(--idtf-muted) !important;
    background: transparent !important;
    border: 0 !important;
}

.finder-date-story {
    margin-top: clamp(58px, 8vw, 104px);
}

.finder-date-story-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
}

.finder-date-story-heading h2 {
    max-width: 590px;
    margin: 0;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.05;
}

.finder-date-story-heading > span {
    color: var(--idtf-muted);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.finder-date-track {
    position: relative;
    height: clamp(92px, 12vw, 138px);
    margin-top: clamp(16px, 2.5vw, 32px);
    overflow: hidden;
}

.finder-date-track img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}

.finder-date-label {
    position: absolute;
    top: 23%;
    z-index: 1;
    font-size: 11.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.finder-date-label-start {
    left: 26%;
    color: var(--idtf-green);
    transform: translateX(-50%);
}

.finder-date-label-end {
    right: 26%;
    color: var(--idtf-muted);
    transform: translateX(50%);
}

.finder-date-months {
    display: flex;
    justify-content: space-between;
    margin-top: -15px;
    padding-top: 12px;
    color: var(--idtf-muted);
    border-top: 1px solid var(--idtf-line);
    font-family: "Instrument Serif", Georgia, serif;
    font-size: clamp(17px, 1.8vw, 22px);
}

.finder-section {
    padding: 0 !important;
    margin-top: clamp(70px, 9vw, 112px);
    background: transparent !important;
}

.finder-section-heading {
    max-width: 720px !important;
    margin: 0 0 clamp(30px, 4vw, 54px) !important;
}

.finder-section-heading h2,
.finder-clarity-grid h2 {
    margin: 0 !important;
    font-size: clamp(31px, 4.4vw, 56px) !important;
    line-height: 1.02 !important;
}

.finder-section-heading > p:last-child {
    max-width: 560px;
    margin: 16px 0 0 !important;
    color: var(--idtf-slate) !important;
    font-size: 16.5px;
}

.finder-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 4vw, 46px);
}

.finder-steps article {
    min-height: 0 !important;
    padding: 16px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--idtf-line-dark) !important;
    border-radius: 0 !important;
}

.finder-step-number {
    margin: 0 0 12px !important;
    color: var(--idtf-green) !important;
    font-family: "Instrument Serif", Georgia, serif;
    font-size: 26px !important;
    font-style: italic;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.finder-steps h3 {
    margin: 0 0 7px;
    font-family: "Hanken Grotesk", sans-serif !important;
    font-size: 19px;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
}

.finder-steps p {
    margin: 0;
    color: var(--idtf-slate);
    font-size: 15.5px;
}

.finder-plans-section {
    background: transparent !important;
}

.finder-plan-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(30px, 5vw, 58px);
}

.finder-plan-card,
.finder-plan-featured {
    min-height: 0 !important;
    padding: 18px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 2px solid var(--idtf-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.finder-plan-featured {
    border-top-color: var(--idtf-green) !important;
}

.finder-plan-topline {
    align-items: baseline !important;
    color: var(--idtf-muted);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.finder-plan-topline > span {
    color: var(--idtf-ink) !important;
    font-size: inherit !important;
    font-weight: 600;
}

.finder-plan-featured .finder-plan-topline > span {
    color: var(--idtf-green) !important;
}

.finder-plan-topline small {
    padding: 0 !important;
    color: var(--idtf-muted) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: inherit;
}

.finder-plan-card h3 {
    margin: 18px 0 10px !important;
    font-size: clamp(25px, 2.6vw, 32px) !important;
    line-height: 1.1;
}

.finder-plan-summary {
    min-height: 0 !important;
    margin: 0 !important;
    color: var(--idtf-slate);
    font-size: 15.5px;
}

.finder-plan-card ul {
    gap: 9px !important;
    margin: 20px 0 26px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 15.5px;
}

.finder-plan-card li i {
    display: none;
}

.finder-price {
    gap: 9px !important;
    margin-bottom: 18px !important;
}

.finder-price strong {
    color: var(--idtf-ink) !important;
    font-family: "Instrument Serif", Georgia, serif;
    font-size: clamp(42px, 4.4vw, 54px) !important;
    font-weight: 400;
    letter-spacing: -.02em;
}

.finder-plan-featured .finder-price strong {
    color: var(--idtf-green) !important;
}

.finder-price span {
    color: var(--idtf-muted) !important;
    font-size: 12px !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.finder-plan-card .finder-button {
    width: 100%;
}

.finder-stripe-line {
    margin: 20px 0 0 !important;
    color: var(--idtf-muted) !important;
    font-size: 13px;
    text-align: left !important;
}

.finder-clarity-section {
    margin-top: clamp(70px, 9vw, 112px) !important;
    padding: clamp(48px, 7vw, 86px) 0 !important;
    background: var(--idtf-paper-warm) !important;
}

.finder-clarity-grid {
    display: block !important;
}

.finder-clarity-grid > div:first-child {
    max-width: 700px;
}

.finder-clarity-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 4vw, 46px) !important;
    margin-top: clamp(30px, 4vw, 48px);
    border: 0 !important;
}

.finder-clarity-list article {
    display: block !important;
    padding: 16px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--idtf-line-dark) !important;
}

.finder-clarity-list article > i {
    display: none;
}

.finder-clarity-list h3 {
    margin: 0 0 8px;
    font-family: "Hanken Grotesk", sans-serif !important;
    font-size: 18px;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.finder-clarity-list p {
    margin: 0;
    color: var(--idtf-slate);
    font-size: 15.5px;
}

.finder-resources-section {
    background: transparent !important;
}

.finder-resource-grid {
    display: block !important;
    border-top: 1px solid var(--idtf-line-dark);
}

.finder-resource-grid > a {
    display: grid !important;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1fr) auto;
    gap: 10px 32px;
    align-items: baseline;
    min-height: 0 !important;
    padding: 22px 0 !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--idtf-line) !important;
    border-radius: 0 !important;
}

.finder-resource-grid > a > span {
    display: none;
}

.finder-resource-grid h3 {
    margin: 0 !important;
    font-size: clamp(21px, 2.2vw, 27px) !important;
    line-height: 1.18;
}

.finder-resource-grid p {
    margin: 0 !important;
    color: var(--idtf-slate) !important;
    font-size: 15px;
}

.finder-resource-grid strong {
    color: var(--idtf-muted) !important;
    font-size: 0;
}

.finder-resource-grid strong i {
    font-size: 18px;
}

.finder-resource-grid > a:hover h3,
.finder-resource-grid > a:hover strong {
    color: var(--idtf-green) !important;
}

.finder-faq-section {
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
}

.finder-faq-list {
    max-width: none !important;
    border-top-color: var(--idtf-line-dark) !important;
}

.finder-faq-item {
    border-bottom-color: var(--idtf-line) !important;
}

.finder-faq-item button {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    min-height: 0 !important;
    padding: 19px 0 !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 16px;
    font-weight: 600;
}

.finder-faq-item button i {
    color: var(--idtf-green);
    font-family: "Instrument Serif", Georgia, serif;
    font-size: 20px;
}

.finder-faq-answer p {
    max-width: 660px;
    margin: 0 0 22px;
    color: var(--idtf-slate) !important;
    font-size: 16px;
    line-height: 1.65;
}

.finder-final-cta {
    margin: clamp(70px, 9vw, 112px) auto 0;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.finder-final-cta .container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end !important;
    gap: 24px !important;
    padding-top: clamp(26px, 3vw, 42px);
    border-top: 2px solid var(--idtf-ink);
}

.finder-final-cta .finder-eyebrow {
    display: none;
}

.finder-final-cta h2 {
    margin: 0 !important;
    color: var(--idtf-ink) !important;
    font-size: clamp(30px, 4vw, 52px) !important;
    line-height: 1.02;
}

.finder-final-cta .finder-button {
    justify-self: start;
    color: var(--idtf-paper) !important;
    background: var(--idtf-ink) !important;
    border-color: var(--idtf-ink) !important;
}

.finder-final-cta .finder-button:hover {
    background: var(--idtf-green) !important;
    border-color: var(--idtf-green) !important;
}

/* Shared page heroes */
.tc-hero,
.hub-hero,
.loc-hero,
.blog-hero,
.post-hero,
.nr-hero,
.finder-legal-hero,
.editorial-hero {
    padding: clamp(42px, 6vw, 82px) 0 !important;
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--idtf-line) !important;
}

.tc-hero h1,
.hub-hero h1,
.loc-hero h1,
.blog-hero h1,
.post-hero h1,
.nr-hero h1,
.finder-legal-hero h1,
.editorial-hero h1 {
    max-width: 940px;
    color: var(--idtf-ink) !important;
    font-size: clamp(42px, 6vw, 76px) !important;
    line-height: 1 !important;
}

.tc-hero p,
.hub-hero p,
.loc-hero p,
.blog-hero p,
.post-hero p,
.nr-hero p,
.finder-legal-hero p,
.editorial-hero p,
.tc-breadcrumb,
.hub-breadcrumb,
.loc-breadcrumb,
.post-breadcrumb,
.nr-breadcrumb {
    color: var(--idtf-slate) !important;
}

.tc-stat,
.hub-chip,
.loc-chip {
    padding: 8px 13px !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border: 1px solid var(--idtf-line-dark) !important;
    border-radius: 999px !important;
}

.tc-jump-nav {
    top: 72px !important;
    background: rgba(251, 249, 244, .95) !important;
    border-color: var(--idtf-line) !important;
    backdrop-filter: blur(10px);
}

.tc-region-nav,
.tc-resources,
.tc-section,
.hub-about,
.hub-centres,
.hub-compare,
.hub-faq,
.loc-main,
.loc-faq,
.nr-page {
    background: var(--idtf-paper) !important;
    background-image: none !important;
}

.tc-grid {
    gap: 0 28px !important;
}

.tc-link,
.tc-resource-card,
.hub-card,
.loc-card,
.policy-card,
.nr-card,
.nr-side-card,
.nr-stat,
.post-content-card,
.post-cta,
.related-card {
    color: var(--idtf-ink) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 1px solid var(--idtf-line-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.tc-link {
    min-height: 58px;
    padding: 15px 2px !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--idtf-line) !important;
}

.tc-link:hover,
.hub-card:hover,
.related-card:hover {
    color: var(--idtf-green) !important;
    border-color: var(--idtf-green) !important;
    transform: none !important;
}

.compare-table,
.nr-table,
.nr-table-wrap {
    overflow: hidden;
    background: rgba(255, 254, 250, .65) !important;
    border: 1px solid var(--idtf-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.compare-table th,
.nr-table th {
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper-warm) !important;
}

.tc-cta,
.hub-cta,
.loc-cta,
.nr-cta,
.nr-side-cta,
.nr-inline-cta {
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper-warm) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Guides and articles */
.blog-grid,
.related-grid {
    gap: 0 32px !important;
}

.blog-card {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--idtf-line-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.blog-card-img,
.blog-guide-art,
.blog-checker-pulse,
.image-placeholder {
    display: none !important;
}

.blog-card-body {
    padding: 22px 0 34px !important;
}

.blog-card-category,
.post-category-tag,
.post-cta-save,
.best-badge,
.hc-badge,
.booking-plan-badge {
    color: var(--idtf-green) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.post-content-card {
    padding: 0 !important;
}

.post-content {
    color: rgba(var(--idtf-ink-rgb), .78) !important;
    font-size: 17px;
    line-height: 1.72;
}

.post-content h2,
.post-content h3 {
    padding-top: 22px;
    border-top: 1px solid var(--idtf-line);
}

.post-content blockquote,
.nr-answer,
.nr-callout,
.nr-source-note,
.finder-legal-note,
.finder-legal-form {
    color: rgba(var(--idtf-ink-rgb), .78) !important;
    background: var(--idtf-paper-warm) !important;
    background-image: none !important;
    border: 0 !important;
    border-left: 2px solid var(--idtf-green) !important;
    border-radius: 0 !important;
}

.blog-centre-checker {
    background: var(--idtf-paper-warm) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* Legal, authentication, account, checkout and dashboard */
.finder-legal-wrap {
    grid-template-columns: minmax(0, 1fr) 250px !important;
    gap: clamp(34px, 6vw, 76px) !important;
    padding-top: 56px !important;
}

.finder-legal-content,
.editorial-content {
    color: rgba(var(--idtf-ink-rgb), .78) !important;
    font-size: 16.5px;
    line-height: 1.7;
}

.finder-legal-content h2,
.editorial-content h2 {
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid var(--idtf-line);
    font-size: clamp(27px, 3vw, 38px);
}

.finder-legal-nav {
    padding: 20px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--idtf-line-dark) !important;
    border-radius: 0 !important;
}

.page-user-login .finder-main,
.page-user-forgot-password .finder-main,
.page-user-reset-password .finder-main,
.page-user-account .finder-main,
.page-user-dashboard .finder-main,
.page-user-edit-preferences .finder-main,
.page-user-book-new .finder-main,
.page-user-start .finder-main {
    background: var(--idtf-paper) !important;
}

.page-user-login .card,
.page-user-forgot-password .card,
.page-user-reset-password .card {
    margin: 42px 0 !important;
    border-top: 2px solid var(--idtf-ink) !important;
}

.booking-container {
    width: min(calc(100% - 44px), 1100px) !important;
    margin: clamp(34px, 5vw, 62px) auto !important;
}

.booking-header {
    max-width: 820px !important;
    margin: 0 0 38px !important;
    text-align: left !important;
}

.booking-title {
    max-width: 850px;
    color: var(--idtf-ink) !important;
    font-size: clamp(42px, 6vw, 72px) !important;
    line-height: 1 !important;
    text-shadow: none !important;
}

.booking-subtitle {
    color: var(--idtf-slate) !important;
}

.booking-plan-grid {
    gap: clamp(28px, 5vw, 58px) !important;
}

.booking-plan-card,
.booking-plan-card--premium-plus {
    padding: 18px 0 0 !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 2px solid var(--idtf-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

.booking-plan-card--premium-plus {
    border-top-color: var(--idtf-green) !important;
}

.booking-plan-price,
.checkout-price,
.price-amount {
    color: var(--idtf-green) !important;
    font-family: "Instrument Serif", Georgia, serif;
    font-weight: 400 !important;
    text-shadow: none !important;
}

.booking-plan-explainer,
.what-happens-next,
.guarantee-box,
.checkout-security-bar {
    color: rgba(var(--idtf-ink-rgb), .78) !important;
    background: var(--idtf-paper-warm) !important;
    border: 0 !important;
    border-radius: 12px !important;
}

.fomo-offer-rail,
.idt-fomo-bar,
.urgency-banner,
.social-proof-banner,
.floating-shapes,
[class*="blob"],
[class*="floating-shape"] {
    display: none !important;
}

.dashboard-header,
.account-header,
.preferences-header,
.form-header {
    color: var(--idtf-ink) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--idtf-line) !important;
    border-radius: 0 !important;
}

.finder-site .hero,
.finder-site [class$="-hero"] {
    background-color: var(--idtf-paper) !important;
    background-image: none !important;
}

.page-user-start .trust-badge-success,
.page-user-start .trust-badge-primary,
.page-user-start .trust-badge-warning {
    color: var(--idtf-green) !important;
    background: transparent !important;
    background-image: none !important;
    border: 1px solid var(--idtf-line-dark) !important;
}

.page-user-start .form-section,
.page-user-start .bg-light {
    background: var(--idtf-paper-warm) !important;
    background-image: none !important;
    border-color: transparent !important;
}

.page-user-payment-success .success-panel,
.page-user-payment-success .details-panel,
.success-panel,
.details-panel {
    color: var(--idtf-ink) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 2px solid var(--idtf-line-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.finder-site .cta-button {
    color: var(--idtf-paper) !important;
    background: var(--idtf-green) !important;
    background-image: none !important;
    border: 1px solid var(--idtf-green) !important;
    box-shadow: none !important;
}

.finder-site .cta-button:hover {
    background: var(--idtf-ink) !important;
    border-color: var(--idtf-ink) !important;
}

.badge,
.trust-badge,
.security-badge,
.feature-badge,
.plan-badge,
.status-badge {
    border-radius: 999px !important;
    box-shadow: none !important;
}

.finder-site .badge,
.finder-site [class*="-badge"] {
    color: var(--idtf-green) !important;
    background-color: var(--idtf-paper-warm) !important;
    background-image: none !important;
    border-color: var(--idtf-line) !important;
    -webkit-text-fill-color: currentColor !important;
}

.finder-site .btn[style*="gradient"],
.finder-site [class*="-btn"][style*="gradient"],
.finder-site [class*="-button"][style*="gradient"] {
    color: var(--idtf-paper) !important;
    background: var(--idtf-green) !important;
    background-image: none !important;
    border-color: var(--idtf-green) !important;
    -webkit-text-fill-color: currentColor !important;
}

.finder-site .display-4[style*="gradient"],
.finder-site .success-title {
    color: var(--idtf-green) !important;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}

.finder-site [style*="position: absolute"][style*="gradient"] {
    display: none !important;
}

.finder-site .pricing-card,
.finder-site .loc-sidebar-card,
.finder-site .pr-card,
.finder-site .info-card,
.finder-site .hub-card .hc-pr {
    color: var(--idtf-ink) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 1px solid var(--idtf-line-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.finder-site .pr-card::before,
.finder-site .hub-final-cta::before,
.finder-site .loc-final-cta::before {
    display: none !important;
}

.finder-site .hub-final-cta,
.finder-site .loc-final-cta {
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper-warm) !important;
    background-image: none !important;
}

.finder-site .hub-final-cta h2,
.finder-site .hub-final-cta p,
.finder-site .loc-final-cta h2,
.finder-site .loc-final-cta p {
    color: var(--idtf-ink) !important;
}

.finder-site .hub-step .step-num,
.finder-site .how-step .step-num,
.finder-site .next-step-number,
.finder-site .eyebrow-badge {
    color: var(--idtf-green) !important;
    background: transparent !important;
    background-image: none !important;
    border: 1px solid var(--idtf-line-dark) !important;
    box-shadow: none !important;
}

/* Small public utility pages */
body.finder-site.finder-standalone-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 28px 0;
    overflow: auto;
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper) !important;
}

body.finder-standalone-page::before {
    display: none !important;
}

.finder-standalone-page .maintenance-container,
.finder-standalone-page .unsubscribe-container {
    width: min(calc(100% - 32px), 620px) !important;
    max-width: 620px !important;
    padding: clamp(28px, 6vw, 58px) 0 !important;
    color: var(--idtf-ink) !important;
    text-align: left !important;
    border-top: 2px solid var(--idtf-ink);
}

.finder-standalone-page .unsubscribe-card {
    padding: 0 !important;
    color: var(--idtf-ink) !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

.finder-standalone-page .maintenance-icon,
.finder-standalone-page .icon-container {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: var(--idtf-green) !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
}

.finder-standalone-page .maintenance-icon i,
.finder-standalone-page .icon-container i {
    color: var(--idtf-green) !important;
    font-size: 28px !important;
}

.finder-standalone-page .maintenance-title,
.finder-standalone-page .unsubscribe-card h1 {
    margin: 0 0 14px !important;
    color: var(--idtf-ink) !important;
    background: none !important;
    font-family: "Instrument Serif", Georgia, serif !important;
    font-size: clamp(40px, 8vw, 64px) !important;
    font-weight: 400 !important;
    letter-spacing: -.025em !important;
    line-height: 1 !important;
    -webkit-text-fill-color: currentColor !important;
}

.finder-standalone-page .maintenance-message,
.finder-standalone-page .message,
.finder-standalone-page .footer-note {
    color: var(--idtf-slate) !important;
}

.finder-standalone-page .maintenance-eta,
.finder-standalone-page .maintenance-features,
.finder-standalone-page .premium-upgrade {
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper-warm) !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.finder-standalone-page .logo {
    display: inline-block;
    margin-bottom: 32px;
    color: var(--idtf-ink) !important;
    font-family: "Instrument Serif", Georgia, serif;
    font-size: 19px !important;
    font-weight: 400 !important;
    letter-spacing: -.01em;
    text-decoration: none;
}

/* Footer */
.finder-footer {
    margin-top: clamp(70px, 9vw, 112px) !important;
    padding: 0 !important;
    color: var(--idtf-ink) !important;
    background: var(--idtf-paper) !important;
    background-image: none !important;
    border-top: 1px solid var(--idtf-line) !important;
}

.finder-footer-grid {
    grid-template-columns: 1.55fr repeat(3, .72fr) !important;
    gap: 34px !important;
    padding: clamp(40px, 6vw, 66px) 0 34px !important;
}

.finder-brand-footer {
    color: var(--idtf-ink) !important;
    font-size: 19px;
}

.finder-footer-intro p {
    max-width: 390px !important;
    color: var(--idtf-slate) !important;
    font-size: 14.5px;
}

.finder-footer h2 {
    margin: 0;
    color: var(--idtf-muted) !important;
    font-family: "Hanken Grotesk", sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
}

.finder-footer ul {
    margin-top: 13px !important;
}

.finder-footer li {
    margin: 8px 0 !important;
}

.finder-footer a {
    color: var(--idtf-ink) !important;
    font-size: 14.5px;
    text-decoration: none;
}

.finder-footer a:hover {
    color: var(--idtf-green) !important;
}

.finder-footer-centres {
    padding: 20px 0 !important;
    border-color: var(--idtf-line) !important;
}

.finder-footer-centres a {
    color: var(--idtf-muted) !important;
    font-size: 12.5px !important;
}

.finder-footer-bottom {
    padding: 20px 0 30px !important;
    color: var(--idtf-muted) !important;
    border-color: var(--idtf-line) !important;
    font-size: 12.5px !important;
}

@media (max-width: 991px) {
    .finder-nav .navbar-collapse {
        margin: 8px 0 14px;
        padding: 14px;
        background: var(--idtf-paper-warm) !important;
        border: 1px solid var(--idtf-line) !important;
        border-radius: 14px !important;
    }

    .finder-nav .nav-link,
    .finder-nav-cta {
        width: 100%;
        justify-content: flex-start;
    }

    .finder-plan-grid,
    .booking-plan-grid {
        grid-template-columns: 1fr !important;
    }

    .finder-clarity-list {
        grid-template-columns: 1fr;
    }

    .finder-footer-grid {
        grid-template-columns: 1.3fr repeat(2, 1fr) !important;
    }

    .finder-footer-grid > div:last-child {
        grid-column: 2;
    }

    .finder-legal-wrap {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .finder-site .container {
        width: min(calc(100% - 32px), 1180px) !important;
    }

    .finder-nav,
    .finder-nav .container {
        min-height: 66px !important;
    }

    .finder-brand,
    .finder-brand.navbar-brand {
        font-size: 18px;
    }

    .finder-hero {
        padding-top: 34px !important;
    }

    .finder-hero h1 {
        font-size: clamp(42px, 12.5vw, 65px) !important;
    }

    .finder-centre-results {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 14px;
        max-height: 330px;
    }

    .finder-centre-selection {
        flex-direction: column;
    }

    .finder-centre-selection-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .finder-date-story-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .finder-date-label {
        top: 19%;
        font-size: 9.5px;
    }

    .finder-date-months {
        margin-top: -8px;
    }

    .finder-steps {
        grid-template-columns: 1fr;
    }

    .finder-resource-grid > a {
        grid-template-columns: 1fr auto;
    }

    .finder-resource-grid > a p {
        grid-column: 1 / -1;
    }

    .finder-final-cta .container {
        grid-template-columns: 1fr;
    }

    .tc-grid {
        grid-template-columns: 1fr !important;
    }

    .finder-footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .finder-footer-intro {
        grid-column: 1 / -1;
    }

    .finder-footer-grid > div:last-child {
        grid-column: auto;
    }

    .finder-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .finder-footer-bottom p:last-child {
        text-align: left !important;
    }

    .booking-container {
        width: min(calc(100% - 32px), 1100px) !important;
    }
}

@media (max-width: 480px) {
    .finder-site .container {
        width: min(calc(100% - 24px), 1180px) !important;
    }

    .finder-brand,
    .finder-brand.navbar-brand {
        font-size: 17px;
    }

    .finder-menu-label {
        display: none;
    }

    .finder-centre-results {
        grid-template-columns: 1fr;
        max-height: 360px;
    }

    .finder-centre-searchbar {
        align-items: flex-end;
    }

    .finder-centre-searchbar > span {
        padding-bottom: 17px;
        font-size: 10px;
    }

    .finder-centre-selection-actions .finder-button {
        width: 100%;
    }

    .finder-date-label-start {
        left: 26%;
    }

    .finder-date-label-end {
        right: 26%;
    }

    .finder-plan-topline {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 4px !important;
    }

    .finder-resource-grid > a {
        grid-template-columns: 1fr;
    }

    .finder-resource-grid strong {
        display: none;
    }

    .finder-footer-grid {
        grid-template-columns: 1fr !important;
    }

    .finder-footer-intro {
        grid-column: auto;
    }

    .booking-container {
        width: min(calc(100% - 24px), 1100px) !important;
    }
}

/* High-traffic detail pages and signed-in tools use the same surface language. */
.finder-site .pricing-card,
.finder-site .loc-sidebar-card,
.finder-site .pr-card,
.finder-site .info-card,
.finder-site .content-card,
.finder-site .nearby-card,
.finder-site .how-step,
.finder-site .faq-item,
.finder-site .sidebar-card,
.finder-site .monitoring-activity-card,
.finder-site .review-card-booking,
.finder-site .cancel-card,
.finder-site .feature-card,
.finder-standalone-page .unsubscribe-card {
    color: var(--idtf-ink) !important;
    background: var(--idtf-surface) !important;
    background-image: none !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 10px 28px rgba(25, 23, 19, .06) !important;
}

.finder-site .pricing-card,
.finder-site .loc-sidebar-card,
.finder-site .pr-card,
.finder-site .info-card,
.finder-site .content-card,
.finder-site .how-step,
.finder-site .sidebar-card,
.finder-site .monitoring-activity-card,
.finder-site .review-card-booking,
.finder-site .cancel-card,
.finder-site .feature-card {
    padding: 24px !important;
}

.finder-site .nearby-card {
    padding: 18px 20px !important;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.finder-site .nearby-card:hover {
    background: var(--idtf-sage) !important;
    border-color: rgba(11, 107, 82, .32) !important;
    box-shadow: var(--idtf-card-shadow-hover) !important;
    transform: translateY(-3px) !important;
}

.finder-site .pr-highlight,
.finder-site .sidebar-highlight {
    background: var(--idtf-sage-strong) !important;
    border-color: rgba(11, 107, 82, .3) !important;
}

.finder-site .faq-item {
    margin-bottom: 12px !important;
    padding: 0 20px !important;
    overflow: hidden;
}

.finder-site .faq-item.open {
    background: var(--idtf-sage) !important;
    border-color: rgba(11, 107, 82, .25) !important;
}

.finder-site .loc-about,
.finder-site .loc-info,
.finder-site .loc-nearby,
.finder-site .loc-how,
.finder-site .loc-stats {
    padding-top: clamp(58px, 7vw, 88px) !important;
    padding-bottom: clamp(58px, 7vw, 88px) !important;
}

.finder-site .loc-about,
.finder-site .loc-how,
.finder-site .loc-nearby {
    background: var(--idtf-paper) !important;
}

.finder-site .loc-info,
.finder-site .loc-stats,
.finder-site .loc-nearby[style*="background"] {
    background: var(--idtf-canvas) !important;
}

.finder-site #pricing.bg-dark {
    background: var(--idtf-deep) !important;
    background-image: none !important;
}

.finder-site #pricing .pricing-card .text-white,
.finder-site #pricing .pricing-card .text-white-50,
.finder-site #pricing .pricing-card [style*="rgba(255,255,255"] {
    color: var(--idtf-slate) !important;
}

.finder-site #pricing .pricing-card h3.text-white,
.finder-site #pricing .pricing-card strong,
.finder-site #pricing .pricing-card li .text-white {
    color: var(--idtf-ink) !important;
}

.finder-site #pricing .pricing-card:nth-child(2),
.finder-site #pricing .row > div:nth-child(2) .pricing-card {
    background: var(--idtf-sage-strong) !important;
    border-color: rgba(11, 107, 82, .34) !important;
}

.finder-site .hub-final-cta,
.finder-site .loc-final-cta {
    padding: clamp(58px, 7vw, 88px) 0 !important;
    color: var(--idtf-paper) !important;
    background: var(--idtf-deep) !important;
    border-top: 1px solid rgba(255, 254, 250, .1) !important;
}

.finder-site .hub-final-cta h2,
.finder-site .hub-final-cta p,
.finder-site .loc-final-cta h2,
.finder-site .loc-final-cta p {
    color: var(--idtf-paper) !important;
}

.finder-site .hub-final-cta .btn,
.finder-site .loc-final-cta .btn,
.finder-site .loc-final-cta .loc-cta-btn {
    color: var(--idtf-deep) !important;
    background: var(--idtf-surface) !important;
    border-color: var(--idtf-surface) !important;
}

.finder-site .form-section,
.finder-site .rsa-panel {
    padding: clamp(20px, 3vw, 30px) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 8px 24px rgba(25, 23, 19, .045) !important;
}

.finder-site .rsa-panel {
    margin-top: 18px;
    background: var(--idtf-warm-panel) !important;
}

.finder-site .card-header {
    padding: 18px 22px !important;
    color: var(--idtf-ink) !important;
    background: var(--idtf-sage) !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(11, 107, 82, .14) !important;
}

.finder-site .reviews-section-booking {
    background: var(--idtf-sage) !important;
    border-top: 1px solid rgba(11, 107, 82, .12) !important;
    border-bottom: 1px solid rgba(11, 107, 82, .12) !important;
}

body.finder-site.finder-standalone-page {
    background: var(--idtf-canvas) !important;
}

.finder-standalone-page .maintenance-container,
.finder-standalone-page .unsubscribe-container {
    padding: clamp(28px, 6vw, 58px) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-top: 7px solid var(--idtf-green) !important;
    border-radius: var(--idtf-panel-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.finder-standalone-page .unsubscribe-card {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.finder-standalone-page .maintenance-eta,
.finder-standalone-page .maintenance-features,
.finder-standalone-page .premium-upgrade {
    border: 1px solid rgba(91, 62, 33, .12) !important;
    border-radius: var(--idtf-card-radius) !important;
}

@media (max-width: 767px) {
    .finder-site .pricing-card,
    .finder-site .loc-sidebar-card,
    .finder-site .pr-card,
    .finder-site .info-card,
    .finder-site .content-card,
    .finder-site .how-step,
    .finder-site .sidebar-card,
    .finder-site .monitoring-activity-card,
    .finder-site .review-card-booking,
    .finder-site .cancel-card,
    .finder-site .feature-card {
        padding: 20px !important;
    }

    .finder-standalone-page .maintenance-container,
    .finder-standalone-page .unsubscribe-container {
        border-radius: 18px !important;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .page-home .finder-hero-intro,
    .page-home .finder-centre-search,
    .page-home .finder-date-story {
        animation: editorial-reveal .55s both;
    }

    .page-home .finder-centre-search {
        animation-delay: .08s;
    }

    .page-home .finder-date-story {
        animation-delay: .15s;
    }

    .finder-date-track img {
        animation: editorial-timeline 7s ease-in-out infinite;
        transform-origin: 80% 50%;
    }

    @keyframes editorial-reveal {
        from { opacity: 0; transform: translateY(8px); }
        to { opacity: 1; transform: none; }
    }

    @keyframes editorial-timeline {
        0%, 100% { opacity: 1; transform: scaleX(1); }
        8% { opacity: .72; transform: scaleX(.97); }
        22%, 88% { opacity: 1; transform: scaleX(1); }
    }
}

@media (prefers-reduced-motion: reduce) {
    .finder-site *,
    .finder-site *::before,
    .finder-site *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
}

/* --------------------------------------------------------------------------
   Definition pass — stronger bands, panels and public-site card hierarchy
   -------------------------------------------------------------------------- */

:root {
    --idtf-canvas: #f2efe7;
    --idtf-surface: #fffefa;
    --idtf-sage: #e5eee9;
    --idtf-sage-strong: #d6e5de;
    --idtf-warm-panel: #f0e3d3;
    --idtf-deep: #123b31;
    --idtf-deep-2: #0d3028;
    --idtf-card-line: rgba(25, 23, 19, .16);
    --idtf-card-shadow: 0 16px 44px rgba(25, 23, 19, .075);
    --idtf-card-shadow-hover: 0 22px 52px rgba(25, 23, 19, .12);
    --idtf-panel-radius: 24px;
    --idtf-card-radius: 18px;
}

html,
body.finder-site {
    background: var(--idtf-canvas) !important;
}

.finder-site .finder-main {
    background: var(--idtf-canvas);
}

.finder-site .card,
.finder-site .checkout-card,
.finder-site .booking-card,
.finder-site .order-summary,
.finder-site .payment-card,
.finder-site .form-card,
.finder-site .trust-card {
    background: var(--idtf-surface) !important;
    border-color: var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

/* Homepage: each idea now has a distinct visual room. */
.page-home .finder-hero {
    padding-bottom: clamp(26px, 4vw, 48px) !important;
    background: var(--idtf-paper) !important;
}

.page-home .finder-centre-search {
    margin: 0;
    padding: clamp(18px, 3vw, 36px) 0 clamp(66px, 8vw, 100px) !important;
    background: var(--idtf-paper) !important;
}

.page-home .finder-centre-search .container {
    padding: clamp(24px, 4vw, 48px) !important;
    background: var(--idtf-surface);
    border: 1px solid var(--idtf-card-line);
    border-radius: var(--idtf-panel-radius);
    box-shadow: var(--idtf-card-shadow);
}

.page-home .finder-centre-searchbar {
    padding: 0 18px;
    background: var(--idtf-canvas);
    border: 1px solid var(--idtf-card-line);
    border-radius: 14px;
}

.page-home.finder-site .finder-centre-searchbar input {
    padding: 17px 0 !important;
}

.page-home .finder-centre-results {
    gap: 10px;
    margin-top: 18px;
    padding-right: 6px;
}

.page-home.finder-site .finder-centre-option {
    align-items: center;
    padding: 13px 14px !important;
    background: var(--idtf-paper) !important;
    border: 1px solid var(--idtf-line) !important;
    border-radius: 12px !important;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.page-home.finder-site .finder-centre-option:hover,
.page-home.finder-site .finder-centre-option:focus,
.page-home.finder-site .finder-centre-option.is-selected {
    background: var(--idtf-sage) !important;
    border-color: rgba(11, 107, 82, .38) !important;
    transform: translateY(-1px);
}

.page-home .finder-centre-chip {
    background: var(--idtf-sage) !important;
    border-color: rgba(11, 107, 82, .3) !important;
}

.page-home .finder-date-story {
    margin-top: 0;
    padding: clamp(68px, 8vw, 104px) 0;
    background: var(--idtf-canvas);
}

.page-home .finder-date-story .container {
    padding: clamp(28px, 4.5vw, 54px) !important;
    background: var(--idtf-warm-panel);
    border: 1px solid rgba(91, 62, 33, .13);
    border-radius: var(--idtf-panel-radius);
    box-shadow: 0 18px 48px rgba(77, 50, 26, .07);
}

.page-home .finder-date-track {
    padding: 4px 14px;
    background: rgba(255, 254, 250, .38);
    border: 1px solid rgba(91, 62, 33, .12);
    border-radius: 16px;
}

.page-home .finder-section {
    margin-top: 0;
    padding: clamp(76px, 9vw, 116px) 0 !important;
}

.page-home #how-it-works {
    background: var(--idtf-sage) !important;
    border-top: 1px solid rgba(11, 107, 82, .1);
    border-bottom: 1px solid rgba(11, 107, 82, .1);
}

.page-home .finder-steps {
    gap: 18px;
}

.page-home .finder-steps article {
    position: relative;
    min-height: 250px !important;
    padding: 30px 28px 28px !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 12px 32px rgba(21, 57, 47, .07);
    transition: transform .2s ease, box-shadow .2s ease;
}

.page-home .finder-steps article:hover {
    transform: translateY(-4px);
    box-shadow: var(--idtf-card-shadow-hover);
}

.page-home .finder-step-number {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 28px !important;
    background: var(--idtf-sage);
    border: 1px solid rgba(11, 107, 82, .18);
    border-radius: 50%;
}

.page-home .finder-plans-section {
    background: #ece8df !important;
    border-bottom: 1px solid var(--idtf-line);
}

.page-home .finder-plan-grid {
    gap: 20px;
}

.page-home .finder-plan-card,
.page-home .finder-plan-featured {
    min-height: 100% !important;
    padding: clamp(28px, 4vw, 42px) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-panel-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.page-home .finder-plan-featured {
    background: var(--idtf-sage-strong) !important;
    border-color: rgba(11, 107, 82, .28) !important;
}

.page-home .finder-plan-card ul {
    padding-top: 20px !important;
    border-top: 1px solid var(--idtf-line) !important;
}

.page-home .finder-plan-card li {
    position: relative;
    padding-left: 21px;
}

.page-home .finder-plan-card li::before {
    position: absolute;
    top: .2em;
    left: 0;
    color: var(--idtf-green);
    content: "✓";
    font-weight: 700;
}

.page-home .finder-clarity-section {
    margin-top: 0 !important;
    padding: clamp(76px, 9vw, 116px) 0 !important;
    color: var(--idtf-paper) !important;
    background: var(--idtf-deep) !important;
    border: 0;
}

.page-home .finder-clarity-section .finder-eyebrow,
.page-home .finder-clarity-section h2,
.page-home .finder-clarity-section h3,
.page-home .finder-clarity-section p {
    color: var(--idtf-paper) !important;
}

.page-home .finder-clarity-section h2 em {
    color: #b8dacb !important;
}

.page-home .finder-clarity-section .finder-eyebrow {
    opacity: .66;
}

.page-home .finder-clarity-list {
    gap: 16px !important;
}

.page-home .finder-clarity-list article {
    min-height: 184px;
    padding: 26px !important;
    background: rgba(255, 254, 250, .065) !important;
    border: 1px solid rgba(255, 254, 250, .16) !important;
    border-radius: var(--idtf-card-radius) !important;
}

.page-home .finder-clarity-list p {
    opacity: .74;
}

.page-home .finder-resources-section {
    background: var(--idtf-paper) !important;
}

.page-home .finder-resource-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    border: 0;
}

.page-home .finder-resource-grid > a {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    min-height: 292px !important;
    padding: 28px !important;
    color: var(--idtf-ink) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 10px 28px rgba(25, 23, 19, .05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.page-home .finder-resource-grid > a:hover {
    border-color: rgba(11, 107, 82, .34) !important;
    box-shadow: var(--idtf-card-shadow-hover);
    transform: translateY(-4px);
}

.page-home .finder-resource-grid > a > span {
    display: inline-flex !important;
    margin-bottom: 30px;
    padding: 6px 10px;
    color: var(--idtf-green);
    background: var(--idtf-sage);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.page-home .finder-resource-grid p {
    margin-top: 12px !important;
}

.page-home .finder-resource-grid strong {
    margin-top: auto;
    padding-top: 28px;
    color: var(--idtf-green) !important;
    font-size: 13px;
}

.page-home .finder-resource-grid strong i {
    margin-left: 5px;
    font-size: 14px;
}

.page-home .finder-faq-section {
    max-width: none;
    background: var(--idtf-canvas) !important;
}

.page-home .finder-faq-section .container {
    max-width: 930px !important;
    padding: clamp(28px, 5vw, 58px) !important;
    background: var(--idtf-surface);
    border: 1px solid var(--idtf-card-line);
    border-radius: var(--idtf-panel-radius);
    box-shadow: var(--idtf-card-shadow);
}

.page-home .finder-faq-list {
    overflow: hidden;
    border: 1px solid var(--idtf-line) !important;
    border-radius: 14px;
}

.page-home .finder-faq-item {
    padding: 0 20px;
    border-color: var(--idtf-line) !important;
}

.page-home .finder-faq-item:last-child {
    border-bottom: 0 !important;
}

.page-home .finder-faq-item.is-open {
    background: var(--idtf-sage);
}

.page-home .finder-final-cta {
    margin: 0;
    padding: 0 0 clamp(76px, 9vw, 116px) !important;
    background: var(--idtf-canvas) !important;
}

.page-home .finder-final-cta .container {
    align-items: center !important;
    padding: clamp(32px, 5vw, 58px) !important;
    background: var(--idtf-deep);
    border: 0;
    border-radius: var(--idtf-panel-radius);
    box-shadow: 0 20px 54px rgba(13, 48, 40, .18);
}

.page-home .finder-final-cta h2 {
    color: var(--idtf-paper) !important;
}

.page-home .finder-final-cta h2 em {
    color: #b8dacb !important;
}

.page-home .finder-final-cta .finder-button {
    color: var(--idtf-deep) !important;
    background: var(--idtf-surface) !important;
    border-color: var(--idtf-surface) !important;
}

.page-home .finder-final-cta .finder-button:hover {
    color: var(--idtf-paper) !important;
    background: transparent !important;
    border-color: rgba(255, 254, 250, .55) !important;
}

/* Shared public pages: clearer hero bands and actual content cards. */
.tc-hero,
.hub-hero,
.loc-hero,
.blog-hero,
.post-hero,
.nr-hero,
.finder-legal-hero,
.editorial-hero {
    background: var(--idtf-sage) !important;
    border-bottom: 1px solid rgba(11, 107, 82, .16) !important;
}

.tc-region-nav,
.tc-resources,
.hub-about,
.hub-compare,
.loc-faq,
.nr-page {
    background: var(--idtf-canvas) !important;
}

.tc-section,
.hub-centres,
.hub-faq,
.loc-main {
    background: var(--idtf-paper) !important;
}

.tc-region-nav .container,
.tc-resources .container {
    padding-top: clamp(34px, 5vw, 58px) !important;
    padding-bottom: clamp(34px, 5vw, 58px) !important;
}

.tc-region-links a,
.tc-stat,
.hub-chip,
.loc-chip {
    background: var(--idtf-surface) !important;
    box-shadow: 0 4px 14px rgba(25, 23, 19, .04);
}

.tc-grid {
    gap: 14px !important;
}

.tc-link,
.tc-resource-card,
.hub-card,
.loc-card,
.policy-card,
.nr-card,
.nr-side-card,
.nr-stat,
.post-content-card,
.post-cta,
.related-card {
    color: var(--idtf-ink) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 9px 26px rgba(25, 23, 19, .055) !important;
}

.tc-link {
    min-height: 66px;
    padding: 17px 18px !important;
}

.tc-link:hover,
.tc-resource-card:hover,
.hub-card:hover,
.loc-card:hover,
.related-card:hover {
    color: var(--idtf-green) !important;
    background: var(--idtf-sage) !important;
    border-color: rgba(11, 107, 82, .32) !important;
    box-shadow: var(--idtf-card-shadow-hover) !important;
    transform: translateY(-3px) !important;
}

.tc-resource-card,
.hub-card,
.loc-card,
.policy-card,
.nr-card,
.nr-side-card,
.nr-stat,
.post-cta,
.related-card {
    padding: 24px !important;
}

.compare-table,
.nr-table,
.nr-table-wrap {
    background: var(--idtf-surface) !important;
    border-color: var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.tc-cta,
.hub-cta,
.loc-cta,
.nr-cta,
.nr-side-cta,
.nr-inline-cta {
    color: var(--idtf-paper) !important;
    background: var(--idtf-deep) !important;
    border-top: 1px solid rgba(255, 254, 250, .08) !important;
    border-radius: 0 !important;
}

.tc-cta h2,
.tc-cta p,
.hub-cta h2,
.hub-cta p,
.loc-cta h2,
.loc-cta p,
.nr-cta h2,
.nr-cta p,
.nr-side-cta h2,
.nr-side-cta p,
.nr-inline-cta h2,
.nr-inline-cta p {
    color: var(--idtf-paper) !important;
}

.tc-cta a,
.hub-cta a,
.loc-cta a,
.nr-cta a,
.nr-side-cta a,
.nr-inline-cta a {
    color: var(--idtf-deep) !important;
    background: var(--idtf-surface) !important;
    border-color: var(--idtf-surface) !important;
}

/* Guides, articles and policy pages. */
.blog-grid,
.related-grid {
    gap: 20px !important;
}

.blog-card {
    overflow: hidden;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 10px 28px rgba(25, 23, 19, .06) !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

.blog-card::before {
    display: block;
    width: 100%;
    height: 7px;
    background: var(--idtf-sage-strong);
    content: "";
}

.blog-card:hover {
    border-color: rgba(11, 107, 82, .3) !important;
    box-shadow: var(--idtf-card-shadow-hover) !important;
    transform: translateY(-4px) !important;
}

.blog-card-body {
    padding: 26px 26px 30px !important;
}

.post-content-card {
    padding: clamp(26px, 5vw, 58px) !important;
}

.post-content blockquote,
.nr-answer,
.nr-callout,
.nr-source-note,
.finder-legal-note,
.finder-legal-form {
    padding: 22px 24px !important;
    background: var(--idtf-warm-panel) !important;
    border: 1px solid rgba(91, 62, 33, .12) !important;
    border-left: 4px solid var(--idtf-green) !important;
    border-radius: 12px !important;
}

.blog-centre-checker {
    border: 1px solid rgba(91, 62, 33, .12) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.finder-legal-wrap {
    gap: clamp(24px, 4vw, 42px) !important;
    padding-bottom: clamp(56px, 8vw, 92px) !important;
}

.finder-legal-content,
.editorial-content {
    padding: clamp(26px, 5vw, 58px) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-panel-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.finder-legal-content > :first-child,
.editorial-content > :first-child {
    margin-top: 0 !important;
}

.finder-legal-nav {
    position: sticky;
    top: 96px;
    padding: 22px !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: 0 9px 26px rgba(25, 23, 19, .05) !important;
}

/* Account, booking and checkout pages. */
.page-user-login .finder-main,
.page-user-forgot-password .finder-main,
.page-user-reset-password .finder-main,
.page-user-account .finder-main,
.page-user-dashboard .finder-main,
.page-user-edit-preferences .finder-main,
.page-user-book-new .finder-main,
.page-user-start .finder-main {
    background: var(--idtf-canvas) !important;
}

.page-user-login .card,
.page-user-forgot-password .card,
.page-user-reset-password .card {
    overflow: hidden;
    border-top: 7px solid var(--idtf-green) !important;
}

.booking-plan-grid {
    gap: 20px !important;
}

.booking-plan-card,
.booking-plan-card--premium-plus {
    padding: clamp(26px, 4vw, 40px) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-panel-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.booking-plan-card--premium-plus {
    background: var(--idtf-sage-strong) !important;
    border-color: rgba(11, 107, 82, .3) !important;
}

.booking-plan-explainer,
.what-happens-next,
.guarantee-box,
.checkout-security-bar {
    padding: 22px !important;
    border: 1px solid rgba(91, 62, 33, .12) !important;
    border-radius: var(--idtf-card-radius) !important;
}

.dashboard-header,
.account-header,
.preferences-header,
.form-header {
    padding: clamp(22px, 4vw, 38px) !important;
    background: var(--idtf-sage) !important;
    border: 1px solid rgba(11, 107, 82, .16) !important;
    border-radius: var(--idtf-panel-radius) !important;
}

.page-user-start .form-section,
.page-user-start .bg-light {
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.page-user-payment-success .success-panel,
.page-user-payment-success .details-panel,
.success-panel,
.details-panel {
    padding: clamp(24px, 4vw, 40px) !important;
    background: var(--idtf-surface) !important;
    border: 1px solid var(--idtf-card-line) !important;
    border-radius: var(--idtf-card-radius) !important;
    box-shadow: var(--idtf-card-shadow) !important;
}

.success-panel {
    border-top: 7px solid var(--idtf-green) !important;
}

/* A deep footer makes the end of every public page unmistakable. */
.finder-footer {
    margin-top: 0 !important;
    color: var(--idtf-paper) !important;
    background: var(--idtf-deep-2) !important;
    border-top: 1px solid rgba(255, 254, 250, .1) !important;
}

.finder-brand-footer,
.finder-footer h2,
.finder-footer a {
    color: var(--idtf-paper) !important;
}

.finder-footer .finder-brand em {
    color: #b8dacb !important;
}

.finder-footer-intro p,
.finder-footer-centres a,
.finder-footer-bottom {
    color: rgba(251, 249, 244, .62) !important;
}

.finder-footer h2 {
    color: rgba(251, 249, 244, .48) !important;
}

.finder-footer a:hover,
.finder-footer-centres a:hover {
    color: #b8dacb !important;
}

.finder-footer-centres,
.finder-footer-bottom {
    border-color: rgba(255, 254, 250, .12) !important;
}

@media (max-width: 991px) {
    .page-home .finder-resource-grid {
        grid-template-columns: 1fr 1fr;
    }

    .page-home .finder-resource-grid > a:last-child {
        grid-column: 1 / -1;
        min-height: 220px !important;
    }

    .finder-legal-nav {
        position: static;
    }
}

@media (max-width: 767px) {
    .page-home .finder-centre-search .container,
    .page-home .finder-date-story .container,
    .page-home .finder-faq-section .container,
    .page-home .finder-final-cta .container {
        border-radius: 18px;
    }

    .page-home .finder-centre-results,
    .page-home .finder-resource-grid {
        grid-template-columns: 1fr;
    }

    .page-home .finder-resource-grid > a,
    .page-home .finder-resource-grid > a:last-child {
        grid-column: auto;
        min-height: 240px !important;
    }

    .page-home .finder-steps article,
    .page-home .finder-clarity-list article {
        min-height: 0 !important;
    }

    .page-home .finder-final-cta .container {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    .finder-legal-content,
    .editorial-content {
        border-radius: 18px !important;
    }
}

@media (max-width: 480px) {
    .page-home .finder-centre-search .container,
    .page-home .finder-date-story .container,
    .page-home .finder-faq-section .container,
    .page-home .finder-final-cta .container,
    .finder-legal-content,
    .editorial-content {
        padding: 22px !important;
    }

    .page-home .finder-centre-searchbar {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding: 9px 14px 10px;
    }

    .page-home .finder-centre-searchbar > span {
        padding: 0 0 6px;
    }
}
