/* Hallmark · component refinements · existing RoutePass palette and photographic/workbench structure */
#primary-menu a[aria-current=page]{color:var(--color-accent);box-shadow:inset 0 -2px var(--color-accent);font-weight:700}
.consent-banner{position:fixed;inset:0;margin:auto;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--color-rule);padding:32px;grid-template-columns:1fr;gap:20px;color:var(--color-ink)}.consent-banner:not([open]){display:none}.consent-banner::backdrop,#cookie-dialog::backdrop{background:var(--color-overlay-strong);backdrop-filter:blur(5px)}.consent-banner .consent-actions{justify-content:flex-end}.consent-banner .consent-actions button{flex:1}
body.catalog-page #plan-filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end!important;padding:12px 0 18px}body.catalog-page #plan-filters>label,body.catalog-page #plan-filters .sort-label{display:block;width:100%;padding:0;margin:0;max-width:none;font-size:12px}#plan-filters select{width:100%;min-height:44px;margin-top:6px;padding:10px 12px;font-size:14px;border-radius:8px}.country-view #plan-filters{display:grid!important}.scene-country{position:absolute;left:32px;bottom:30px;z-index:2;color:var(--color-on-photo);font-size:14px;max-width:45%}.package-sort select{min-height:44px}.rm-story-inline{font-size:15px!important;max-width:48ch}.rm-hero{margin-bottom:32px}
#compatibility{padding:28px!important;gap:24px!important;align-items:start}#compatibility h2{font-size:28px!important;max-width:290px}#compatibility .device-status{padding:16px;min-height:0}#device-form [hidden]{display:none!important}#device-form>.open-choices{margin-bottom:12px}
.route-auth{padding:28px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-card)}.route-auth h3{font-size:32px;margin:16px 0}.route-auth>p{font-size:16px;margin-bottom:24px}.route-auth form{display:grid;gap:16px}.route-auth label{display:block;font-size:14px}.route-auth input:not([type=checkbox]){width:100%;margin-top:6px}.route-auth .route-terms{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.route-terms input{width:20px;height:20px}.route-terms a{text-decoration:underline}.route-auth .text-link{margin-top:16px}.welcome-credit{font-size:18px;font-weight:700;color:var(--color-accent)}.route-recovery code{display:block;overflow-wrap:anywhere;margin:20px 0}.route-auth[hidden],.route-editor[hidden]{display:none!important}
.sim-morph{height:180px;position:relative;margin:24px 0;overflow:hidden}.sim-morph i{position:absolute;left:calc(50% - 30px);top:35px;width:60px;height:88px;border:2px solid var(--color-accent);background:var(--color-paper);border-radius:8px 20px 8px 8px;animation:sim-combine 6s var(--ease-in-out) infinite;--offset:-105px}.sim-morph i:after{content:'';position:absolute;inset:28px 13px 18px;border:1px solid var(--color-accent);border-radius:4px;background:repeating-linear-gradient(90deg,transparent 0 9px,var(--color-rule) 9px 10px)}.sim-morph i:nth-child(2){--offset:-35px}.sim-morph i:nth-child(3){--offset:35px}.sim-morph i:nth-child(4){--offset:105px}.sim-morph b{position:absolute;top:137px;width:100%;text-align:center;color:var(--color-accent);animation:sim-caption 6s var(--ease-in-out) infinite}@keyframes sim-combine{0%,20%,100%{transform:translateX(var(--offset)) rotate(-4deg)}50%,80%{transform:translateX(0) rotate(0)}}@keyframes sim-caption{0%,25%,100%{opacity:0}50%,80%{opacity:1}}
.embedded-planner{display:block!important;background:transparent!important;padding:0!important}.embedded-planner[hidden]{display:none!important}.route-frame{width:100%;height:1000px;border:0}.comparison-history{padding:24px 0;border-top:1px solid var(--color-rule)}.comparison-history article{padding:20px 0;border-bottom:1px solid var(--color-rule)}.comparison-history h3{font-size:18px}.comparison-history p{font-size:14px}.route-embedded body{min-height:0}.route-embedded header,.route-embedded footer,.route-embedded .rm-hero{display:none}.route-embedded .rm-page{width:100%;padding:0;margin:0;max-width:none}.route-embedded .rm-builder{margin:0;padding:12px}.route-embedded .route-workspace{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
@media(max-width:700px){body.catalog-page #plan-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.consent-banner{padding:24px}.scene-country{left:24px;bottom:78px}.route-auth{padding:20px}.route-auth h3{font-size:28px}.route-embedded .route-workspace{grid-template-columns:1fr}#compatibility{padding:20px!important}}
@media(prefers-reduced-motion:reduce){.sim-morph i{animation:none;transform:translateX(0)}.sim-morph b{animation:none;opacity:1}}
/* Stable tablet navigation and compact RouteMatch controls. */
.site-header{flex-wrap:nowrap}.site-header nav{flex-basis:auto}
@media(min-width:701px) and (max-width:1000px){
.site-header{position:relative;display:flex;gap:12px;min-height:76px;padding:12px 0}.site-header .brand{margin-right:auto}.site-header .account-link{margin:0;min-height:44px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid var(--color-rule);border-radius:8px;background:transparent}.menu-toggle span{display:block;width:20px;height:2px;background:var(--color-ink)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:12px;z-index:50}.site-header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:4px}.site-header nav a,.site-header nav button{width:100%;min-height:44px;padding:12px;text-align:left}.site-header .logout-placeholder{display:none}}
.route-embedded,.route-embedded body{height:auto;min-height:0;overflow-anchor:none}.route-embedded .rm-page{display:flow-root;min-height:0}.route-frame{display:block;overflow-anchor:none}.embedded-planner{overflow-anchor:none}
.route-editor .visual-stop.route-row{padding:12px;gap:8px;grid-template-columns:minmax(0,1fr) 44px;margin-top:10px}.route-editor .visual-stop-top{padding:0;align-items:center!important}.route-editor .country-label{display:none}.route-editor .visual-stop .remove-stop{margin:0;width:44px;height:44px;min-height:44px}.route-editor .visual-stop input,.route-editor .visual-stop select{height:44px;min-height:44px;padding:8px;width:100%;min-width:0;margin:0;font-size:14px}.route-editor .visual-stop-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.route-editor .visual-stop-fields>label,.route-editor .visual-stop-fields>label:first-child{grid-column:auto;font-size:12px;min-width:0;display:grid;gap:4px}.route-editor .visual-stop-fields>label:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.route-editor .visual-stop-fields>label:last-child select{width:55%}.route-editor .day-stepper{grid-template-columns:44px minmax(20px,1fr) 44px}.route-editor .day-stepper button{height:44px;min-height:44px;padding:0}.route-editor .stop-total{font-size:12px;line-height:1.4}.route-editor .route-suggestions{position:absolute;z-index:10;background:var(--color-paper);border:1px solid var(--color-rule);width:100%;margin-top:4px}.route-editor .route-suggestions button{min-height:44px}.route-editor .country-picker{position:relative}
.route-results .match-options{gap:10px}.route-results .match-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:14px;border-radius:12px}.route-results .match-card>small{display:none}.route-results .match-card h3{font-size:19px;line-height:1.2;margin:0;align-self:center}.route-results .match-price{font-size:24px;line-height:1.2;margin:0;text-align:right}.route-results .match-card>b,.route-results .match-summary{grid-column:1/-1;font-size:12px;line-height:1.4;margin:0}.route-results .match-card>.button{min-height:44px;width:auto;margin:4px 0 0;padding:8px 10px;font-size:12px}.route-results .match-details{background:transparent;color:var(--color-ink);border:1px solid var(--color-rule)}.route-results .match-details:hover{background:var(--color-panel);color:var(--color-ink)}.route-results .result-message{padding:12px;margin-bottom:12px}.route-results .match-options>.planner-note{font-size:12px;margin:4px 0}
#match-details-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--color-rule);border-radius:16px;background:var(--color-paper);color:var(--color-ink)}#match-details-dialog::backdrop{background:var(--color-overlay-strong)}#match-details-dialog h2{font-size:24px}#match-details-dialog ul{padding-left:20px;line-height:1.6;font-size:14px}#match-details-dialog li{margin:12px 0}#match-details-dialog .planner-note{font-size:13px}
#device-form>.button.aqua{background:var(--color-ink);color:var(--color-on-photo);transform:none;box-shadow:none}#device-form>.button.aqua:hover{background:var(--color-accent);color:var(--color-on-photo);transform:none;box-shadow:none}
@media(max-width:700px){.route-editor .visual-stop input,.route-editor .visual-stop select{font-size:16px}.route-results .match-card h3{font-size:18px}}
.route-editor .visual-stop-fields>label:last-child{flex-direction:row;text-align:left}.route-editor .day-stepper button{width:44px}.route-editor .country-label{display:block;font-size:11px;line-height:1;margin-bottom:4px}.monthly-allowance{font-size:12px!important;margin-top:12px}.route-editor .visual-stop-top .stop-number{align-self:center}
.scroll-reveal{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.65,.3,1)}.scroll-reveal.reveal-pending{opacity:0;transform:translateY(18px)}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.reveal-pending{opacity:1;transform:none;transition:none}}
@media print{.scroll-reveal.reveal-pending{opacity:1;transform:none}}

.wallet-history{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-rule)}.wallet-entry{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0;border-bottom:1px solid var(--color-rule)}.wallet-entry small{grid-column:1/-1;color:var(--color-muted)}#export-form{display:grid;gap:16px}#export-form p{font-size:14px}#export-form input{display:block;width:100%;margin-top:6px}
