/* Mein Moment · Inneres Wetter. Eight weather states with quiet landscape photography. */
.moment-weather-home{margin:0 0 26px}
.moment-weather-home-card{position:relative;display:block;width:100%;min-height:148px;padding:0;overflow:hidden;border:1px solid var(--mm-line);border-radius:var(--mm-radius);background:#263f3b;color:#fffdf7;text-align:left;box-shadow:0 8px 24px #25332d12}
.moment-weather-home-media,.moment-weather-home-shade{position:absolute;inset:0}
.moment-weather-home-media img{width:100%;height:100%;object-fit:cover;object-position:center 49%}
.moment-weather-home-shade{background:linear-gradient(90deg,rgba(17,43,40,.92) 0%,rgba(17,43,40,.80) 55%,rgba(17,43,40,.72) 100%)}
.moment-weather-home-content{position:relative;z-index:1;display:flex;min-height:148px;max-width:620px;padding:22px 28px;flex-direction:column;align-items:flex-start;justify-content:center}
.moment-weather-home-kicker{font-size:10px;line-height:1.4;letter-spacing:1.7px;text-transform:uppercase;color:#eee5d6}
.moment-weather-home-content strong{margin-top:7px;font-family:var(--mm-serif);font-size:clamp(28px,4vw,34px);line-height:1.1;font-weight:400;letter-spacing:-.7px}
.moment-weather-home-content>span:nth-child(3){margin-top:8px;font-size:14px;line-height:1.55;color:#f3eee4}
.moment-weather-home-action{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-top:13px;font-size:13px;font-weight:700;color:#fff7e7}
.moment-weather-home-action svg{width:17px;height:17px}
.moment-weather-home-card:hover .moment-weather-home-action{text-decoration:underline;text-underline-offset:4px}

/* 1.0.447: the last local choice, with movement confined to the landscape. */
.moment-weather-home{position:relative}
.moment-weather-home-card{isolation:isolate;--weather-cloud-opacity:.13;--weather-light-opacity:.16}
.moment-weather-home-media{z-index:0}
.moment-weather-home-shade{z-index:2}
.moment-weather-home-content{z-index:3}
.moment-weather-home-kicker{padding-inline-end:0}
#moment-weather-home-last-time{display:inline-block;white-space:nowrap;font-size:12px;color:#eee5d6}
.moment-weather-atmosphere{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.moment-weather-atmosphere>span{position:absolute;inset:-12%;pointer-events:none;animation-play-state:paused!important}
.moment-weather-cloud{background:radial-gradient(ellipse at 63% 30%,#f1f2edb3,transparent 53%),radial-gradient(ellipse at 27% 66%,#e0e6e180,transparent 49%);opacity:.035;animation:moment-weather-cloud-drift 32s ease-in-out infinite}
.moment-weather-light{background:radial-gradient(ellipse at 76% 40%,#ffdfa8cf,transparent 60%);opacity:.035;animation:moment-weather-light-shift 30s ease-in-out infinite}
.moment-weather-rain{display:none;background-image:radial-gradient(ellipse 1px 5px at 20% 25%,#eaf3f1bd 30%,transparent 85%),radial-gradient(ellipse 1px 4px at 75% 65%,#eaf3f1b3 30%,transparent 85%);background-size:63px 87px,89px 113px;opacity:0;animation:moment-weather-rain-fall 28s linear infinite}
.moment-weather-home-card[data-weather-motion="running"] .moment-weather-atmosphere>span{animation-play-state:running!important;will-change:transform,opacity}
.moment-weather-home-card[data-weather-id="nebel"]{--weather-cloud-opacity:.21;--weather-light-opacity:.035}
.moment-weather-home-card[data-weather-id="nebel"] .moment-weather-cloud{background:radial-gradient(ellipse at 50% 65%,#e4ebe3d9,transparent 62%),radial-gradient(ellipse at 77% 31%,#f0eee9b3,transparent 58%);animation-duration:35s}
.moment-weather-home-card[data-weather-id="druckwetter"],.moment-weather-home-card[data-weather-id="gewitter"]{--weather-cloud-opacity:.17;--weather-light-opacity:0}
.moment-weather-home-card[data-weather-id="druckwetter"] .moment-weather-cloud,.moment-weather-home-card[data-weather-id="gewitter"] .moment-weather-cloud{background:radial-gradient(ellipse at 70% 26%,#1c303acf,transparent 66%),radial-gradient(ellipse at 20% 55%,#30424ba6,transparent 62%);animation-duration:35s}
.moment-weather-home-card[data-weather-id="druckwetter"] .moment-weather-light,.moment-weather-home-card[data-weather-id="gewitter"] .moment-weather-light{display:none}
.moment-weather-home-card[data-weather-id="windwechsel"]{--weather-cloud-opacity:.11;--weather-light-opacity:.07}
.moment-weather-home-card[data-weather-id="windwechsel"] .moment-weather-cloud{background:radial-gradient(ellipse at 20% 42%,#e2d9bf9e,transparent 47%),radial-gradient(ellipse at 77% 62%,#ecdfc594,transparent 50%);animation-name:moment-weather-wind-drift;animation-duration:29s}
.moment-weather-home-card[data-weather-id="sonnig-weit"]{--weather-light-opacity:.19}
.moment-weather-home-card[data-weather-id="sonnig-weit"] .moment-weather-cloud,.moment-weather-home-card[data-weather-id="frost"] .moment-weather-cloud{display:none}
.moment-weather-home-card[data-weather-id="dauerregen"]{--weather-cloud-opacity:.075;--weather-light-opacity:0}
.moment-weather-home-card[data-weather-id="dauerregen"] .moment-weather-light{display:none}
.moment-weather-home-card[data-weather-id="dauerregen"] .moment-weather-rain{display:block}
.moment-weather-home-card[data-weather-id="frost"]{--weather-light-opacity:.10}
.moment-weather-home-card[data-weather-id="frost"] .moment-weather-light{background:radial-gradient(ellipse at 68% 38%,#d8eef2c2,transparent 68%);animation-duration:35s}
.moment-weather-forget{min-height:44px;margin-top:0;padding-inline:0;font-size:12px;color:var(--mm-muted)}
@keyframes moment-weather-cloud-drift{0%,100%{transform:translate3d(-2%,1%,0);opacity:.035}50%{transform:translate3d(2%,-1%,0);opacity:var(--weather-cloud-opacity)}}
@keyframes moment-weather-wind-drift{0%,100%{transform:translate3d(-4%,1%,0);opacity:.025}50%{transform:translate3d(4%,-1%,0);opacity:var(--weather-cloud-opacity)}}
@keyframes moment-weather-light-shift{0%,100%{transform:translate3d(-1%,0,0);opacity:.025}50%{transform:translate3d(1%,1%,0);opacity:var(--weather-light-opacity)}}
@keyframes moment-weather-rain-fall{0%{transform:translate3d(-5px,-16px,0);opacity:0}20%,80%{opacity:.17}100%{transform:translate3d(5px,20px,0);opacity:0}}
@media(prefers-reduced-motion:reduce){.moment-weather-atmosphere{display:none!important}.moment-weather-atmosphere>span{animation:none!important;will-change:auto!important}}

.moment-weather-dialog{width:min(760px,calc(100vw - 26px));max-width:760px;padding:26px;overflow-x:hidden}
.moment-weather-panel h3{font-family:var(--mm-serif);font-size:30px;line-height:1.18;font-weight:400;letter-spacing:-.5px}
.moment-weather-eyebrow{margin-bottom:8px!important;font-size:10px;line-height:1.4;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:var(--mm-muted)}
.moment-weather-intro{max-width:42em;margin-top:9px!important;font-size:14px;line-height:1.6;color:var(--mm-muted)}
.moment-weather-select-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:13px}.moment-weather-privacy{margin:0!important;font-size:12px;line-height:1.5;color:var(--mm-muted)}.moment-weather-select-footer .moment-text-button{min-height:44px}

.moment-weather-options{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,40%);gap:14px;margin:20px -2px 2px;padding:2px 2px 12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin}
.moment-weather-option{scroll-snap-align:start;display:grid;grid-template-rows:150px auto;min-width:0;padding:0;overflow:hidden;border:1px solid var(--mm-line);border-radius:17px;background:var(--mm-surface);color:var(--mm-ink);text-align:left;box-shadow:0 3px 12px #2d302b0a}
.moment-weather-option-media{display:block;overflow:hidden;background:var(--mm-tint)}
.moment-weather-option-media img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.moment-weather-option-copy{display:block;padding:14px 15px 16px}
.moment-weather-option-copy strong{display:block;font-family:var(--mm-serif);font-size:22px;line-height:1.2;font-weight:400}
.moment-weather-option-copy span{display:block;margin-top:5px;font-size:13px;line-height:1.45;color:var(--mm-muted)}
@media(hover:hover){.moment-weather-option:hover .moment-weather-option-media img{transform:scale(1.025)}.moment-weather-option:hover{border-color:#cfbea5}}

.moment-weather-back{justify-content:flex-start;margin:-4px 0 10px}
.moment-weather-result-card{overflow:hidden;border:1px solid var(--mm-line);border-radius:20px;background:var(--mm-surface)}
.moment-weather-result-media{height:250px;background:var(--mm-tint);overflow:hidden}
.moment-weather-result-media img{width:100%;height:100%;object-fit:cover}
.moment-weather-result-copy{padding:22px 24px 24px}
.moment-weather-result-copy h3{font-size:34px}
.moment-weather-result-subtitle{margin-top:6px!important;font-family:var(--mm-serif);font-size:20px;line-height:1.4;color:#4b453e}
.moment-weather-reflection{margin-top:20px;padding-top:17px;border-top:1px solid var(--mm-line)}
.moment-weather-reflection>span{display:block;font-size:10px;line-height:1.4;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:var(--mm-muted)}
.moment-weather-reflection p{margin-top:6px!important;font-size:17px;line-height:1.55}
.moment-weather-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}
.moment-weather-actions>.moment-button{width:100%;min-height:50px}
.moment-weather-actions>.moment-weather-leave{grid-column:1/-1;justify-self:center;min-height:44px;padding-inline:12px}

.moment-weather-care-options{display:grid;gap:10px;margin-top:20px}
.moment-weather-care-option{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;gap:13px;align-items:center;width:100%;min-height:76px;padding:13px 14px;border:1px solid var(--mm-line);border-radius:15px;background:var(--mm-surface);color:var(--mm-ink);text-align:left}
.moment-weather-care-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:13px;background:var(--mm-tint);color:var(--mm-accent)}
.moment-weather-care-icon svg{width:23px;height:23px}
.moment-weather-care-option strong{display:block;font-size:15px;line-height:1.4}
.moment-weather-care-option small{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--mm-muted)}
.moment-weather-care-arrow{width:18px!important;height:18px!important;color:var(--mm-muted)}
.moment-weather-care-option:hover{background:#fffaf2;border-color:#cfbea5}
#moment-weather-care-panel>.moment-weather-leave{margin-top:10px;min-height:44px}

@media(max-width:700px){
 .moment-weather-home{margin-bottom:18px}
 .moment-weather-home-card,.moment-weather-home-content{min-height:136px}
 .moment-weather-home-content{padding:19px 21px;max-width:90%}
 .moment-weather-home-content strong{font-size:29px}
 .moment-weather-home-content>span:nth-child(3){font-size:13px}
 .moment-weather-dialog{--mm-dialog-inset:18px;width:calc(100vw - 16px);padding:18px}
 .moment-weather-options{grid-auto-columns:82%;gap:12px;margin-top:16px}
 .moment-weather-option{grid-template-rows:145px auto}
 .moment-weather-result-media{height:220px}
 .moment-weather-result-copy{padding:20px}
 .moment-weather-result-copy h3{font-size:31px}
 .moment-weather-actions{grid-template-columns:1fr}
 .moment-weather-actions>.moment-weather-leave{grid-column:1}
}
@media(max-width:380px){
 .moment-weather-home-card,.moment-weather-home-content{min-height:132px}
 .moment-weather-home-content{padding:17px 18px;max-width:96%}
 .moment-weather-home-content strong{font-size:27px}
 .moment-weather-home-action{margin-top:8px}
 .moment-weather-options{grid-auto-columns:88%}
 .moment-weather-result-media{height:195px}
}
@media(prefers-reduced-motion:reduce){.moment-weather-option-media img{transition:none}}


/* 1.0.444: quieter, shorter result dialog on phones and tablets. */
.moment-weather-dialog{max-width:700px}
.moment-weather-dialog>.moment-dialog-header{margin-bottom:10px}
.moment-weather-dialog>.moment-dialog-header h2{font-size:30px}
.moment-weather-back{min-height:40px;margin:-2px 0 7px;padding:5px 2px;font-size:13px;color:var(--mm-muted)}
.moment-weather-result-card{overflow:visible;border:0;border-radius:0;background:transparent}
.moment-weather-result-media{height:205px;border-radius:18px;background:var(--mm-tint);overflow:hidden}
.moment-weather-result-media img{border-radius:inherit}
.moment-weather-result-copy{padding:17px 2px 0}
#moment-weather-result .moment-weather-eyebrow{display:none}
.moment-weather-result-copy h3{font-size:33px;line-height:1.12}
.moment-weather-result-subtitle{margin-top:4px!important;font-size:19px;line-height:1.38}
.moment-weather-reflection{margin-top:15px;padding-top:13px}
.moment-weather-reflection p{margin-top:5px!important;font-size:16px;line-height:1.48;text-wrap:pretty}
.moment-weather-actions{gap:9px 10px;margin-top:13px}
.moment-weather-actions>.moment-button{min-height:48px;padding:10px 13px}
.moment-weather-actions>.moment-button-outline{background:#fffaf2}
.moment-weather-actions>.moment-weather-leave{min-height:40px;margin-top:0;color:var(--mm-muted);font-size:14px}
.moment-weather-care-options{gap:8px;margin-top:15px}
.moment-weather-care-option{min-height:68px;padding:11px 12px;grid-template-columns:40px minmax(0,1fr) 20px;gap:10px}
.moment-weather-care-icon{width:40px;height:40px;border-radius:12px}
#moment-weather-care-panel>.moment-weather-leave{margin-top:6px;min-height:40px;color:var(--mm-muted)}

@media(max-width:700px){
 .moment-weather-dialog{--mm-dialog-inset:16px;width:calc(100vw - 12px);padding:16px;border-radius:20px}
 .moment-weather-dialog>.moment-dialog-header{padding-top:10px;padding-bottom:10px;margin-bottom:8px}
 .moment-weather-dialog>.moment-dialog-header h2{font-size:27px;letter-spacing:-.55px}
 .moment-weather-dialog>.moment-dialog-header .moment-icon-button{width:42px;height:42px}
 .moment-weather-result-media{height:172px;border-radius:16px}
 .moment-weather-result-copy{padding-top:15px}
 .moment-weather-result-copy h3{font-size:30px}
 .moment-weather-result-subtitle{font-size:18px}
 .moment-weather-reflection{margin-top:13px;padding-top:12px}
 .moment-weather-reflection p{font-size:16px;line-height:1.45}
 .moment-weather-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:12px}
 .moment-weather-actions>.moment-weather-leave{grid-column:1/-1}
 .moment-weather-actions>.moment-button{font-size:14px;line-height:1.3}
 .moment-weather-care-options{margin-top:14px}
 .moment-weather-intro{margin-top:7px!important;line-height:1.5}
}
@media(max-width:359px){
 .moment-weather-result-media{height:156px}
 .moment-weather-actions{grid-template-columns:1fr}
 .moment-weather-actions>.moment-weather-leave{grid-column:1}
}

/* 1.0.445: calmer weather chooser; no apparent preselection and a cleaner mobile carousel. */
#moment-weather-select-title:focus,#moment-weather-title:focus{outline:none}
#moment-weather-select .moment-weather-intro{margin-top:5px!important;font-size:14px;line-height:1.45;color:var(--mm-muted)}
.moment-weather-carousel{position:relative;margin-top:14px;overflow:hidden}
.moment-weather-carousel .moment-weather-options{margin:0 -2px 0;padding:2px 2px 8px}
.moment-weather-swipe{display:none;margin:5px 0 0!important;text-align:center;font-size:11px;line-height:1.4;letter-spacing:.2px;color:var(--mm-muted)}
.moment-weather-none{display:inline-flex;justify-content:flex-start;min-height:40px;margin-top:5px;color:var(--mm-accent);font-size:14px}
#moment-weather-select>.moment-weather-privacy{margin:7px 0 0!important;padding-top:9px;border-top:1px solid var(--mm-line);font-size:11px;line-height:1.45;color:var(--mm-muted)}

@media(max-width:700px){
 #moment-weather-select h3{font-size:31px;line-height:1.12;letter-spacing:-.55px}
 #moment-weather-select .moment-weather-intro{font-size:14px;line-height:1.4}
 .moment-weather-carousel{margin-top:12px}
 .moment-weather-options{grid-auto-columns:82%;gap:10px}
 .moment-weather-option{grid-template-rows:132px minmax(72px,auto);border-radius:16px}
 .moment-weather-option-copy{padding:12px 14px 13px}
 .moment-weather-option-copy strong{font-size:21px}
 .moment-weather-option-copy span{margin-top:3px;font-size:12px;line-height:1.35}
 /* Leave a deliberate 15–20% image-only preview of the next card. */
 .moment-weather-carousel::after{content:"";position:absolute;z-index:2;right:-1px;bottom:8px;width:18%;height:78px;pointer-events:none;background:linear-gradient(90deg,rgba(251,247,239,0),var(--mm-paper) 18%,var(--mm-paper) 100%)}
 .moment-weather-swipe{display:block}
 .moment-weather-none{margin-top:3px}
 #moment-weather-select>.moment-weather-privacy{margin-top:5px!important}
}
@media(max-width:380px){
 .moment-weather-options{grid-auto-columns:84%}
 .moment-weather-option{grid-template-rows:124px minmax(70px,auto)}
 .moment-weather-carousel::after{width:16%;height:76px}
}

/* Optional needs and small next steps; no additional raster assets. */
.moment-weather-needs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:10px;margin:22px 0 10px}
.moment-weather-need{min-width:0;min-height:64px;padding:16px;border:1px solid var(--mm-line);border-radius:14px;background:var(--mm-surface);color:var(--mm-ink);font:inherit;font-size:1rem;line-height:1.4;text-align:left;overflow-wrap:anywhere}
.moment-weather-need[aria-pressed="true"]{border-color:var(--mm-accent);box-shadow:inset 0 0 0 1px var(--mm-accent)}
.moment-weather-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px}
.moment-weather-links .moment-text-button,.moment-weather-panel>.moment-text-button{min-height:44px;white-space:normal;text-align:left}
#moment-weather-offer-list .moment-weather-care-option{grid-template-columns:32px minmax(0,1fr);padding:18px;gap:14px}
#moment-weather-offer-list strong{font-size:1rem}#moment-weather-offer-list small{font-size:.875rem;line-height:1.6}
.moment-weather-action-icon{width:28px!important;height:28px!important;color:var(--mm-accent)}
.moment-weather-impulse-text{font-family:var(--mm-serif);font-size:clamp(22px,1.5rem,28px);line-height:1.6;margin:28px 0 32px!important;max-width:28em}
.moment-weather-return{padding:20px 4px 2px;color:var(--mm-ink)}
.moment-weather-return>p:not(.moment-weather-eyebrow){font-family:var(--mm-serif);font-size:22px;line-height:1.35}
.moment-weather-return[hidden],.moment-weather-panel[hidden]{display:none!important}
.moment-weather-need:focus-visible,.moment-weather-care-option:focus-visible{outline:2px solid var(--mm-accent);outline-offset:3px}
@media(max-width:380px){.moment-weather-needs{gap:8px}.moment-weather-links{flex-direction:column;align-items:flex-start}}

/* 1.0.501: clear hierarchy and an uninterrupted preview of the next card. */
#moment-weather-dialog>.moment-dialog-header h2{font-size:20px;line-height:1.3;letter-spacing:-.2px;color:var(--mm-muted)}
#moment-weather-dialog>.moment-dialog-header{margin-bottom:20px}
#moment-weather-select-title{font-size:30px;line-height:1.18;letter-spacing:-.5px}
#moment-weather-select .moment-weather-intro{margin-top:10px!important;line-height:1.5}
#moment-weather-select .moment-weather-carousel{margin-top:20px}
#moment-weather-select .moment-weather-carousel::after{content:none}
#moment-weather-select .moment-weather-option{box-shadow:0 2px 6px #2d302b06}
#moment-weather-none{color:#294b43;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;margin-top:8px}
#moment-weather-select>.moment-weather-privacy{margin-top:12px!important;padding-top:12px;font-size:12px;line-height:1.5}
#moment-weather-forget{font-size:12px;min-height:44px;color:var(--mm-muted)}
#moment-weather-forget[hidden]{display:none!important}
@media(max-width:700px){
 #moment-weather-dialog>.moment-dialog-header h2{font-size:19px}
 #moment-weather-select-title{font-size:29px}
}

/* 1.0.502: taller landscape previews in the weather chooser. */
#moment-weather-select .moment-weather-option{grid-template-rows:200px auto}
@media(max-width:700px){
 #moment-weather-select .moment-weather-option{grid-template-rows:178px minmax(72px,auto)}
}
@media(max-width:380px){
 #moment-weather-select .moment-weather-option{grid-template-rows:166px minmax(70px,auto)}
}

/* 1.0.503: calm result typography and actions aligned with the home palette. */
#moment-weather-dialog:has(#moment-weather-result:not([hidden]))>.moment-dialog-header{margin-bottom:10px}
#moment-weather-dialog #moment-weather-back{min-height:44px;margin:0 0 6px;padding:6px 2px}
#moment-weather-result .moment-weather-result-subtitle{font-family:var(--mm-serif);font-size:17px;line-height:1.45;font-weight:400}
#moment-weather-result .moment-weather-reflection>span{font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400}
#moment-weather-dialog #moment-weather-care{background:#294b43;border-color:#294b43;color:#fffdf7!important;box-shadow:none}
#moment-weather-dialog #moment-weather-note{background:transparent;border:1px solid #294b43;color:#294b43!important;box-shadow:none}
#moment-weather-result .moment-weather-actions>.moment-button{min-width:0;font-size:14px;line-height:1.4;white-space:normal;font-weight:500}
@media(hover:hover){
 #moment-weather-dialog #moment-weather-care:hover{background:#203e37;border-color:#203e37}
 #moment-weather-dialog #moment-weather-note:hover{background:#edf1e9;border-color:#294b43;color:#294b43!important}
}
@media(max-width:420px){
 #moment-weather-result .moment-weather-actions{grid-template-columns:minmax(0,1fr)}
 #moment-weather-result .moment-weather-actions>.moment-button{font-size:15px}
}
