/* TankWiki component basic styling */
.tw-container{max-width:1100px;margin:0 auto;padding:16px;}
.tw-h1{margin:0 0 18px 0;font-size:1.8rem;line-height:1.2;}
.tw-block{margin:18px 0 26px 0;padding:14px 14px 8px 14px;border:1px solid #e2e2e2;border-radius:8px;background:#fff;}
.tw-h2{margin:0 0 12px 0;font-size:1.25rem;line-height:1.25;}
.tw-table{width:100%;border-collapse:collapse;}
.tw-table{table-layout:fixed;}
.tw-table th,.tw-table td{overflow-wrap:anywhere;word-break:break-word;}
.tw-col-dist{width:6.5rem;}
.tw-col-zip{width:5.25rem;}
.tw-col-city{width:12rem;}
.tw-table thead th{padding:10px 8px;text-align:left;border-bottom:1px solid #d8d8d8;background:#efefef;}
.tw-table tbody td{padding:9px 8px;border-bottom:1px solid #ededed;vertical-align:top;}
.tw-table tbody tr:nth-child(even){background:#f7f7f7;}
.tw-table a{text-decoration:none;}
.tw-table a:hover{text-decoration:underline;}
.tw-rowlink{cursor:pointer;}
.tw-rowlink:hover{box-shadow: inset 0 0 0 2px #e0e0e0;}
.tw-rowlink:focus{box-shadow: inset 0 0 0 2px #1b5e20;}

/* Results table: stack rows on small screens to avoid horizontal overflow */
@media (max-width: 640px){
  .tw-col-city{width:auto;}
  .tw-table thead{display:none;}
  .tw-table, .tw-table tbody, .tw-table tr, .tw-table td{display:block;width:100%;}
  .tw-table tbody tr{margin:10px 0;border:1px solid #e9e9e9;border-radius:10px;overflow:hidden;background:#fff;}
  .tw-rowlink:hover{box-shadow:none; border-color:#cfcfcf;}
  .tw-rowlink:focus{box-shadow:none; border-color:#1b5e20;}
  .tw-table tbody tr:nth-child(even){background:#fff;}
  .tw-table tbody td{border:none;border-bottom:1px solid #f1f1f1;padding:10px 12px;}
  .tw-table tbody td:last-child{border-bottom:none;}
  .tw-table tbody td::before{content:attr(data-label);display:block;font-weight:700;color:#444;margin-bottom:2px;}
}


/* ---- Detail view ---- */
.tw-detail{max-width:1100px;margin:0 auto;padding:16px;}
.tw-detail-header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px 14px;border:1px solid #e2e2e2;border-radius:10px;background:#fff;}
.tw-detail-titlewrap{display:flex;gap:10px;align-items:center;min-width:0;}
.tw-detail-titlewrap img{flex:0 0 auto;}
.tw-detail-title{margin:0;font-size:1.6rem;line-height:1.2;white-space:normal;}
.tw-detail-sub{margin:2px 0 0 0;color:#444;font-size:0.95rem;}
.tw-detail-nav{margin:10px 0 18px 0;padding:10px 12px;border:1px solid #e2e2e2;border-radius:10px;background:#fff;}
.tw-detail-nav a{margin-right:10px;text-decoration:none;font-weight:600;}
.tw-detail-nav a:hover{text-decoration:underline;}
.tw-section{margin:18px 0;padding:14px;border:1px solid #e2e2e2;border-radius:10px;background:#fff;}
.tw-section h2{margin:0 0 12px 0;font-size:1.25rem;line-height:1.25;}
.tw-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
@media (max-width: 820px){.tw-grid{grid-template-columns:1fr;}}
.tw-card{padding:12px;border:1px solid #ededed;border-radius:10px;background:#fafafa;}
.tw-kv{margin:0;}
.tw-kv dt{font-weight:700;margin-top:8px;}
.tw-kv dd{margin:4px 0 0 0;}
.tw-mapimg{width:100%;height:auto;border-radius:10px;border:1px solid #ededed;}
.tw-pricebox{font-size:1rem;}
.tw-pricegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width: 820px){.tw-pricegrid{grid-template-columns:1fr;}}
.tw-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#efefef;font-weight:700;margin-right:6px;margin-bottom:6px;}
.tw-muted{color:#666;font-size:0.95rem;}

.tw-list{margin:0;padding-left:18px;}
.tw-sep{border:0;border-top:1px solid #e2e2e2;margin:16px 0;}

/* TankWiki detail nearby cards */
.tw-h2band{margin:0 0 14px 0;text-align:center;border-bottom:4px dotted #000;border-top:4px dotted #000;padding:10px 0;font-size:1.25rem;line-height:1.25;}
.tw-h3{margin:14px 0 10px 0;font-size:1.05rem;}
.tw-cardgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:8px 0 18px 0;}
.tw-card{display:block;border:1px solid #e2e2e2;border-radius:10px;background:#fff;overflow:hidden;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,0.04);}
.tw-card:hover{box-shadow:0 2px 10px rgba(0,0,0,0.08);}
.tw-cardimg{width:100%;height:120px;object-fit:cover;display:block;background:#f3f3f3;}
.tw-cardtxt{padding:10px 10px 12px 10px;}
.tw-cardtitle{font-weight:700;margin:0 0 6px 0;font-size:0.98rem;line-height:1.2;}
.tw-cardmeta{font-size:0.9rem;color:#444;margin:0 0 6px 0;}
.tw-cardmore{font-size:0.9rem;color:#1b5e20;}

/* TankWiki detail: grouped type boxes */
.tw-typebox{border:1px solid #e2e2e2;border-radius:12px;background:#fff;margin:14px 0 18px 0;overflow:hidden;}
.tw-typehead{margin:0;padding:10px 12px;font-size:1.05rem;line-height:1.2;background:#f1f1f1;border-bottom:1px solid #e2e2e2;}
.tw-typebox .tw-cardgrid{padding:12px;}

@media (max-width: 900px){
  .tw-cardgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 500px){
  .tw-cardgrid{grid-template-columns:1fr;}
}

/* TankWiki detail: variant crosslinks */
.tw-variantbox{border:1px solid #e2e2e2;border-radius:12px;background:#fff;padding:12px;}
.tw-variantgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.tw-variantcard{display:flex;align-items:center;gap:10px;border:1px solid #e7e7e7;border-radius:10px;padding:10px 12px;background:#fafafa;text-decoration:none;}
.tw-variantcard:hover{background:#f2f2f2;}
.tw-varianticon{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #e7e7e7;}
.tw-variantlabel{font-weight:700;color:#222;line-height:1.2;}

/* TankWiki detail: weather boxes */
.tw-weathergrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px 0;}
.tw-weatherday{border:1px solid #e2e2e2;border-radius:12px;background:#fff;overflow:hidden;}
.tw-weatherhead{display:flex;justify-content:space-between;align-items:baseline;background:#f1f1f1;border-bottom:1px solid #e2e2e2;padding:10px 12px;}
.tw-weatherdayname{font-weight:700;}
.tw-weatherdate{font-size:0.9rem;color:#444;}
.tw-weatherbody{display:flex;gap:12px;padding:12px;}
.tw-weathericonwrap{width:120px;text-align:center;}
.tw-weathericon{width:65px;height:65px;object-fit:contain;display:inline-block;}
.tw-weathertextsmall{margin-top:6px;font-size:0.9rem;color:#333;}
.tw-weatherstats{flex:1;display:flex;flex-direction:column;gap:6px;}
.tw-wrow{display:flex;align-items:center;gap:8px;}
.tw-wico{width:18px;height:18px;object-fit:contain;}
.tw-wlbl{min-width:52px;color:#333;font-size:0.9rem;}
.tw-wval{font-weight:700;color:#222;font-size:0.9rem;}
@media (max-width: 900px){
  .tw-weathergrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 500px){
  .tw-weathergrid{grid-template-columns:1fr;}
  .tw-weatherbody{flex-direction:column;align-items:center;}
  .tw-weathericonwrap{width:auto;}
  .tw-wlbl{min-width:60px;}
}


.tw-stack{display:grid;gap:14px;align-content:start;}
.tw-lagegrid{grid-template-columns:minmax(280px,1fr) minmax(320px,1.25fr);}
.tw-mapcard{height:100%;display:flex;align-items:center;justify-content:center;}
.tw-adslot-card > *:first-child{width:100%;}
.tw-adslot-placeholder{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;border:2px dashed #d5d5d5;border-radius:10px;background:#fff;}
@media (max-width: 820px){.tw-lagegrid{grid-template-columns:1fr;}.tw-mapcard{min-height:0;}}
