/* TrustedProsTX city pages: shared styles. Generated Oct 22, 2026 from the plumber/roofer page CSS (pl-*) plus the older guide-section CSS scoped to .tptx-guide. Edit here; every city page uses this file. */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1e293b;background:#f8fafc}
.pl-wrap{max-width:1100px;margin:0 auto;padding:0 16px 60px}
.pl-grid{display:flex;flex-direction:column;gap:0}
@media(min-width:900px){.pl-grid{flex-direction:row;gap:28px;align-items:flex-start}}
.pl-main{flex:1;min-width:0}
.pl-sidebar{width:100%;margin-top:24px}
@media(min-width:900px){.pl-sidebar{width:280px;flex-shrink:0;position:sticky;top:80px;margin-top:0}}
.pl-hero{background:#0A1F44;padding:48px 0 40px}
.pl-hero-inner{max-width:1100px;margin:0 auto;padding:0 16px}
.pl-freshness{display:inline-flex;align-items:center;gap:6px;background:rgba(147,197,253,.12);border:1px solid rgba(147,197,253,.25);color:#93C5FD;font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:20px;margin-bottom:14px}
.pl-hero h1{font-size:clamp(22px,4vw,36px);font-weight:800;color:#fff;line-height:1.2;margin-bottom:12px}
.pl-hero-sub{font-size:15px;color:#94A3B8;line-height:1.6;max-width:680px;margin-bottom:20px}
.pl-trust-row{display:flex;flex-wrap:wrap;gap:14px}
.pl-trust-pill{font-size:12px;color:#CBD5E1;font-weight:500}
.pl-method-bar{background:#fff;border-bottom:1px solid #E2E8F0;padding:10px 0}
.pl-method-inner{max-width:1100px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-method-label{font-size:11px;font-weight:700;color:#64748B;text-transform:uppercase;letter-spacing:.06em}
.pl-method-items{display:flex;gap:12px;flex-wrap:wrap}
.pl-method-item{font-size:11px;color:#64748B;display:flex;align-items:center;gap:4px}
.pl-method-dot{width:6px;height:6px;border-radius:50%;background:#2563EB;flex-shrink:0}
.pl-card{background:#fff;border:1px solid #E2E8F0;border-radius:12px;margin-bottom:14px;overflow:visible;position:relative}
.pl-card.top-pick{border:2px solid #059669}
.pl-ribbon{background:#059669;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;padding:9px 12px;text-transform:uppercase;text-align:center;border-radius:0 0 10px 10px}
.pl-ribbon.gn{background:#059669}
.pl-card-inner{display:flex;flex-direction:column;padding:18px 18px 16px}
@media(min-width:640px){.pl-card-inner{flex-direction:row;gap:18px;align-items:flex-start}}
.pl-rank-col{display:flex;flex-direction:row;align-items:center;gap:12px;margin-bottom:14px}
@media(min-width:640px){.pl-rank-col{flex-direction:column;align-items:center;margin-bottom:0;width:72px;flex-shrink:0}}
.pl-rank-num{position:absolute;top:16px;left:-14px;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #0A1F44;color:#0A1F44;font-size:15px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(10,31,68,.18);z-index:3}
.pl-score-box{background:#0A1F44;border-radius:8px;padding:8px 10px;text-align:center;min-width:64px}
.pl-score-num{font-size:20px;font-weight:900;color:#fff;line-height:1}
.pl-score-label{font-size:8px;font-weight:700;color:#94A3B8;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.pl-stars{color:#F59E0B;font-size:11px;margin-top:4px}
.pl-name-col{flex:1;min-width:0}
.pl-name-row{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.pl-logo{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:19px;letter-spacing:.02em;flex-shrink:0}
.pl-logo-img{width:60px;height:60px;border-radius:14px;background:#fff;border:1px solid #E2E8F0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;padding:7px}
.pl-logo-img img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.pl-name{font-size:20px;font-weight:800;color:#0A1F44;margin-bottom:0;line-height:1.25}
.pl-tag{font-size:12px;color:#64748B;margin-bottom:10px}
.pl-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.b{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px}
.bl{background:#DBEAFE;color:#1D4ED8}
.bi{background:#D1FAE5;color:#065F46}
.be{background:#FEE2E2;color:#991B1B}
.bf{background:#EDE9FE;color:#5B21B6}
.bc{background:#FEF3C7;color:#92400E}
.bs{background:#F1F5F9;color:#334155}
.pl-bullets{list-style:none;display:flex;flex-direction:column;gap:5px}
.pl-bullets li{font-size:13px;color:#475569;display:flex;align-items:flex-start;gap:7px;line-height:1.4}
.ck{color:#2563EB;flex-shrink:0;margin-top:1px}
.pl-cta-col{display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:14px;border-top:1px solid #F1F5F9;padding-top:14px}
@media(min-width:640px){.pl-cta-col{flex-direction:column;align-items:center;margin-top:0;border-top:none;padding-top:0;width:148px;flex-shrink:0}}
.pl-views{text-align:center;font-size:10px;color:#64748B;margin-bottom:6px;display:none}
@media(min-width:640px){.pl-views{display:block}}
.pl-vn{font-size:15px;font-weight:800;color:#0A1F44}
.pl-btn{display:block;background:#2563EB;color:#fff;font-size:14px;font-weight:700;padding:12px 16px;border-radius:999px;text-align:center;text-decoration:none;width:100%;cursor:pointer;border:none;white-space:nowrap}
.pl-btn:hover{background:#1D4ED8}
.pl-btn.rd{background:#D4204A}
.pl-btn.rd:hover{background:#B01A3E}
.pl-btn-ghost{display:block;background:#fff;color:#2563EB;font-size:14px;font-weight:700;padding:10px 16px;border-radius:999px;text-align:center;text-decoration:none;width:100%;cursor:pointer;border:2px solid #2563EB;white-space:nowrap}
.pl-btn-ghost:hover{background:#EFF6FF}
.pl-links{display:flex;gap:14px;margin-top:6px;justify-content:center}
.pl-links a{font-size:12px;color:#2563EB;text-decoration:none;font-weight:500}
.pl-ph{font-size:11px;color:#059669;font-weight:600;text-align:center;margin-top:4px}
.pl-sec{font-size:12px;font-weight:700;color:#64748B;text-transform:uppercase;letter-spacing:.06em;padding:20px 0 10px;display:flex;align-items:center;gap:8px}
.pl-sec::after{content:"";flex:1;height:1px;background:#E2E8F0}
.pl-faq{margin-top:32px}
.pl-faq h2{font-size:20px;font-weight:800;color:#0A1F44;margin-bottom:16px}
.pl-faq-item{border-bottom:1px solid #F1F5F9;padding:14px 0}
.pl-faq-q{font-size:14px;font-weight:700;color:#1e293b;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px}
.pl-faq-a{font-size:13px;color:#64748B;line-height:1.6;margin-top:8px;display:none}
.pl-faq-a.open{display:block}
.pl-feat{background:#EFF6FF;border:2px solid #2563EB;border-radius:12px;padding:20px;margin-top:32px}
.pl-feat-lbl{font-size:10px;font-weight:800;color:#2563EB;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.pl-feat-name{font-size:20px;font-weight:900;color:#0A1F44;margin-bottom:4px}
.pl-sb-card{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px;margin-bottom:14px}
.pl-sb-title{font-size:11px;font-weight:700;color:#0A1F44;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.pl-sb-stat{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pl-sb-n{font-size:22px;font-weight:900;color:#0A1F44}
.pl-sb-d{font-size:11px;color:#64748B;line-height:1.4}
.pl-how{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.pl-how-icon{width:28px;height:28px;border-radius:8px;background:#EFF6FF;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.pl-how-t{font-size:12px;font-weight:700;color:#0A1F44;margin-bottom:2px}
.pl-how-d{font-size:11px;color:#64748B;line-height:1.4}
@media(max-width:639px){.pl-card-inner{padding:16px 16px 14px}.pl-rank-col{margin-bottom:10px}.pl-cta-col{flex-direction:column;align-items:stretch}.pl-score-box{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:8px 14px;min-width:0;width:fit-content;border-radius:8px}.pl-score-num{font-size:18px}.pl-score-label{font-size:10px;margin-top:0}.pl-stars{margin-top:0;font-size:12px}.pl-name-row{margin-bottom:3px}}
.pl-gr{font-size:13px;color:#334155;margin:0 0 10px}
.pl-gr strong{color:#0A1F44}
.pl-cta-col .pl-btn-ghost{margin-top:8px}
.pl-disc{font-size:12px;color:#64748B;line-height:1.6;background:#F1F5F9;border-radius:10px;padding:14px 16px;margin-top:20px}
.pl-local{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}
@media(min-width:640px){.pl-local{grid-template-columns:1fr 1fr}}
.pl-local div{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:14px 16px}
.pl-local h3{font-size:15px;color:#0A1F44;margin-bottom:4px}
.pl-local p{font-size:13px;color:#475569;line-height:1.55}
.pl-intro{font-size:15px;color:#334155;line-height:1.7;background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px 18px;margin-bottom:18px}
.pl-note{font-size:11px;color:#64748B;margin-top:10px;font-style:italic}
a.pl-btn-ghost{margin-top:8px}
.pl-also{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px 18px;margin-top:8px}
.pl-also li{font-size:13px;color:#475569;margin:0 0 8px 18px;line-height:1.5}
.pl-how-w{font-size:10px;font-weight:800;color:#2563EB;margin-left:4px}
.pl-bullets .ck{color:#16A34A;font-weight:700;flex-shrink:0}
.pl-fit{font-size:13px;color:#0A1F44;background:#EFF6FF;border-radius:6px;padding:6px 10px;margin:6px 0 8px;display:inline-block}
.pl-facts{font-size:13px;color:#334155;margin:6px 0 8px;line-height:1.5}
.pl-facts .st{color:#F59E0B;font-weight:700}
.pl-facts .muted{color:#64748B}
/* template additions */
.pl-gr{font-size:13px;color:#334155;margin:0 0 10px}.pl-gr strong{color:#0A1F44}.pl-note{font-size:11px;color:#64748B;margin-top:10px;font-style:italic}.pl-cta-col .pl-btn-ghost{margin-top:8px;font-family:inherit}.pl-also{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px 18px;margin-top:8px}.pl-also li{font-size:13px;color:#475569;margin:0 0 8px 18px;line-height:1.5}.pl-disc{font-size:12px;color:#64748B;line-height:1.6;background:#F1F5F9;border-radius:10px;padding:14px 16px;margin-top:20px}
.pl-logo-init{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:19px;flex-shrink:0}
.pl-hero-cta{display:inline-flex;width:auto;margin-top:22px;padding-left:28px;padding-right:28px}
.tptx-guide{background:#fff}
/* guide sections */
.tptx-guide *{box-sizing:border-box;margin:0;padding:0}
.tptx-guide .tx-bar{background:#0A1F44;height:4px}
.tptx-guide .eyebrow-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(147,197,253,.15);border:1px solid rgba(147,197,253,.3);color:#93C5FD;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px;width:fit-content}
.tptx-guide .trust-row{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:4px}
.tptx-guide .trust-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;font-weight:500}
.tptx-guide .stat-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px 24px}
.tptx-guide .stat-num{font-size:38px;font-weight:800;color:#fff;line-height:1}
.tptx-guide .stat-num span{font-size:20px;font-weight:600;color:#93C5FD;margin-left:2px}
.tptx-guide .stat-label{font-size:13px;color:#94a3b8;margin-top:6px;line-height:1.45}
.tptx-guide .section{padding:56px 0}
.tptx-guide .section.gray{background:#f8fafc}
.tptx-guide .inner{padding:0 24px}
.tptx-guide .eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#BF0A30;margin-bottom:10px}
.tptx-guide .h2{font-size:26px;font-weight:800;color:#0A1F44;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px}
.tptx-guide .lead{font-size:16px;color:#475569;line-height:1.7;max-width:700px}
.tptx-guide .practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.tptx-guide .practice-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:16px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;display:block}
.tptx-guide .practice-card:hover{border-color:#BF0A30;box-shadow:0 4px 12px rgba(191,10,48,.1)}
.tptx-guide .practice-name{font-size:14px;font-weight:700;color:#0A1F44;margin-bottom:4px}
.tptx-guide .practice-desc{font-size:12px;color:#64748b;line-height:1.5}
.tptx-guide .steps{display:flex;flex-direction:column;gap:20px;margin-top:24px}
.tptx-guide .step{display:flex;gap:16px;align-items:flex-start}
.tptx-guide .step-num{width:36px;height:36px;min-width:36px;border-radius:50%;background:#0A1F44;color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center}
.tptx-guide .step-title{font-size:15px;font-weight:700;color:#0A1F44;margin-bottom:4px}
.tptx-guide .step-desc{font-size:14px;color:#475569;line-height:1.6}
.tptx-guide .feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.tptx-guide .feat-card{display:flex;gap:12px;align-items:flex-start}
.tptx-guide .feat-icon{font-size:22px;min-width:32px}
.tptx-guide .feat-icon.blue{color:#3b82f6}
.tptx-guide .feat-icon.red{color:#ef4444}
.tptx-guide .feat-icon.green{color:#22c55e}
.tptx-guide .feat-icon.amber{color:#f59e0b}
.tptx-guide .feat-title{font-size:14px;font-weight:700;color:#0A1F44;margin-bottom:3px}
.tptx-guide .feat-desc{font-size:12px;color:#475569;line-height:1.5}
.tptx-guide .compare-wrap{margin-top:28px;overflow-x:auto}
.tptx-guide .compare-table{width:100%;border-collapse:collapse;font-size:13px}
.tptx-guide .compare-table th{background:#0A1F44;color:#fff;padding:10px 12px;text-align:left;font-size:12px}
.tptx-guide .compare-table th.ours{background:#BF0A30}
.tptx-guide .compare-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0}
.tptx-guide .compare-table tr:last-child td{border-bottom:none}
.tptx-guide .compare-table tr:nth-child(even) td{background:#f8fafc}
.tptx-guide .ours-col{font-weight:600;color:#0A1F44}
.tptx-guide .chk{color:#16a34a}
.tptx-guide .crs{color:#dc2626}
.tptx-guide .neighborhood-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.tptx-guide .nbhd-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;font-size:13px;color:#0A1F44;font-weight:600}
.tptx-guide .nbhd-sub{font-size:11px;color:#64748b;font-weight:400;margin-top:2px}
.tptx-guide .faq-list{margin-top:20px;display:flex;flex-direction:column;gap:0}
.tptx-guide .faq-item{border-bottom:1px solid #e2e8f0}
.tptx-guide .faq-q{width:100%;text-align:left;background:none;border:none;padding:16px 0;font-size:14px;font-weight:600;color:#0A1F44;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.tptx-guide .faq-plus{color:#BF0A30;font-size:18px;line-height:1;min-width:16px}
.tptx-guide .faq-a{display:none;font-size:14px;color:#475569;line-height:1.65;padding-bottom:14px}
.tptx-guide .final{background:#0A1F44;padding:72px 0}
.tptx-guide .final-inner{padding:0 24px;text-align:center}
.tptx-guide .final-inner h2{font-size:28px;font-weight:800;color:#fff;line-height:1.2;margin-bottom:14px}
.tptx-guide .final-inner h2 em{font-style:normal;color:#93C5FD}
.tptx-guide .final-inner p{color:#94a3b8;font-size:15px;line-height:1.6;max-width:520px;margin:0 auto 28px}
.tptx-guide .btn-final{display:inline-flex;align-items:center;gap:8px;background:#BF0A30;color:#fff;font-size:15px;font-weight:700;padding:15px 32px;border-radius:8px;text-decoration:none;transition:background .2s;margin-bottom:14px}
.tptx-guide .final-trust{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.tptx-guide .final-trust span{font-size:12px;color:#475569}
@media(min-width:1024px){.tptx-guide .section{padding:72px 0}.tptx-guide .inner{max-width:1200px;margin:0 auto;padding:0 48px}.tptx-guide .final{padding:96px 0}.tptx-guide .final-inner{max-width:1200px;margin:0 auto;padding:0 48px;text-align:center}.tptx-guide .practice-grid{grid-template-columns:repeat(3,1fr)}.tptx-guide .feat-grid{grid-template-columns:repeat(4,1fr)}.tptx-guide .neighborhood-grid{grid-template-columns:repeat(4,1fr)}}
.tptx-guide .btn-final:hover{background:#9b0824;color:#fff}
.tptx-guide .check-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.tptx-guide .check-list li{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;font-size:14px;color:#334155;line-height:1.6}
.tptx-guide .check-list li strong{display:block;color:#0A1F44;font-size:15px;margin-bottom:2px}
.tptx-guide .faq-d{border-bottom:1px solid #e2e8f0}
.tptx-guide .faq-d summary{cursor:pointer;list-style:none;padding:16px 0;font-size:15px;font-weight:600;color:#0A1F44;display:flex;justify-content:space-between;gap:12px}
.tptx-guide .faq-d summary::-webkit-details-marker{display:none}
.tptx-guide .faq-d summary::after{content:"+";color:#BF0A30;font-size:18px;line-height:1}
.tptx-guide .faq-d[open] summary::after{content:"\2212"}
.tptx-guide .faq-d p{font-size:14px;color:#475569;line-height:1.7;padding:0 0 16px}
.tptx-guide .note{font-size:13px;color:#64748b;margin-top:16px;line-height:1.6}
@media(min-width:1024px){.tptx-guide .check-list{grid-template-columns:1fr 1fr}}

/* fix: one bullet style for all cards */
.tptx-city .pl-bullets{padding:0;margin:8px 0 6px;list-style:none}
.tptx-city .pl-bullets li{padding-left:0;position:static}
