/* The existing desktop card keeps its layout; mobile follows the approved 2B mockup. */
.search-europe .mobile-card-2b .api-price-total { display:contents; }
@media(max-width:760px) {
 .search-europe .mobile-card-2b { display:grid; grid-template-areas:'carrier' 'journey' 'nextday' 'details' 'price'; grid-template-columns:minmax(0,1fr); padding:18px 16px 10px; border-radius:20px; overflow:hidden; box-shadow:0 5px 20px #193a6108; }
 .search-europe .mobile-card-2b .api-card-main { display:contents; }
 .search-europe .mobile-card-2b .api-carrier-column { grid-area:carrier; display:grid; grid-template-columns:68px minmax(0,1fr); column-gap:12px; align-items:center; padding:0; margin-bottom:22px; border:0; }
 .search-europe .mobile-card-2b .api-carrier { display:contents; }
 .search-europe .mobile-card-2b .api-carrier-logo,
 .search-europe .mobile-card-2b .api-carrier-logo.is-carrier-image { grid-column:1; grid-row:1 / 3; align-self:center; width:68px; max-width:68px; height:62px; border-radius:14px; }
 .search-europe .mobile-card-2b .api-carrier-logo svg { width:43px; height:43px; }
 .search-europe .mobile-card-2b .api-carrier>span:not(.api-carrier-logo) { grid-column:2; grid-row:1; align-self:end; min-width:0; }
 .search-europe .mobile-card-2b .api-carrier strong { font-size:17px; line-height:1.3; font-weight:750; }
 .search-europe .mobile-card-2b .api-carrier-review { grid-column:2; grid-row:2; align-self:start; gap:10px; margin:5px 0 0; font-size:13px; min-height:26px; }
 .search-europe .mobile-card-2b .api-stickers { grid-column:1 / -1; flex-wrap:wrap; gap:5px; margin:10px 0 0; }
 .search-europe .mobile-card-2b .api-stickers:empty { display:none; }
 .search-europe .mobile-card-2b .api-sticker { font-size:10px; padding:4px 7px; }
 .search-europe .mobile-card-2b .api-provider-badge { grid-column:1 / -1; justify-self:start; margin-top:8px; font-size:9px; }
 .search-europe .mobile-card-2b .api-journey { grid-area:journey; display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:0; }
 .search-europe .mobile-card-2b .api-stop { position:relative; display:grid; grid-template-columns:70px minmax(0,1fr); column-gap:28px; row-gap:4px; align-items:start; padding:0; text-align:left; }
 .search-europe .mobile-card-2b .api-stop:before { content:''; position:absolute; left:84px; top:15px; bottom:0; width:2px; background:#087beb; }
 .search-europe .mobile-card-2b .api-stop:last-child:before { top:0; bottom:auto; height:15px; }
 .search-europe .mobile-card-2b .api-stop:after { content:''; position:absolute; top:9px; left:79px; width:12px; height:12px; background:#087beb; border-radius:50%; }
 .search-europe .mobile-card-2b .api-stop time { grid-column:1; grid-row:1; font-size:29px; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-.045em; }
 .search-europe .mobile-card-2b .api-stop-date { grid-column:1; grid-row:2; font-size:10px; font-weight:500; letter-spacing:-.02em; }
 .search-europe .mobile-card-2b .api-stop strong { grid-column:2; grid-row:1; font-size:19px; line-height:1.3; overflow-wrap:anywhere; }
 .search-europe .mobile-card-2b .api-stop>small { display:none; }
 .search-europe .mobile-card-2b .api-stop-station { grid-column:2; grid-row:2; font-size:13px; line-height:1.45; color:#587293; margin:0; min-height:30px; }
 .search-europe .mobile-card-2b .api-stop-station>span:first-of-type { display:block; overflow:visible; -webkit-line-clamp:unset; }
 .search-europe .mobile-card-2b .api-stop-station svg,.search-europe .mobile-card-2b .api-stop-station>span:last-of-type { display:none; }
 .search-europe .mobile-card-2b .api-duration { display:grid; grid-template-columns:70px minmax(0,1fr); column-gap:28px; row-gap:0; align-items:center; min-height:54px; padding:12px 0; text-align:left; }
 .search-europe .mobile-card-2b .api-duration:before { left:84px; right:auto; top:0; bottom:0; width:2px; height:auto; background:#087beb; }
 .search-europe .mobile-card-2b .mobile-trip-bus { display:none; }
 .search-europe .mobile-card-2b .api-duration>span { grid-column:1; font-size:11px; font-weight:500; line-height:1.4; text-align:right; color:#587293; }
 .search-europe .mobile-card-2b .api-duration .trip-transfer-badge { grid-column:2; justify-self:start; font-size:11px; padding:5px 8px; text-align:left; border-radius:8px; }
 .search-europe .mobile-card-2b .mobile-next-day { grid-area:nextday; font-size:11px; margin:10px 0 0 98px; }
 .search-europe .mobile-card-2b .api-card-foot { grid-area:details; display:flex; flex-wrap:wrap; padding:12px 0; margin:18px 0 0; gap:10px; min-height:58px; background:transparent; }
 .search-europe .mobile-card-2b .api-card-amenities { flex-shrink:0; gap:9px; align-items:center; }
 .search-europe .mobile-card-2b .api-amenity svg { width:21px; height:21px; }
 .search-europe .mobile-card-2b .api-amenity-more { font-size:11px; }
 .search-europe .mobile-card-2b .api-amenity-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .search-europe .mobile-card-2b .api-details-link { flex:1 1 150px; justify-content:flex-end; min-height:42px; gap:6px; font-size:13px; text-decoration:none; color:#0a244a; }
 .search-europe .mobile-card-2b .api-details-link>span:first-child { color:#087beb; font-size:19px; }
 .search-europe .mobile-card-2b .api-details-link>span:last-child { color:#087beb; font-size:23px; }
 .search-europe .mobile-card-2b .api-price-box { grid-area:price; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:12px 10px; align-items:center; padding:15px 12px 12px; margin:0 -6px; border:0; border-radius:15px; background:#edf6ff; text-align:left; }
 .search-europe .mobile-card-2b .api-price-box>strong { grid-column:1; grid-row:1; font-size:27px; line-height:1.2; letter-spacing:-.035em; overflow-wrap:normal; }
 .search-europe .mobile-card-2b .api-price-total { display:block; grid-column:2; grid-row:1; padding-left:10px; border-left:1px solid #c8dff5; min-width:0; }
 .search-europe .mobile-card-2b .api-price-all { margin:0; font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
 .search-europe .mobile-card-2b .api-price-estimate { display:block; margin-top:3px; font-size:10px; line-height:1.35; }
 .search-europe .mobile-card-2b .api-book-button { grid-column:1 / -1; grid-row:2; width:100%; min-height:49px; padding:12px 16px; margin:0; justify-content:center; gap:12px; border-radius:11px; font-size:17px; }
 .search-europe .mobile-card-2b .api-book-unavailable { grid-column:1 / -1; grid-row:2; font-size:12px; }
}
@media(max-width:359px) {
 .search-europe .mobile-card-2b { padding-inline:12px; }
 .search-europe .mobile-card-2b .api-carrier-column { grid-template-columns:58px minmax(0,1fr); gap:8px; }
 .search-europe .mobile-card-2b .api-carrier-logo,.search-europe .mobile-card-2b .api-carrier-logo.is-carrier-image { width:58px; max-width:58px; height:54px; }
 .search-europe .mobile-card-2b .api-carrier strong { font-size:16px; }
 .search-europe .mobile-card-2b .api-price-box>strong { font-size:23px; }
 .search-europe .mobile-card-2b .api-price-all { font-size:12px; }
}
