/* RV Resources Canada — tools and long-form blocks for /links/insurance.html and /links/rvloans.html
   Scoped under .fin so nothing else on the site changes. Colours come from /css/custom.css variables. */

.fin{margin:0}
.fin h2{scroll-margin-top:90px}
.fin p{line-height:1.75;margin:0 0 14px}
.fin ul,.fin ol{padding-left:22px;margin:0 0 16px;line-height:1.75}
.fin li{margin:0 0 7px}
.fin .fin-lead{font-size:1.05rem;color:var(--ink,#1c1c1c)}
.fin .fin-note{border-left:4px solid var(--trail,#D52B1E);background:#fff1ed;padding:14px 18px;margin:18px 0;border-radius:0 6px 6px 0}
.fin .fin-note p:last-child{margin-bottom:0}
.fin .fin-small{font-size:.86rem;color:var(--muted,#5a5a5a)}

/* jump links */
.fin .fin-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.fin .fin-jump a{display:inline-block;padding:7px 13px;border:1px solid var(--pebble,#e0dbd3);border-radius:999px;background:#fff;color:var(--forest,#a3150d);font-size:.9rem;text-decoration:none}
.fin .fin-jump a:hover,.fin .fin-jump a:focus{background:var(--sky,#fdecea);border-color:var(--trail,#D52B1E)}

/* tables */
.fin .fin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 24px}
.fin table.fin-table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;min-width:560px}
.fin .fin-table th,.fin .fin-table td{padding:11px 12px;border:1px solid var(--pebble,#e0dbd3);text-align:left;vertical-align:top;line-height:1.5}
.fin .fin-table th{background:#f7efe9;color:var(--forest,#a3150d);font-weight:700}
.fin .fin-table td:first-child{font-weight:600}
.fin .fin-table td.num,.fin .fin-table th.num{text-align:right;white-space:nowrap}
.fin .fin-table tr.is-flag td{background:#fff1ed}

/* collapsible explainers and FAQ */
.fin details{background:#fff;border:1px solid var(--pebble,#e0dbd3);border-radius:6px;padding:0 18px;margin:10px 0}
.fin details summary{cursor:pointer;font-weight:700;padding:14px 0;color:var(--forest,#a3150d)}
.fin details[open] summary{border-bottom:1px solid var(--pebble,#e0dbd3);margin-bottom:12px}
.fin details p:last-child,.fin details ul:last-child{margin-bottom:16px}

/* tools */
.fin .fin-tool{background:#fff;border:1px solid var(--pebble,#e0dbd3);border-top:4px solid var(--trail,#D52B1E);border-radius:6px;padding:22px 24px;margin:20px 0 30px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.fin .fin-tool h3{margin:0 0 6px;font-size:1.2rem;color:var(--forest,#a3150d)}
.fin .fin-tool>p:first-of-type{color:var(--muted,#5a5a5a)}
.fin .fin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px 16px;margin:16px 0}
.fin .fin-grid label,.fin .fin-quotes label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.9rem}
.fin form,.fin .fin-quotes,.fin .fin-grid,.fin .fin-quote,.fin .fin-quote label,.fin .fin-grid label{min-width:0;max-width:100%}
.fin input[type=number],.fin input[type=text],.fin input[type=date],.fin select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;font-weight:400;padding:10px;border:1px solid #8a8a8a;border-radius:5px;background:#fff;color:#1c1c1c}
.fin .fin-actions{margin:6px 0 4px}
.fin button{background:var(--trail,#D52B1E);color:#fff;border:0;border-radius:6px;padding:11px 20px;font:inherit;font-weight:600;cursor:pointer;margin:0 8px 8px 0}
.fin button:hover{background:var(--forest,#a3150d)}
.fin button.fin-secondary{background:#fff;color:var(--forest,#a3150d);border:2px solid var(--trail,#D52B1E)}
.fin button:focus-visible,.fin input:focus-visible,.fin select:focus-visible,.fin summary:focus-visible,.fin a:focus-visible{outline:3px solid #1b5e8a;outline-offset:2px}
.fin .fin-result{background:#f7f3ee;border-left:4px solid var(--forest,#a3150d);border-radius:0 6px 6px 0;padding:14px 18px;margin:16px 0}
.fin .fin-result p{margin:0 0 8px}
.fin .fin-big{font-size:1.5rem;font-weight:700;color:var(--forest,#a3150d);margin:0 0 6px}
.fin .fin-warn{color:#8a1d12;font-weight:600}
.fin .fin-error{color:#8a1d12;font-weight:600}

/* side-by-side quote columns */
.fin .fin-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px;margin:16px 0}
.fin .fin-quote{border:1px solid var(--pebble,#e0dbd3);border-radius:6px;padding:14px 16px;background:#fcfaf8;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.fin .fin-quote h4{margin:0;color:var(--forest,#a3150d);font-size:1rem}

/* tick lists */
.fin .fin-check{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #eee6de;cursor:pointer;line-height:1.6}
.fin .fin-check input{flex:0 0 22px;width:22px;height:22px;margin-top:3px;accent-color:var(--trail,#D52B1E)}

.fin .fin-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0 26px}
.fin .fin-related a{display:block;background:#fff;border:1px solid var(--pebble,#e0dbd3);border-radius:6px;padding:15px 17px;text-decoration:none;color:#444;line-height:1.5}
.fin .fin-related a:hover{border-color:var(--trail,#D52B1E);box-shadow:0 4px 16px #0001}
.fin .fin-related strong{display:block;color:var(--forest,#a3150d);margin-bottom:4px}

@media (max-width:600px){.fin .fin-tool{padding:18px 16px}}

@media print{
  .site-header,.site-footer,.page-hero,.fin-jump,.fin-actions,.fin button,.cta-bar,.skip-link{display:none!important}
  body{background:#fff!important}
  .fin .fin-tool,.fin .fin-result,.fin details{break-inside:avoid;box-shadow:none}
  .fin details>*{display:block}
  .fin a{color:#000;text-decoration:none}
}

/* repair directory cards */
.fin .fin-shops{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px;margin:14px 0 22px}
.fin .fin-shop{background:#fff;border:1px solid var(--pebble,#e0dbd3);border-radius:6px;padding:16px 18px;min-width:0;overflow-wrap:anywhere}
.fin .fin-shop h3{margin:0 0 4px;font-size:1.02rem;line-height:1.3}
.fin .fin-shop h3 a{color:var(--forest,#a3150d)}
.fin .fin-shop .fin-loc{font-size:.85rem;color:var(--muted,#5a5a5a);margin:0 0 8px}
.fin .fin-shop p{font-size:.9rem;line-height:1.55;margin:0 0 6px}
.fin .fin-pills{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;padding:0;margin:10px 0 20px}
.fin .fin-pills li{margin:0;font-size:.92rem}
.fin .fin-prov{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px;margin:14px 0 24px}
.fin .fin-prov a{display:block;background:#fff;border:1px solid var(--pebble,#e0dbd3);border-radius:6px;padding:14px 16px;text-decoration:none;color:#444;line-height:1.45}
.fin .fin-prov a:hover{border-color:var(--trail,#D52B1E);box-shadow:0 4px 16px #0001}
.fin .fin-prov strong{display:block;color:var(--forest,#a3150d)}

/* listing cards in the same markup as the dealer pages, so the publishing tool can read and edit them */
.fin .dealer-list{display:flex;flex-direction:column;gap:14px;margin:14px 0 22px}
.fin .dlr-card{background:#fff;border:1px solid var(--pebble,#e0dbd3);border-radius:8px;padding:18px 20px;overflow-wrap:anywhere}
.fin .dlr-card:hover{border-color:var(--sage,#d9382c);box-shadow:0 4px 16px #0001}
.fin .dlr-card-header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.fin .dlr-name{font-size:1rem;font-weight:700;color:var(--forest,#a3150d)}
.fin .dlr-name:hover{color:var(--trail,#D52B1E)}
.fin .dlr-loc{font-size:.8rem;color:var(--muted,#5a5a5a)}
.fin .dlr-desc{font-size:.88rem;color:var(--muted,#5a5a5a);line-height:1.6;margin:0}
