/* AOROUTE discovery: tactile photo cards, saved places, then a plan. */
.is-discovering .content{max-width:1160px;padding-top:12px;padding-bottom:32px}.is-discovering .main{overflow-x:clip}.travel-discovery{--swipe-blue:#2869ee;--swipe-pink:#f07292;--swipe-ink:#172d48;color:var(--swipe-ink)}.discovery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 26px}.discovery-eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;color:#7291ad;margin:0 0 8px}.discovery-heading h1{font-size:clamp(23px,2.5vw,32px);font-weight:750;letter-spacing:-.055em;line-height:1.45;margin:0;text-wrap:balance}.discovery-destination{display:flex;align-items:center;gap:10px;border:1px solid #e2eaf3;padding:11px 16px;border-radius:18px;background:#ffffffc9;flex-shrink:0}.travel-discovery svg{width:22px;height:22px;flex-shrink:0}.discovery-destination>svg{color:#3274e8}.discovery-destination>span{display:grid;gap:3px}.discovery-destination strong{font-size:14px;line-height:1.35;max-width:180px;overflow-wrap:anywhere}.discovery-destination small{font-size:11px;color:#8a9aad}.discovery-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:38px}.swipe-workspace{width:100%;max-width:580px;min-width:0;margin:0 auto}.swipe-view-tabs{display:flex;gap:5px;background:#eaf0f7;border:1px solid #e4eaf3;border-radius:18px;padding:5px;margin:0 auto 16px;max-width:420px}.swipe-view-tabs button{border:0;background:none;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border-radius:13px;color:#7a8a9d;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.swipe-view-tabs button.selected{background:white;color:#2869ee;box-shadow:0 3px 10px #273f6710}.swipe-view-tabs svg{width:17px;height:17px}.swipe-view-tabs button>span{min-width:22px;height:22px;display:grid;place-content:center;border-radius:8px;background:#f0f4fc;color:#53709c;font-size:11px}.swipe-progress{display:flex;align-items:center;gap:12px;max-width:410px;margin:0 auto 15px;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.swipe-progress>span>small{font-size:11px;color:#a5b3c1}.swipe-progress>div{height:3px;flex:1;background:#e0e8f1;border-radius:3px;overflow:hidden}.swipe-progress i{display:block;height:100%;background:linear-gradient(90deg,#76c6f6,#3775ed);border-radius:3px;transition:width .25s}.swipe-progress>small{font-size:10px;color:#a3b0bd;font-weight:500;white-space:nowrap}.swipe-deck{position:relative;isolation:isolate;max-width:420px;height:520px;margin:0 auto 19px}.swipe-back-card{position:absolute;inset:8px 12px -5px;border:1px solid #dae4ef;border-radius:29px;background:#e8f0fa;box-shadow:0 8px 26px #324e7210;pointer-events:none}.back-two{transform:translateY(9px) rotate(3.2deg) scale(.95);background:#e1ecfb}.back-one{transform:translateY(5px) rotate(-2.3deg) scale(.98);background:#f9fbff}.travel-swipe-card{position:relative;width:100%;height:100%;border-radius:28px;overflow:hidden;background:linear-gradient(140deg,#cce8fa,#647ec6);box-shadow:0 20px 48px -20px #243e7080;touch-action:pan-y;cursor:grab;transform:translateX(var(--swipe-x,0px)) rotate(var(--swipe-angle,0deg));transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s;user-select:none;-webkit-user-select:none;outline-offset:5px!important;will-change:transform}.travel-swipe-card.is-dragging{cursor:grabbing;transition:none}.travel-swipe-card.is-leaving{opacity:0;transition:transform .24s cubic-bezier(.4,0,.8,.6),opacity .25s}.swipe-visual{position:absolute;inset:0;background:linear-gradient(140deg,#b4dff4,#94b9dc,#7c8cce);overflow:hidden}.swipe-visual>img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}.swipe-image-loading{display:grid;place-content:center;height:100%}.swipe-image-loading>span{display:grid;place-content:center;width:64px;height:64px;border-radius:50%;background:#ffffff25;color:#ffffffb3;animation:swipe-photo-pulse 1.7s ease-in-out infinite}.swipe-image-loading svg{width:28px;height:28px}.swipe-visual.is-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#fff}.swipe-visual.is-unavailable>span{padding:19px;border:1px solid #ffffff44;border-radius:50%;background:#ffffff12}.swipe-visual.is-unavailable small{font-size:12px;color:#ffffffcc}.swipe-card-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#07172e12 0%,transparent 25%,#06162c15 38%,#06152b88 70%,#05142dee 100%)}.swipe-card-top{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.swipe-category,.swipe-duration{display:inline-flex;align-items:center;gap:5px;color:white;border:1px solid #ffffff50;background:#0b20373d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:11px;font-weight:650;border-radius:11px;padding:7px 10px;white-space:nowrap}.swipe-duration svg{width:13px;height:13px}.swipe-card-copy{position:absolute;bottom:28px;left:25px;right:25px;color:white;pointer-events:none}.swipe-card-copy>span{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#ffffffbd;margin-bottom:9px}.swipe-card-copy>span svg{width:12px;height:12px}.swipe-card-copy h2{font-size:clamp(26px,2.6vw,35px);font-weight:750;line-height:1.25;letter-spacing:-.035em;margin:0 0 12px;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 2px 12px #0002}.swipe-card-copy p{color:#ffffffd1;font-size:13px;font-weight:400;line-height:1.8;margin:0 0 11px;max-width:34em}.swipe-place-link{font-size:10px!important;font-weight:600;color:#ffffffe0!important;text-decoration:none!important;border-bottom:1px solid #ffffff55;padding-bottom:3px;pointer-events:auto;min-height:32px;display:inline-flex;align-items:center;touch-action:manipulation}.swipe-photo-credit{position:absolute;top:64px;right:20px;max-width:70%;padding:3px 6px;border-radius:6px;color:#ffffffe0!important;background:#13223948;font-size:8px;text-decoration:none!important;z-index:2;pointer-events:auto;min-height:24px;display:flex;align-items:center}.swipe-stamp{position:absolute;top:100px;padding:7px 12px;border:3px solid currentColor;font-size:29px;font-weight:900;letter-spacing:.03em;border-radius:9px;pointer-events:none;z-index:4;background:#ffffff14;backdrop-filter:blur(3px)}.stamp-like{left:25px;color:#8bffe3;transform:rotate(-15deg);opacity:var(--like-opacity,0)}.stamp-pass{right:25px;color:#ffb0bf;transform:rotate(15deg);opacity:var(--pass-opacity,0);font-size:24px}.swipe-decisions{display:grid;grid-template-columns:54px 76px 84px;align-items:center;justify-content:center;gap:23px}.swipe-circle{display:grid;place-items:center;border-radius:50%;padding:0;background:white;border:1px solid #e5eaf1;box-shadow:0 6px 22px #183e6c0c;cursor:pointer;transition:transform .18s,box-shadow .18s;-webkit-tap-highlight-color:transparent}.swipe-circle:hover:not(:disabled){transform:translateY(-3px) scale(1.05);box-shadow:0 10px 28px #183e6c1b}.swipe-circle:active:not(:disabled){transform:scale(.94)}.swipe-undo{width:50px;height:50px;color:#d6a45d}.swipe-undo svg{width:23px;height:23px}.swipe-pass{width:70px;height:70px;color:#e9839d}.swipe-pass svg{width:31px;height:31px;stroke-width:2.4}.swipe-love{width:80px;height:80px;border:0;color:white;background:linear-gradient(135deg,#61b5ff,#397af2 57%,#5a61e9);box-shadow:0 8px 26px #4086f34d}.swipe-love svg{width:32px;height:32px;fill:currentColor;stroke-width:1.6}.swipe-circle:disabled{opacity:.35;cursor:default}.swipe-action-labels{display:grid;grid-template-columns:54px 76px 84px;justify-content:center;gap:23px;font-size:10px;color:#9cabb9;text-align:center;margin-top:7px}.swipe-keyboard-hint{text-align:center;font-size:10px;color:#b4bec8;margin:14px 0 8px}.swipe-review-link{display:flex;gap:9px;align-items:center;justify-content:center;min-height:44px;font:inherit;font-size:11px;font-weight:650;color:#7186a0;background:transparent;border:0;cursor:pointer;margin:0 auto}.swipe-review-link>span{display:grid;place-content:center;width:20px;height:20px;background:#eaf0fa;border-radius:7px;color:#2869ee}.swipe-review-link svg{width:14px;height:14px}.swipe-collection{border:1px solid #e5ecf5;border-radius:26px;background:linear-gradient(150deg,#fff,#f9fbff);padding:23px;margin-top:4px;box-shadow:0 6px 30px #48679904}.collection-title{display:flex;align-items:center;gap:11px}.collection-title>span{width:39px;height:39px;border-radius:14px;color:#7c9ae8;background:#edf2ff;display:grid;place-items:center}.collection-title>div{min-width:0}.collection-title p{font-size:8px;letter-spacing:.06em;color:#9aa9bb;margin:0 0 5px}.collection-title h2{font-size:16px;margin:0;font-weight:700}.collection-title b{font-size:12px;color:#6881ab;margin-left:5px}.collection-empty{text-align:center;padding:26px 4px 22px}.collection-illustration{height:114px;position:relative;display:grid;place-content:center;margin:0 auto 5px;width:140px}.collection-illustration:before,.collection-illustration:after{content:'';position:absolute;width:63px;height:78px;background:linear-gradient(135deg,#e0efff,#f6f9ff);border-radius:16px;border:1px solid #d9e7f8;box-shadow:0 5px 14px #5476a30c;left:21px;top:19px;transform:rotate(-16deg)}.collection-illustration:after{left:54px;transform:rotate(12deg);background:linear-gradient(145deg,#e4e8ff,#f0f6ff)}.collection-illustration>svg{position:relative;z-index:1;width:30px;height:30px;color:#8eade9;fill:#a9c2f544}.collection-illustration>span{position:absolute;right:5px;top:13px;color:#9eb7dd;font-size:19px}.collection-empty h3{font-size:14px;font-weight:650;margin:0 0 9px}.collection-empty p{font-size:11px;line-height:1.9;color:#93a2b5;margin:0 auto;max-width:21em}.collection-build{border:0;border-radius:14px;min-height:48px;background:#2f72ef;color:white;display:flex;justify-content:center;align-items:center;gap:10px;width:100%;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.collection-build svg{width:17px;height:17px}.collection-build:disabled{background:#eef2f8;color:#a0aec0;cursor:default}.collection-note{display:flex;align-items:center;justify-content:center;gap:4px;font-size:9px;color:#9cabc0;line-height:1.6;margin:12px 0 19px}.collection-note svg{width:11px;height:11px}.discovery-existing-plan{border:0;background:none;color:#889bb2;border-top:1px solid #edf0f6;min-height:44px;padding:18px 0 0;display:block;width:100%;font:inherit;font-size:10px;cursor:pointer}.collection-list{display:grid;gap:10px;margin:23px 0 20px}.collection-item{width:100%;border:1px solid #edf1f6;background:white;border-radius:16px;padding:6px;display:flex;align-items:center;gap:10px;font:inherit;text-align:left;cursor:pointer}.swipe-visual.is-thumbnail{position:relative;flex-shrink:0;width:53px;height:60px;border-radius:11px}.collection-item>span{min-width:0;flex:1;display:grid;gap:5px}.collection-item strong{font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-item small{font-size:8px;color:#a0abba}.collection-item>svg{width:13px;height:13px;fill:#8daaf2;color:#8daaf2;margin-right:5px}.is-thumbnail .swipe-image-loading>span{width:30px;height:30px}.is-thumbnail .swipe-image-loading svg{width:15px;height:15px}.is-thumbnail.is-unavailable small{display:none}.is-thumbnail.is-unavailable>span{padding:5px;border:0}.thumbnail-credit{position:absolute;right:2px;bottom:2px;color:white!important;text-shadow:0 1px 3px #123b;font-size:9px;z-index:1;text-decoration:none}.swipe-review{max-width:580px;margin:0 auto}.swipe-review-heading{text-align:center;padding:20px 14px 23px}.review-heart{display:grid;place-content:center;margin:0 auto 16px;width:52px;height:52px;color:#5b90ef;background:linear-gradient(145deg,#e8f4ff,#edf0ff);border-radius:19px;transform:rotate(-8deg)}.review-heart svg{fill:#aacbf35c}.swipe-review-heading h2{font-size:23px;letter-spacing:-.035em;line-height:1.6;margin:0 0 9px;text-wrap:balance}.swipe-review-heading p{font-size:12px;color:#8a9cb0;line-height:1.9;max-width:30em;margin:auto}.swipe-saved-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.saved-place-card{position:relative;overflow:hidden;border:1px solid #e1e9f3;border-radius:20px;background:white;min-width:0;box-shadow:0 6px 22px #31547c07}.saved-place-card>.swipe-visual{height:155px;width:100%;border-radius:0}.saved-place-card>div:not(.swipe-visual){padding:15px}.saved-place-card>div>span{font-size:9px;color:#7494b1}.saved-place-card h3{font-size:15px;line-height:1.5;margin:6px 0;overflow-wrap:anywhere}.saved-place-card p{font-size:10px;line-height:1.8;color:#8b9bb0;margin:0}.swipe-remove{position:absolute;right:9px;top:9px;border:1px solid #ffffff9a;border-radius:50%;background:#ffffffed;box-shadow:0 3px 12px #16417f13;width:36px;height:36px;display:grid;place-content:center;color:#6b96ee;cursor:pointer}.swipe-remove svg{width:17px;height:17px;fill:currentColor}.review-bottom-actions{display:grid;gap:13px;justify-items:center;padding:25px 0}.build-selected{min-height:52px;display:flex;align-items:center;gap:18px;font-size:13px!important;border-radius:17px!important;max-width:100%;white-space:normal!important}.build-selected:disabled{opacity:.45;cursor:default}.build-selected svg{width:18px;height:18px}.swipe-feedback{height:1px;width:1px;position:absolute;overflow:hidden;clip-path:inset(50%)}.travel-discovery button:focus-visible,.travel-swipe-card:focus-visible{outline:3px solid #2d6ee8;outline-offset:4px}.is-discovering .mobile-nav{z-index:20}@keyframes swipe-photo-pulse{50%{opacity:.45;transform:scale(.92)}}
@media(min-width:1440px){.discovery-layout{gap:70px}.swipe-deck{height:570px;max-width:440px}.swipe-workspace{max-width:600px}.swipe-collection{margin-top:30px}}
@media(max-width:1100px) and (min-width:761px){.discovery-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px}.swipe-collection{padding:17px}.discovery-heading h1{font-size:25px}.swipe-deck{height:480px}.discovery-destination{padding:9px 12px}.collection-title h2{font-size:14px}}
@media(max-width:760px){.is-discovering .content{padding:2px 18px 20px}.discovery-heading{margin:2px 0 16px;gap:10px;align-items:center}.discovery-eyebrow{font-size:9px;letter-spacing:.05em;margin:0 0 5px}.discovery-heading h1{font-size:21px;line-height:1.55;max-width:12.5em}.discovery-destination{padding:9px 10px;gap:6px;border-radius:13px;max-width:130px}.discovery-destination>svg{width:15px;height:15px}.discovery-destination strong{font-size:12px;max-width:90px}.discovery-destination small{font-size:8px}.discovery-layout{display:block}.swipe-collection{display:none}.swipe-view-tabs{margin-bottom:11px;padding:4px;border-radius:15px}.swipe-view-tabs button{min-height:37px;font-size:11px;border-radius:11px}.swipe-view-tabs svg{width:15px;height:15px}.swipe-view-tabs button>span{width:19px;height:19px;min-width:19px;font-size:9px}.swipe-progress{margin-bottom:10px;font-size:12px;padding:0 5px;gap:10px}.swipe-progress>small{font-size:8px}.swipe-deck{height:clamp(325px,calc(100svh - 410px),510px);max-width:410px;margin-bottom:15px}.travel-swipe-card{border-radius:24px}.swipe-card-top{top:16px;left:17px;right:17px}.swipe-category,.swipe-duration{padding:6px 8px;font-size:10px;border-radius:10px}.swipe-card-copy{bottom:20px;left:21px;right:21px}.swipe-card-copy h2{font-size:29px;margin-bottom:10px}.swipe-card-copy p{font-size:11px;line-height:1.8;margin-bottom:7px;max-width:28em}.swipe-card-copy>span{font-size:9px;margin-bottom:7px}.swipe-place-link{font-size:9px!important;min-height:28px}.swipe-photo-credit{top:55px;right:17px;font-size:7px}.swipe-decisions{grid-template-columns:46px 65px 76px;gap:23px}.swipe-undo{height:44px;width:44px}.swipe-pass{height:62px;width:62px}.swipe-love{height:74px;width:74px}.swipe-action-labels{grid-template-columns:46px 65px 76px;gap:23px;margin-top:5px;font-size:8px}.swipe-keyboard-hint{display:none}.swipe-review-link{margin-top:5px;min-height:34px;font-size:10px}.swipe-stamp{top:80px;font-size:25px}.stamp-pass{font-size:21px}.swipe-review-heading{padding-top:17px}.swipe-review-heading h2{font-size:23px}.swipe-saved-grid{gap:11px}.saved-place-card>.swipe-visual{height:145px}.saved-place-card>div:not(.swipe-visual){padding:12px}.saved-place-card h3{font-size:13px}.swipe-review-heading p{font-size:11px}.is-discovering .mobile-nav button{min-width:0;padding-inline:3px;font-size:9px}.is-discovering .mobile-nav button svg{width:20px;height:20px}}
@media(max-width:370px){.is-discovering .content{padding-inline:14px}.discovery-heading h1{font-size:19px}.discovery-destination{max-width:112px}.swipe-card-copy h2{font-size:26px}.swipe-saved-grid{grid-template-columns:1fr}.saved-place-card>.swipe-visual{height:190px}}
@media(prefers-reduced-motion:reduce){.travel-swipe-card,.swipe-circle,.swipe-progress i{transition:none!important}.swipe-image-loading>span{animation:none}}
/* Keep the complete swipe action within a typical laptop window. */
@media(min-width:761px){.is-discovering .topbar{height:60px}.discovery-heading{margin:0 0 16px}.discovery-eyebrow{margin-bottom:5px;line-height:1.3}.discovery-heading h1{font-size:26px;line-height:1.35}.swipe-view-tabs{padding:4px;margin-bottom:12px}.swipe-view-tabs button{min-height:38px}.swipe-progress{margin-bottom:10px}.swipe-deck{height:clamp(290px,calc(100svh - 340px),570px);margin-bottom:12px}.swipe-decisions{grid-template-columns:46px 66px 76px}.swipe-undo{height:44px;width:44px}.swipe-pass{height:64px;width:64px}.swipe-love{height:72px;width:72px}.swipe-action-labels{grid-template-columns:46px 66px 76px;margin-top:5px;font-size:9px}.swipe-keyboard-hint{display:none}.swipe-review-link{min-height:30px;margin-top:2px}.swipe-card-copy h2{font-size:30px}.swipe-card-copy p{font-size:12px}.swipe-collection{margin-top:4px}}@media(min-width:761px) and (max-height:780px){.swipe-deck{max-width:365px}.swipe-view-tabs,.swipe-progress{max-width:365px}.swipe-card-copy{bottom:21px;left:22px;right:22px}.swipe-card-copy h2{font-size:27px}.swipe-card-copy p{font-size:11px;line-height:1.65}.swipe-card-copy>span{margin-bottom:5px}.swipe-photo-credit{top:58px}.swipe-card-top{top:16px;left:17px;right:17px}.swipe-category,.swipe-duration{font-size:10px;padding:6px 8px}}
@media(min-width:761px){.swipe-deck{height:clamp(290px,calc(100svh - 380px),570px)}}
.collection-title p,.collection-empty p,.collection-note,.discovery-destination small,.discovery-existing-plan,.swipe-progress>small,.swipe-action-labels,.swipe-keyboard-hint,.saved-place-card p,.swipe-review-heading p{color:#667b92}
@media(max-width:760px){.is-discovering .content{padding-bottom:100px}.discovery-heading{margin:4px 0 13px;min-height:22px}.discovery-heading>div:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.discovery-destination{padding:0;border:0;background:transparent;border-radius:0;max-width:100%;gap:6px}.discovery-destination>span{display:flex;gap:9px;align-items:baseline}.discovery-destination strong{font-size:13px;max-width:190px}.discovery-destination small{font-size:10px}.discovery-destination>svg{width:14px;height:14px}.swipe-deck{height:clamp(240px,calc(100svh - 440px),510px)}}
.collection-open{display:grid;gap:5px;flex:1;min-width:0;min-height:44px;padding:4px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.collection-open strong{font-size:11px}.collection-open small{font-size:9px;color:#667b92}
.swipe-card-copy p,.saved-place-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.swipe-source-link{margin-left:14px}

/* A place can have several verified photos; changing photos never records a swipe. */
.swipe-gallery-control{position:absolute;z-index:5;top:97px;right:17px;display:flex;gap:12px;align-items:center;justify-content:center;min-height:44px;min-width:72px;border:1px solid #ffffff70;border-radius:22px;background:#13294188;backdrop-filter:blur(14px);color:#fff;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}.swipe-gallery-control>span:last-child{font-size:24px;line-height:1}.swipe-photo-credit{max-width:calc(100% - 34px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:5}.swipe-visual>img{object-position:center 42%}

.swipe-photo-preparation{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #dce7f4;border-radius:28px;background:linear-gradient(145deg,#e4f5ff,#eef0ff);padding:24px;color:#41649a}.swipe-photo-preparation>span{width:64px;height:64px;border-radius:50%;padding:16px;background:#fff9;animation:swipe-photo-pulse 1.8s ease-in-out infinite}.swipe-photo-preparation svg{width:100%;height:100%}.swipe-photo-preparation h2{font-size:19px;line-height:1.6;margin:24px 0 8px}.swipe-photo-preparation p{font-size:12px;line-height:1.9;max-width:23em}.google-photo-attribution{position:absolute;right:12px;top:58px;z-index:5;display:flex;gap:8px;max-width:calc(100% - 24px);flex-wrap:wrap;background:#fff;padding:8px 10px;border-radius:8px;font:400 12px/1.4 sans-serif;color:#1f1f1f;pointer-events:auto}.google-photo-attribution a{color:#1f1f1f!important;white-space:nowrap}.is-thumbnail .google-photo-attribution{top:auto;bottom:0;right:0;padding:2px;font-size:12px}.swipe-visual[hidden]{display:none!important}

.photo-service-links{display:flex;justify-content:center;gap:18px;margin:16px 0;font-size:10px;color:#60758b}.photo-service-links a{color:inherit}.itinerary-photo{position:relative}
