/* IPv4 product layout: compare regions once, then choose an address block. */
.ipv4-tunnels-page .tunnel-locations .location-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.ipv4-tunnels-page .tunnel-locations .location-card,
.ipv4-tunnels-page .tunnel-locations .location-card:last-child:nth-child(odd) { display: flex; flex-direction: column; width: 100%; grid-column: auto; border-radius: 20px; border: 1px solid #ded2ee; box-shadow: 0 18px 45px -30px #40216b55; overflow: hidden; }
.ipv4-tunnels-page .tunnel-locations .location-card > .tunnel-location-art { display: grid; place-items: center; width: 100%; height: 225px; padding: 18px; background: radial-gradient(ellipse at center,#fff,#eee5ff); }
.ipv4-tunnels-page .tunnel-locations .location-card:nth-child(3) > .tunnel-location-art { background: radial-gradient(ellipse at center,#fff,#e2f4f1); }
.ipv4-tunnels-page .tunnel-locations .location-card .location-mascot { display: block; position: static; width: 100%; height: 190px; min-height: 0; max-height: none; margin: 0; padding: 0; object-fit: contain; background: transparent; transform: none; }
.ipv4-tunnels-page .tunnel-locations .location-card > .tunnel-location-copy { width: 100%; padding: 26px; flex: 1; display: flex; flex-direction: column; align-items: stretch; }
.ipv4-tunnels-page .tunnel-country { display: flex; align-items: center; gap: 9px; color: #6425b4; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; }
.ipv4-tunnels-page .tunnel-country img { display: block; width: 24px; height: 16px; object-fit: cover; border-radius: 2px; }
.ipv4-tunnels-page .tunnel-locations .location-card h3 { font-size: 1.25rem; margin-bottom: 10px; }
.ipv4-tunnels-page .tunnel-locations .location-card p { min-height: 3.2em; margin-bottom: 20px; }
.tunnel-location-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.tunnel-location-specs > div { padding: 14px 12px; background: #f7f3fc; border: 1px solid #e9dff5; border-radius: 12px; }
.tunnel-location-specs dt { font-size: .72rem; color: #655a77; line-height: 1.5; margin-bottom: 5px; min-height: 3em; }
.tunnel-location-specs dd { margin: 0; font-size: 1.15rem; font-weight: 800; color: #291547; }
.tunnel-region-note { font-size: .85rem; line-height: 1.55; color: #60536f; padding: 16px 0; min-height: 74px; }
.ipv4-tunnels-page .tunnel-locations .location-meta { margin-top: auto; }
.ipv4-tunnels-page .location-badge { white-space: normal; font-size: .72rem; }
.tunnel-bandwidth-details { margin-top: 24px; border: 1px solid #e1d5ed; background: #fff; border-radius: 14px; color: #594c6b; }
.tunnel-bandwidth-details summary { cursor: pointer; padding: 20px 24px; font-weight: 700; color: #351e52; }
.tunnel-bandwidth-details > div { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 0 24px 20px; }
.tunnel-bandwidth-details p { margin: 0; font-size: .9rem; line-height: 1.7; }
.tunnel-prefix-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.tunnel-prefix-card { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid #e0d4ef; border-top: 3px solid #a575ed; border-radius: 18px; background: linear-gradient(160deg,#fff,#fcfaff); box-shadow: 0 18px 42px -32px #46227066; }
.tunnel-prefix-card.featured { border-color: #b68afc; border-top-color: #782cff; background: linear-gradient(160deg,#fff,#f3ecff); }
.tunnel-prefix-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }
.tunnel-prefix-top .card-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; margin: 0; background: linear-gradient(135deg,#8134ff,#5720b2); border-radius: 12px; color: #fff; }
.tunnel-prefix-top .card-icon i { color: inherit; }
.tunnel-ip-count { font-size: .78rem; font-weight: 750; color: #613291; text-align: right; }
.tunnel-prefix-card h3 { font-size: 1.15rem; line-height: 1.35; margin: 0 0 8px; }
.tunnel-prefix-card .name-cell p { font-size: .87rem; line-height: 1.55; color: #6b5f7d; margin: 0; min-height: 2.7em; }
.tunnel-prefix-price { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; margin: 20px 0; }
.tunnel-prefix-price strong { font-size: 2rem; line-height: 1.1; letter-spacing: -.035em; color: #6223b9; }
.tunnel-prefix-price > span { font-size: .8rem; color: #746583; }
.tunnel-prefix-availability { padding: 14px; background: #f7f3fc; border: 1px solid #eae0f6; border-radius: 12px; }
.tunnel-stock-label { display: block; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 800; color: #766485; margin-bottom: 10px; }
.tunnel-prefix-card .tunnel-stock-status { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0; width: 100%; }
.tunnel-prefix-card .tunnel-stock-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0; border: 0; background: none; font-size: .78rem; line-height: 1.5; color: #6b6177; }
.tunnel-prefix-card .tunnel-stock-row.available { color: #137952; }
.tunnel-prefix-card .tunnel-stock-code { font-size: .74rem; font-weight: 800; }
.tunnel-prefix-card .tunnel-stock-count { font-size: .78rem; font-weight: 650; }
.tunnel-prefix-card .tunnel-stock-message { font-size: .8rem; color: #6b6177; min-height: 74px; }
.tunnel-allowance-link { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: .76rem; font-weight: 600; padding: 18px 0; }
.tunnel-prefix-card > .btn { width: 100%; margin-top: auto; }
@media(max-width:1150px) {
  .tunnel-prefix-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ipv4-tunnels-page .tunnel-locations .location-card > .tunnel-location-copy { padding: 20px; }
  .tunnel-location-specs { grid-template-columns: 1fr; }
}
@media(max-width:800px) {
  .ipv4-tunnels-page .tunnel-locations .location-grid { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
  .tunnel-location-specs { grid-template-columns: 1fr 1fr; }
  .ipv4-tunnels-page .tunnel-locations .location-card p { min-height: 0; }
  .tunnel-region-note { min-height: 0; }
  .tunnel-bandwidth-details > div { grid-template-columns: 1fr; gap: 16px; }
}
@media(max-width:540px) {
  .tunnel-prefix-grid { grid-template-columns: 1fr; }
  .tunnel-prefix-card { padding: 24px; }
  .tunnel-prefix-card .name-cell p { min-height: 0; }
}
