/* Requested visual corrections only; catalog data, counts and interaction hooks stay unchanged. */
.hf-page .hf-header.rc-site-header .rp-menu-direct,
.hf-page .hf-header.rc-site-header .rp-menu>summary,
.hf-page .hf-header.rc-site-header .rp-menu>summary>a {
    font-size:16px!important; font-weight:600!important; line-height:1.5;
}
.hf-page .hf-header.rc-site-header .rp-menu-link strong { font-size:16px; line-height:1.45; }
.hf-page main .offer.rc-deal-card .rc-card-top h3,
.hf-page main .offer.rc-deal-card .rc-card-top h3 a {
    font-size:clamp(1.0625rem,1.3vw,1.1875rem)!important;
    font-family:inherit!important; font-weight:400!important; line-height:1.5!important; letter-spacing:0;
}
/* The directories keep their current CMS records, search form and pagination. */
.hf-page .rp-directory-grid[data-directory="providers"],
.hf-page .rp-destination-directory .rp-topic-list {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;
}
.hf-page .rp-destination-directory .rp-topic-list { list-style:none; padding:0; margin:0; border:0; }
.hf-page .rp-destination-directory .rp-topic-list>li { min-width:0; padding:0; margin:0; border:0; }
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card {
    min-width:0; border:0; border-radius:14px; background:transparent; overflow:visible;
}
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card>a,
.hf-page .rp-destination-directory .rp-destination-item>a {
    position:relative; box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start;
    gap:16px; height:100%; min-height:236px; padding:26px; border:1px solid #0056aa;
    border-radius:14px; background:#005eb8; color:#fff; text-decoration:none;
    box-shadow:0 4px 14px #0f29370a; transition:background-color .16s ease,transform .16s ease;
}
.hf-page main .rp-directory-grid[data-directory="providers"] .rp-directory-card h3,
.hf-page main .rp-destination-directory .rp-destination-copy h3 {
    margin:0; color:#fff!important; font-size:1.25rem!important; font-weight:600!important; line-height:1.4!important;
}
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card p,
.hf-page .rp-destination-directory .rp-destination-copy p {
    margin:0; color:#e6f0ff; font-size:1rem!important; line-height:1.6;
    display:block; overflow:visible; -webkit-line-clamp:unset;
}
/* Card teasers remain compact; their full CMS text stays in the link/detail page. */
.hf-page .rp-destination-directory .rp-destination-copy p {
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card p strong { font-size:inherit; font-weight:500; color:inherit; }
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card img {
    box-sizing:border-box; width:144px; height:64px; max-width:100%; padding:10px 12px;
    border-radius:9px; background:#fff; object-fit:contain; object-position:center; filter:none!important;
}
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-symbol,
.hf-page .rp-destination-directory .rp-destination-icon {
    display:flex; flex:none; align-items:center; justify-content:center; width:52px; height:52px;
    color:#fff; border:1px solid #ffffff4d; border-radius:12px; background:#ffffff14;
}
.hf-page .rp-destination-directory .rp-destination-icon svg { width:27px; height:27px; }
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-count,
.hf-page .rp-destination-directory .rp-destination-meta {
    display:inline-flex; align-items:center; min-height:30px; max-width:100%; padding:4px 10px;
    margin-top:auto; color:#fff; background:#ffffff1a; border-radius:7px; font-size:.9375rem; line-height:1.5;
}
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-action {
    width:100%; margin-top:2px; padding-top:14px; border-top:1px solid #ffffff40;
    color:#fff; font-size:.9375rem; font-weight:600; line-height:1.5;
}
.hf-page .rp-destination-directory .rp-destination-copy { display:flex; flex:1; flex-direction:column; gap:14px; min-width:0; width:100%; }
.hf-page .rp-destination-directory .rp-destination-meta { align-self:flex-start; }
.hf-page .rp-destination-directory .rp-topic-arrow { position:absolute; right:25px; top:27px; color:#fff; font-size:28px; line-height:1; }
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card:focus-within { outline:3px solid #0f2937; outline-offset:4px; }
.hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card>a:focus-visible { outline:0; }
.hf-page .rp-destination-directory .rp-destination-item>a:focus-visible { outline:3px solid #0f2937; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
    .hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card>a:hover,
    .hf-page .rp-destination-directory .rp-destination-item>a:hover { background:#004d98; transform:translateY(-2px); }
    .hf-page .rp-destination-directory .rp-destination-item>a:hover h3 { color:#fff!important; text-decoration:none; }
}
@media(max-width:1099px) {
    .hf-page .rp-directory-grid[data-directory="providers"],
    .hf-page .rp-destination-directory .rp-topic-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:679px) {
    .hf-page .rp-directory-grid[data-directory="providers"],
    .hf-page .rp-destination-directory .rp-topic-list { grid-template-columns:minmax(0,1fr); gap:16px; }
    .hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card>a,
    .hf-page .rp-destination-directory .rp-destination-item>a { min-height:216px; padding:22px; }
}
@media(prefers-reduced-motion:reduce) {
    .hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card>a,
    .hf-page .rp-destination-directory .rp-destination-item>a { transition:none!important; transform:none!important; }
}
@media(forced-colors:active) {
    .hf-page .rp-directory-grid[data-directory="providers"] .rp-directory-card:focus-within,
    .hf-page .rp-destination-directory .rp-destination-item>a:focus-visible { outline-color:Highlight; }
}
