/* seo.css — extra styles for generated SEO pages (/bus/*, /city/*). Loaded after app.css */
.statcard{background:#fff;border-radius:24px;padding:18px;box-shadow:0 18px 50px rgba(15,74,138,.24);animation:up .5s ease both}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.tile{background:linear-gradient(145deg,var(--bl),#fff);border:1.5px solid #d6e6f8;border-radius:16px;padding:12px 14px}
.tile small{display:block;font-size:.68rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--mut)}
.tile b{display:block;font-size:1.35rem;font-weight:900;color:var(--b2);letter-spacing:-.4px;margin-top:2px}
.tile b.g{color:var(--ok)}
.tile span{font-size:.74rem;color:var(--mut)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cta{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:.9rem;padding:11px 18px;border-radius:14px;color:#fff;
  background:linear-gradient(120deg,var(--b2),var(--b1));box-shadow:0 8px 18px rgba(26,111,196,.3)}
.cta.alt{background:#fff;color:var(--b2);border:1.5px solid var(--line);box-shadow:none}
.cta:hover{transform:translateY(-1px)}

.panel{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--sh2);margin-top:22px}
.panel h2{margin:0 0 10px;font-size:1.2rem;font-weight:800}
.panel h3{margin:16px 0 6px;font-size:1rem}
.panel p{margin:0 0 10px;color:#2b4465}
.panel ul{margin:0 0 6px;padding-left:20px;color:#2b4465}.panel li{margin-bottom:4px}
.livebox{margin-top:22px}
.livebox>h2{font-size:1.2rem;margin:0 0 12px;font-weight:800}

.ftable{width:100%;border-collapse:separate;border-spacing:0;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;font-size:.92rem}
.ftable th{background:linear-gradient(120deg,var(--b2),var(--b1));color:#fff;text-align:left;padding:10px 14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}
.ftable td{padding:10px 14px;border-top:1px solid var(--line)}
.ftable tr:nth-child(even) td{background:var(--bl2)}
.ftable a{font-weight:700;text-decoration:none}
.ftable td.r{text-align:right;font-weight:800;color:var(--ok)}

.faq details{border:1.5px solid var(--line);border-radius:14px;margin-bottom:8px;background:#fff;transition:border-color .15s}
.faq details[open]{border-color:var(--b4);background:var(--bl2)}
.faq summary{cursor:pointer;list-style:none;padding:13px 16px;font-weight:700;display:flex;justify-content:space-between;gap:10px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--b1);font-weight:800;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 16px 14px;color:#2b4465}

.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aboutcard{border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;background:linear-gradient(145deg,#fff,var(--bl2))}
.aboutcard h3{margin:0 0 4px}.aboutcard p{margin:0 0 8px;font-size:.9rem}
.aboutcard a{font-weight:800;font-size:.86rem;text-decoration:none}
.picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.picker .chip{padding:8px 14px;font-size:.85rem}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.hubcard{display:block;background:#fff;border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--sh2);transition:transform .15s,box-shadow .15s}
.hubcard:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.hubcard b{display:block;font-size:1rem;color:var(--b2)}.hubcard small{color:var(--mut)}
.hubgroup{margin-top:22px}.hubgroup h2{font-size:1.1rem;margin:0 0 10px}
.seo-note{font-size:.8rem;color:var(--mut)}
@media(max-width:700px){.two{grid-template-columns:1fr}}
.fc-out{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 16px;border-radius:14px;background:var(--bl2);color:#2b4465;font-size:.95rem}
.fc-out .rs{padding:6px 18px;border-radius:12px;font-size:1.5rem;font-weight:900;color:#fff;background:linear-gradient(135deg,#16a34a,#0f7a37);box-shadow:0 6px 14px rgba(22,163,74,.32)}
@media print{.hero,.foot,.search,.cta,.nav,.picker,.more,.btn-via,.guides{display:none!important}body{background:#fff}.main{margin:0}.bus,.panel{box-shadow:none;break-inside:avoid}}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.tscroll .ftable{min-width:420px}
