.offer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.offer-card{border:1px solid var(--border);border-radius:var(--card-r);background:var(--surface);flex-direction:column;transition:box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.offer-card:hover{border-color:var(--navy);box-shadow:var(--shadow)}.offer-card:has(.stretched-link:focus-visible){border-color:var(--navy);box-shadow:var(--shadow)}.offer-card:hover .btn-dark{background:var(--navy-2)}.ticket-arrow{z-index:1;border:1px solid var(--border);width:34px;height:34px;color:var(--navy);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;margin-top:auto;padding:0;transition:border-color .2s,background .2s;display:inline-flex;position:relative}.offer-card:hover .ticket-arrow,.ticket-arrow:hover,.ticket-arrow:focus-visible{border-color:var(--navy);background:var(--blue-soft)}.ticket-arrow:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.offer-card.is-ticket .offer-body{grid-template-rows:auto auto auto 1fr auto auto;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px 14px 14px;display:grid}.offer-card.is-ticket .offer-cat{color:var(--text-2);grid-area:1/1/auto/-1}.ticket-ph{background:var(--blue-soft);color:var(--navy);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.ticket-ph svg{opacity:.4}.ticket-ph span{text-overflow:ellipsis;white-space:nowrap;max-width:80%;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:600;overflow:hidden}.offer-card.is-ticket .offer-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:2/1/auto/-1;display:-webkit-box;overflow:hidden}.offer-card.is-ticket .offer-sub{grid-area:3/1/auto/-1}.offer-card.is-ticket .offer-meta{grid-area:5/1;min-height:0}.offer-card.is-ticket .offer-price{grid-area:6/1;min-height:0;margin-top:0;padding-top:0}.offer-card.is-ticket .ticket-arrow{grid-area:5/2/7;align-self:center;margin-top:0;position:relative}.offer-card.is-ticket .offer-media{aspect-ratio:3/2}.offer-card.skeleton{min-height:360px}.offer-media{aspect-ratio:4/3;background:var(--blue-soft);flex-shrink:0;width:100%;display:block;position:relative;overflow:hidden}.offer-media .photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.offer-badge{background:var(--navy);color:var(--white);font-size:var(--fs-xs);border-radius:999px;padding:4px 10px;font-weight:700;position:absolute;top:12px;left:12px}.offer-badge.is-discount{background:var(--rose)}.offer-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.offer-cat{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.offer-body h3{font-size:var(--fs-md);line-height:1.3}.offer-sub{font-size:var(--fs-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.offer-meta{min-height:1.3em;font-size:var(--fs-xs);color:var(--muted);gap:12px;display:flex}.offer-meta span{align-items:center;gap:4px;display:inline-flex}.is-star{color:var(--gold-text)}.offer-price{min-height:1.5em;font-size:var(--fs-md);color:var(--navy);margin-top:auto;padding-top:6px;font-weight:700;line-height:1.5}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;list-style:none;display:grid}.steps li{border:1px solid var(--border);border-radius:var(--card-r);background:var(--surface);font-size:var(--fs-sm);grid-template-columns:auto 1fr;gap:4px 12px;padding:14px 16px;display:grid}.steps .step-num{grid-row:span 2}.steps strong{color:var(--navy)}.route-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.route-card{border:1px solid var(--border);border-radius:var(--card-r);background:var(--surface);flex-direction:column;gap:8px;padding:18px;display:flex}.route-card.skeleton{min-height:200px}.route-card.is-premium{background:var(--gold-soft);border-color:var(--gold-line)}.route-chips{flex-wrap:wrap;gap:6px;display:flex}.route-card h3{font-size:var(--fs-md)}.route-places{font-size:var(--fs-sm)}.route-card .btn{align-self:flex-start;margin-top:auto}.offer-grid>.empty-note,.route-grid>.empty-note{text-align:left;color:var(--muted);grid-column:1/-1;padding:28px 0}.route-grid>.empty-note:not(:last-child){grid-column:1/-2;align-self:center}@media (width<=1100px){.offer-grid,.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.steps{grid-template-columns:1fr}}@media (width<=520px){.offer-grid,.route-grid{grid-template-columns:1fr}}.photo{object-fit:cover;width:100%;height:100%}.photo-fallback{display:block}.photo-credit{max-width:60%;font-size:var(--fs-xs);color:#ffffffd9;background:rgba(var(--shade), .45);border-radius:var(--r-xs);white-space:nowrap;text-overflow:ellipsis;z-index:2;padding:2px 8px;text-decoration:none;position:absolute;bottom:10px;right:12px;overflow:hidden}.place-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.place-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);height:100%;transition:box-shadow .25s,transform .25s;position:relative;overflow:hidden}.place-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.place-card-link{flex-direction:column;height:100%;text-decoration:none;display:flex}.place-card-media{aspect-ratio:16/10.5;background:var(--navy);position:relative}.place-card-media>.photo,.story-media>.photo{position:absolute;inset:0}.chip-badge{background:var(--white);color:var(--navy);font-size:var(--fs-xs);border-radius:999px;padding:4px 11px;font-weight:600;position:absolute;top:12px;left:12px}.place-card-body{flex-direction:column;flex:1;padding:14px 18px 18px;display:flex}.place-card-body h3{font-size:var(--fs-md);line-height:1.25}.place-card-desc{font-size:var(--fs-sm);color:var(--muted);margin-top:3px}.place-card-price{font-size:var(--fs-md);color:var(--navy);margin-top:auto;padding-top:12px;font-weight:700}.place-card-price.is-free{color:var(--green)}.place-card-cta{margin-top:12px}.fav-btn{z-index:2;background:var(--white);width:36px;height:36px;color:var(--navy);box-shadow:var(--shadow-sm);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:transform .2s,color .2s;display:grid;position:absolute;top:12px;right:12px}.fav-btn:hover{transform:scale(1.08)}.fav-btn.is-active{color:var(--red)}@media (width<=1100px){.place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.place-grid{grid-template-columns:minmax(0,1fr)}}.place-card.is-rail .place-card-media{aspect-ratio:4/3}.place-card.is-rail .place-card-body{gap:2px;padding:12px 14px 14px}.place-card.is-rail .place-card-body h3{font-size:var(--fs-md)}.place-card-city{font-size:var(--fs-xs);color:var(--muted)}.place-card-blurb{font-size:var(--fs-xs);color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:4px;display:-webkit-box;overflow:hidden}.place-card.is-rail .place-card-price{font-size:var(--fs-md);padding-top:8px}.place-card.skeleton{aspect-ratio:4/4.4;border-radius:var(--r-md)}.destination-card{aspect-ratio:3/4;border-radius:var(--r-md);background:var(--navy);color:var(--white);isolation:isolate;position:relative;overflow:hidden}.destination-card-link{color:inherit;text-decoration:none;display:block;position:absolute;inset:0}.destination-card-img{transition:transform .5s;position:absolute;inset:0}.destination-card:hover .destination-card-img{transform:scale(1.05)}.destination-card-shade{background:linear-gradient(to top, rgba(var(--shade), .85) 0%, rgba(var(--shade), .25) 50%, rgba(var(--shade), 0) 72%);position:absolute;inset:0}.destination-card-badge{background:var(--white);color:var(--navy);font-size:var(--fs-xs);border-radius:999px;padding:4px 10px;font-weight:700;position:absolute;top:12px;left:12px}.destination-card-badge.is-available{background:var(--navy);color:var(--white)}.destination-card-text{flex-direction:column;gap:3px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.destination-card-text strong{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:700}.destination-card-cities{font-size:var(--fs-xs);opacity:.9;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.destination-card-count{font-size:var(--fs-xs);background:#fff3;border-radius:999px;align-self:flex-start;margin-top:4px;padding:2px 9px;font-weight:600}.destination-card-link:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.destination-card.skeleton{border-radius:var(--r-md)}.rail-destinations .rail-track{grid-auto-columns:calc(16.6667% - 13.3333px)}@media (width<=1100px){.rail-destinations .rail-track{grid-auto-columns:calc(22.7273% - 10.9091px)}}@media (width<=640px){.rail-destinations .rail-track{grid-auto-columns:44%;gap:12px}}.ticket-row{border-top:1px solid var(--border);font-size:var(--fs-sm);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;padding:10px 0;display:grid;position:relative}.ticket-row-title{color:var(--navy);font-weight:600}.ticket-row-price{color:var(--navy);grid-area:1/2;font-weight:700}.ticket-row-meta{font-size:var(--fs-xs);color:var(--muted);gap:10px;display:flex}.ticket-row:focus-within{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--r-xs)}.ticket-row-type{font-size:var(--fs-xs);padding:1px 8px}.place-tours{margin:0;padding:0;list-style:none}.place-tours>li:first-child .ticket-row{border-top:none}.place-tours .ticket-row{font-size:var(--fs-md);padding:14px 0}.place-tours .ticket-row-meta{font-size:var(--fs-sm);align-items:center}.place-tours-count{color:var(--muted);font-weight:500}.place-tours-all{margin-top:8px;font-weight:600;display:inline-block}@media (width<=520px){.place-tours .ticket-row{grid-template-columns:minmax(0,1fr);gap:4px}.place-tours .ticket-row-price{grid-area:auto}}.destination-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}@media (width<=520px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.offer-card.is-row{flex-direction:row}.offer-card.is-row .offer-media{aspect-ratio:auto;width:112px}.offer-card.is-row .offer-body{justify-content:center;padding:12px 16px}.offer-card.is-row .offer-price{color:var(--navy);font-weight:700}@media (width<=520px){.offer-card.is-row .offer-media{width:88px}}.title-button{color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.title-button:focus-visible{outline:none}.ticket-cta{z-index:1;border:1.5px solid var(--navy);min-height:40px;color:var(--navy);font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 12px 0 16px;font-weight:600;display:inline-flex;position:relative}.offer-card.is-ticket .ticket-cta{grid-area:5/2/7;align-self:center}.offer-card:hover .ticket-cta,.ticket-cta:hover,.ticket-cta:focus-visible{background:var(--navy);color:var(--white)}.ticket-cta:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.offer-card.is-tour.is-open .ticket-cta{background:var(--navy);color:var(--white)}.offer-card.is-tour.is-open .offer-price{color:var(--navy);font-weight:700}.offer-card.is-tour.is-none .offer-price{color:var(--text-2)}.ticket-nodates{border:1px solid var(--border);background:var(--bg);width:fit-content;color:var(--text-2);font-size:var(--fs-xs);border-radius:999px;margin-top:4px;padding:2px 8px;font-weight:600;line-height:1.4;display:block}
