/* Mobile refinement for Oct 25–30, 2026. All paid API integrations are unchanged.
   Desktop retains its original layout; these override only minor markup wrappers. */
.weather-wardrobe { display:block; }
.weather-wardrobe-full { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:14px; }
.mobile-weather-overview,.mobile-day-card,.notice-toggle { display:none; }
.ai-settings > summary,.gems-access-disclosure > summary,.ai-privacy-details > summary { display:none; }
.gems-access-disclosure .gems-access-row { margin-bottom:14px; }
.ai-privacy-details { margin-top:12px; }
.ai-privacy-details .ai-privacy { margin:0; }
@media(max-width:760px) {
  .weather-wardrobe-full {grid-template-columns:1fr;}
}

@media (max-width:680px) {
  html { scroll-padding-top:104px; }
  body { padding-bottom:calc(113px + env(safe-area-inset-bottom))!important; }
  button { touch-action:manipulation; }
  .page-shell { padding:8px 9px; }
  .hero {padding:16px 17px 17px;border-radius:20px;min-height:0;}
  .topbar {min-height:27px;}
  .hero-grid {padding:18px 0 0;gap:11px;min-height:0;}
  .hero .eyebrow {font-size:.6rem;letter-spacing:.12em;margin-bottom:8px;}
  .hero h1 {font-size:clamp(2rem,8.8vw,2.65rem);line-height:1.04;margin:0 0 11px;letter-spacing:-.035em;}
  .hero-copy {display:none;}
  .hero-actions {margin:11px 0 0;gap:7px;}
  .hero-actions .btn {padding:8px 11px;font-size:.74rem;min-height:36px;}
  .hero-actions #clearProgress {display:none;}
  .countdown-card {border-radius:11px;padding:9px 12px;display:flex;align-items:center;gap:10px;max-width:none;}
  .countdown-label {letter-spacing:.09em;font-size:.59rem;}
  .countdown {margin:0;font-size:1.18rem;white-space:nowrap;}
  .countdown-sub {display:none;}
  .stats-row {display:none;}
  main {padding:11px 0 0;}
  .notice {border-radius:13px;padding:10px 11px;gap:9px;box-shadow:none;align-items:flex-start;}
  .notice-icon {width:24px;height:24px;font-size:.72rem;}
  .notice strong {font-size:.8rem;}
  .notice p {display:none;font-size:.77rem;line-height:1.55;}
  .notice.notice-expanded p {display:block;}
  .notice-toggle {display:inline-flex;margin:3px 0 0;padding:0;border:0;background:transparent;color:var(--green);font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:2px;}
  .journey-companion {display:none;} /* The mobile next-stop card below is the faster replacement. */
  .controls {margin:11px 0 12px;padding:7px;position:sticky;top:calc(3px + env(safe-area-inset-top,0px));z-index:110;border-radius:16px;box-shadow:0 6px 22px rgba(17,30,28,.09);}
  .day-tabs {display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;padding:1px 2px 4px;touch-action:pan-x;}
  .day-tabs::-webkit-scrollbar,.filters::-webkit-scrollbar {display:none;}
  .day-tab {flex:0 0 84px;scroll-snap-align:center;border-radius:10px;min-height:44px;padding:6px 5px;transform:none!important;}
  .day-tab strong {font-size:.76rem;line-height:1.3;}
  .day-tab span {display:block;font-size:.62rem;line-height:1.25;}
  .filters {display:flex;gap:5px;margin-top:4px;padding-bottom:1px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
  .filters .filter {font-size:.67rem;min-height:29px;padding:5px 9px;}
  .mobile-day-card[hidden] {display:none!important;}
  .mobile-day-card {display:grid;gap:12px;padding:16px;margin-bottom:11px;border:1px solid #bddacb;border-radius:17px;background:linear-gradient(125deg,#e7f3ec,#f3faf4);color:#193e32;box-shadow:0 6px 16px rgba(15,61,44,.055);}
  .mobile-day-overline {font-size:.64rem;letter-spacing:.12em;font-weight:850;color:#42725d;margin:0 0 5px;}
  .mobile-day-card h2 {font:700 1.26rem/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin:0 0 5px;color:#143d31;}
  .mobile-day-card-main>p:last-child {font-size:.78rem;line-height:1.42;color:#496958;margin:0;}
  .mobile-day-card-actions {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .mobile-day-card-actions button {min-height:41px;border-radius:10px;font-size:.78rem;font-weight:800;border:1px solid #a8caba;padding:8px 7px;}
  .mobile-next-primary {color:#fff;background:#295b46;border-color:#295b46!important;}
  .mobile-next-secondary {color:#24533e;background:#fff;}
  .mobile-day-card-actions button:disabled {opacity:.45;}
  .day-summary {padding:8px 3px 10px;gap:8px;}
  .day-summary h2 {font-size:1.85rem;margin-bottom:5px;}
  .day-summary p {font-size:.82rem;line-height:1.45;}
  .day-meta {gap:5px;}
  .pill {font-size:.69rem;padding:5px 8px;}
  .weather-wardrobe {margin:0 0 15px;}
  .mobile-weather-overview {display:block;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:12px 13px;box-shadow:0 3px 14px rgba(18,28,20,.04);}
  .mobile-weather-heading {display:flex;gap:9px;align-items:center;}
  .mobile-weather-symbol {font-size:1.7rem;line-height:1;}
  .mobile-weather-heading strong {font-size:.88rem;line-height:1.3;color:var(--ink);}
  .mobile-weather-heading p {margin:2px 0 0;font-size:.74rem;color:var(--muted);}
  .mobile-outfit-preview {margin:8px 0 4px;color:var(--muted);font-size:.75rem;line-height:1.38;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
  .mobile-outfit-preview strong {color:var(--ink);}
  .mobile-weather-toggle {margin-top:3px;background:transparent;border:0;padding:4px 0;color:var(--green);font-size:.74rem;font-weight:850;}
  .weather-wardrobe-full {display:none;}
  .weather-wardrobe.is-expanded .weather-wardrobe-full {display:grid;grid-template-columns:1fr;gap:9px;margin-top:9px;}
  .weather-card,.wardrobe-card {padding:15px;border-radius:16px;}
  .weather-card .forecast-confidence,.wardrobe-card .forecast-confidence {font-size:.6rem;}
  .weather-top,.wardrobe-top {gap:8px;}
  .weather-temp {font-size:1.7rem;}
  .weather-stats {margin-top:10px;gap:5px;}
  .weather-stat {font-size:.67rem;}
  .weather-update {flex-wrap:wrap;gap:7px;}
  .timeline {margin-bottom:18px;}
  .event {margin-bottom:9px;}
  .event-card {border-radius:16px;padding:13px;}
  .event-card::before {top:20px;}
  .event-time {font-size:.74rem;padding-top:5px;}
  .event-top {gap:7px;}
  .event-title {gap:9px;}
  .event-icon {width:32px;height:32px;font-size:1rem;border-radius:10px;}
  .event h3 {font-size:.97rem;}
  .event-sub {font-size:.78rem;}
  .event-actions {gap:5px;}
  .tag-row {gap:5px;margin-top:9px;}
  .tag {font-size:.64rem;padding:4px 7px;}
  .event {scroll-margin-top:109px;}
  .event.mobile-spotlight .event-card {border-color:#60a786;box-shadow:0 0 0 3px rgba(91,166,128,.23);}
  .notes-panel {border-radius:18px;padding:16px;}
  .trip-card {min-height:0;}
  /* Essential tools remain fixed while leaving the itinerary more room. */
  .trip-toolbelt {position:fixed;left:7px;right:7px;width:auto;bottom:max(5px,env(safe-area-inset-bottom));border-radius:15px;padding:5px 6px 6px;box-shadow:0 6px 27px rgba(17,30,28,.24);z-index:1450;}
  .trip-tools-row {gap:5px;margin-bottom:5px;}
  .trip-tools-row button {min-height:43px;gap:1px;padding:4px 2px;font-size:.62rem;border-radius:9px;line-height:1.12;}
  .trip-tools-row button .tool-emoji {font-size:1.06rem;}
  .coach-wide-button {min-height:35px;font-size:.73rem;border-radius:9px;gap:6px;padding:4px 8px;}
  .coach-wide-button span {font-size:1.1rem;}
  /* Phone-friendly bottom sheets, results and conversation first. */
  .companion-backdrop,.gems-backdrop {align-items:flex-end;padding:0;}
  .companion-sheet,.gems-panel {height:min(93dvh,930px);max-height:93dvh;border-radius:19px 19px 0 0;padding:14px 14px calc(15px + env(safe-area-inset-bottom));}
  .companion-heading,.gems-header {position:relative;margin-bottom:9px;}
  .companion-heading h2,.gems-header h2 {font-size:1.43rem;line-height:1.09;margin:0;}
  .companion-heading .eyebrow,.gems-header .eyebrow {font-size:.61rem;margin-bottom:4px;}
  .companion-heading p:last-child,.gems-headline-copy {display:none;}
  .companion-close,.gems-close {width:36px;height:36px;font-size:1.3rem;}
  #aiModal .companion-sheet {display:flex;flex-direction:column;overflow:hidden;gap:0;}
  #aiModal .companion-heading {flex-shrink:0;}
  #aiModal .ai-presets {display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex-shrink:0;gap:6px;margin:0 0 8px;padding:2px 0 5px;}
  #aiModal .ai-presets button {flex:none;padding:7px 9px;font-size:.69rem;white-space:nowrap;}
  #aiModal .ai-thread {flex:1;min-height:100px;max-height:none;overflow-y:auto;margin:0 0 8px;padding:10px;gap:7px;border-radius:13px;}
  #aiModal .ai-bubble {padding:9px 10px;font-size:.79rem;}
  #aiModal .ai-form {flex:none;min-height:0;}
  #aiModal .ai-form>label {margin-bottom:3px;font-size:.68rem;}
  #aiModal .ai-form textarea {min-height:56px;max-height:90px;padding:9px 11px;font-size:16px;border-radius:10px;}
  #aiModal .ai-send {min-height:42px;margin-top:6px;padding:8px;}
  #aiModal .ai-status {margin:4px 0 0;font-size:.67rem;line-height:1.35;max-height:2.8em;overflow:auto;}
  .ai-settings,.gems-access-disclosure {background:var(--surface-2);border-radius:10px;margin:7px 0 0;}
  .ai-settings>summary,.gems-access-disclosure>summary,.ai-privacy-details>summary {display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:800;cursor:pointer;color:var(--ink);list-style:none;padding:9px 10px;min-height:34px;}
  .ai-settings>summary::-webkit-details-marker,.gems-access-disclosure>summary::-webkit-details-marker,.ai-privacy-details>summary::-webkit-details-marker {display:none;}
  .settings-chevron {color:var(--muted);font-size:.9rem;}
  .ai-settings[open] .settings-chevron,.gems-access-disclosure[open] .settings-chevron {transform:rotate(180deg);}
  #aiModal .ai-passcode-row {margin:0;padding:0 10px 10px;display:grid;grid-template-columns:1fr;gap:8px;}
  #aiModal .ai-passcode-row input {padding:8px 10px;font-size:16px;}
  #aiModal .ai-gps-actions button {min-height:35px;padding:7px 9px;}
  #aiModal .ai-location-status {margin-top:3px;}
  .ai-privacy-details {flex:none;margin:4px 0 0;color:var(--muted);}
  .ai-privacy-details>summary {font-size:.65rem;min-height:24px;padding:3px 1px;color:var(--muted);font-weight:600;}
  .ai-privacy-details[open] {max-height:90px;overflow-y:auto;}
  .ai-privacy-details .ai-privacy {margin:2px 0;font-size:.65rem;border:0;padding:0;}
  .gems-panel {overflow:auto;scroll-padding-top:4px;}
  .gems-header {position:sticky;top:-14px;z-index:3;background:var(--surface);padding:10px 0 8px;margin-top:-10px;border-bottom:1px solid var(--line);}
  .gems-location-box {border-radius:12px;padding:9px 10px;gap:6px;margin-bottom:8px;}
  .gems-location-row {display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:center;}
  .gems-current-location {font-size:.72rem;min-width:0;}
  .gems-geolocate,.gems-refresh {font-size:.67rem;padding:8px 6px;white-space:nowrap;min-height:34px;}
  .gems-stop-row {gap:4px;}
  .gems-stop-row .gems-control-label {font-size:.61rem;}
  .gems-select {padding:7px 9px;font-size:16px;min-height:36px;}
  .gems-access-disclosure {margin:0 0 8px;}
  .gems-access-row {margin:0!important;padding:0 9px 9px;border:0;background:transparent;}
  .gems-access-row label {font-size:.69rem;}
  .gems-access-row span {font-size:.63rem;}
  .gems-access-controls input {font-size:16px;}
  .gems-category-tabs {display:flex!important;overflow-x:auto!important;flex-wrap:nowrap;scrollbar-width:none;scroll-snap-type:x proximity;gap:6px;margin:0 0 7px;padding:3px 1px 7px;}
  .gems-category-tabs button {flex:none;min-height:36px;white-space:nowrap;padding:7px 10px;font-size:.73rem;scroll-snap-align:start;}
  .gems-sort-row {display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;}
  .gems-sort-controls {width:100%;display:flex;gap:8px;justify-content:space-between;flex-wrap:nowrap;}
  .gems-sort-controls .gems-select {max-width:145px;min-height:32px;font-size:.73rem;padding:6px;}
  .gems-chain-label {font-size:.73rem;}
  .gems-status {padding:5px 8px;margin:0 0 6px;font-size:.72rem;}
  .gems-provider {margin:0 0 9px;font-size:.68rem;}
  .gems-results {grid-template-columns:1fr;gap:8px;}
  .gems-place {padding:12px;border-radius:13px;}
  .gems-why {margin:7px 0;font-size:.76rem;}
  .gems-place-actions a {min-height:37px;display:inline-flex;align-items:center;font-size:.71rem;}
  .gems-footer {padding-bottom:6px;}
  .gems-footnote {font-size:.65rem;}
  .gems-access-disclosure:not([open]) .gems-access-row,
  .ai-settings:not([open]) .ai-passcode-row {display:none;}
}
@media(max-width:380px) {
  .day-tab {flex-basis:77px;}
  .mobile-day-card {padding:12px;}
  .gems-location-row {grid-template-columns:1fr auto;}
  .gems-current-location {grid-column:1/-1;}
}
@media(prefers-reduced-motion:reduce) { .mobile-day-card *,.trip-toolbelt * {transition:none!important;} }
@media print { .mobile-day-card,.mobile-weather-overview,.notice-toggle {display:none!important;} .weather-wardrobe-full {display:grid!important;} }
