.london-borough-directory-section{background-color:#ffffff} .directory-container{border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;overflow:hidden} .region-pill-group{background-color:#f8f8f8;padding:6px;border-radius:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;border:1px solid #e2e8f0;max-width:680px;margin:0 auto} .region-pill{border:none;background:transparent;color:#64748b;font-size:0.85rem;font-weight:600;padding:8px 18px;border-radius:20px;transition:all 0.2s ease;white-space:nowrap} .region-pill:hover,.region-pill:focus{color:#0f172a} .region-pill.active{background-color:#ff631d;color:#ffffff;box-shadow:0 4px 10px rgba(255,99,29,0.18)} .borough-compact-link{text-decoration:none;display:block;height:100%;padding:12px 14px;border-radius:12px;border:1px solid #f1f5f9;background-color:#fafbfc;transition:all 0.2s ease} .borough-compact-link:hover,.borough-compact-link:focus{background-color:#ffffff;border-color:#cbd5e1;box-shadow:0 4px 12px rgba(15,23,42,0.05);transform:translateY(-2px)} .borough-title-text{font-weight:600;font-size:0.95rem;color:#0f172a;display:block;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .borough-postcodes-wrap{font-size:0.74rem;font-weight:500;color:#64748b;display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0.01em} .borough-compact-link:hover .borough-postcodes-wrap,.borough-compact-link:focus .borough-postcodes-wrap{color:#ff631d} @media (max-width:576px){.directory-container{padding:1rem !important;border-radius:14px} .region-pill-group{border-radius:12px;display:grid;grid-template-columns:repeat(3,1fr);max-width:100%} .region-pill{font-size:0.78rem;padding:8px 4px;border-radius:8px;width:100%;white-space:normal}} .van-guide .card-img-top{height:auto;display:block} .van-guide-copy{min-height:3rem} @media (min-width:992px) and (max-width:1399.98px){.van-guide-copy{min-height:4.5rem}} .nearby-area-group + .nearby-area-group{border-top:1px solid #eef2f7;margin-top:1.5rem;padding-top:1.5rem} .nearby-area-group-title{font-weight:700} .borough-btn,.nearby-area-btn{padding:.65rem .75rem;line-height:normal;display:flex;flex-direction:column;justify-content:center;min-height:56px} .borough-name,.nearby-area-name{font-weight:600;display:block} .borough-suffix,.nearby-area-suffix{font-size:.85em;opacity:.75;display:block} @media (max-width:767px){.p-dt{display:none}} .clamp-2{line-height:1.2;min-height:calc(1.2em * 2);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} .brand-card{border:1px solid #ff631d} .long-title,.hiw-title{--title-lines:1;min-height:calc(var(--title-lines) * 1.2em)} @media (min-width:768px) and (max-width:1399.98px){.long-title{--title-lines:2}} @media (min-width:992px){.hiw-title{--title-lines:2}} .service-location-reviews .review-comment{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-height:1.5;max-height:6em;overflow:hidden;margin-bottom:0;transition:max-height 180ms ease} @media (max-width:767.98px){.service-location-reviews .review-comment{-webkit-line-clamp:3;max-height:4.5em}} .service-location-reviews .review-card.is-expanded .review-comment{display:block;-webkit-line-clamp:unset;max-height:2000px;overflow:visible} .service-location-reviews .review-toggle{display:inline;padding:0;border:0;margin-top:0.35rem;background:transparent;color:inherit;font-size:0.875rem;line-height:1.2;text-decoration:underline;text-underline-offset:2px;cursor:pointer} .service-location-reviews .review-toggle:hover,.service-location-reviews .review-toggle:focus{color:inherit} .service-location-reviews .review-badge-wrap{display:flex;justify-content:center;margin-top:auto;margin-bottom:0.85rem} .service-location-reviews .review-badge{max-width:100%;white-space:normal;text-align:center;line-height:1.35;padding:0.45rem 0.8rem} .service-location-reviews .review-date{line-height:1.2;text-align:right} @media (prefers-reduced-motion:reduce){.service-location-reviews .review-comment{transition:none}} .london-borough-directory-section{background-color:#ffffff} .directory-container{border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;overflow:hidden} .region-pill-group{background-color:#f8f8f8;padding:6px;border-radius:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;border:1px solid #e2e8f0;max-width:680px;margin:0 auto} .region-pill{border:none;background:transparent;color:#64748b;font-size:0.85rem;font-weight:600;padding:8px 18px;border-radius:20px;transition:all 0.2s ease;white-space:nowrap;line-height:normal;display:inline-flex;align-items:center;justify-content:center} .region-pill:hover,.region-pill:focus{color:#0f172a} .region-pill.active{background-color:#ff631d;color:#ffffff;box-shadow:0 4px 10px rgba(255,99,29,0.18)} .search-input-wrapper{position:relative;max-width:380px;width:100%;background-color:#f8f8f8;border:1px solid #e2e8f0;border-radius:30px;padding:6px} .search-input-wrapper .form-control{border:none;border-radius:24px;padding-left:32px;font-size:0.88rem;background-color:transparent;height:30px;box-shadow:none} .search-input-wrapper .form-control:focus{background-color:#ffffff;box-shadow:none;border:none;outline:none} .search-input-wrapper:focus-within{background-color:#ffffff;border-color:#ffb08a;box-shadow:0 0 0 3px rgba(255,99,29,0.14)} .search-input-wrapper .bi-search{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:0.85rem;z-index:2} .borough-compact-link{text-decoration:none;display:block;height:100%;padding:12px 14px;border-radius:12px;border:1px solid #f1f5f9;background-color:#fafbfc;transition:all 0.2s ease} .borough-compact-link:hover,.borough-compact-link:focus{background-color:#ffffff;border-color:#cbd5e1;box-shadow:0 4px 12px rgba(15,23,42,0.05);transform:translateY(-2px)} .borough-title-text{font-weight:600;font-size:0.95rem;color:#0f172a;display:block;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .borough-postcodes-wrap{font-size:0.74rem;font-weight:500;color:#64748b;display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0.01em} .borough-compact-link:hover .borough-postcodes-wrap,.borough-compact-link:focus .borough-postcodes-wrap{color:#ff631d} @media (max-width:576px){.directory-container{padding:1rem !important;border-radius:14px} .region-pill-group{border-radius:12px;display:grid;grid-template-columns:repeat(3,1fr);max-width:100%} .region-pill{font-size:0.78rem;padding:8px 4px;border-radius:8px;width:100%;white-space:normal;line-height:normal;min-height:36px} .search-input-wrapper{max-width:100%;border-radius:12px} .search-input-wrapper .form-control{height:34px}}