.mood-finder{max-width:1280px;margin:0 auto 28px;padding:28px;background:#172339;color:#fff;border-radius:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:24px;overflow:hidden;position:relative}
.mood-finder:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:#3159eb;filter:blur(90px);opacity:.28;right:25%;top:-180px;pointer-events:none}
.mood-copy,.mood-result{position:relative;z-index:1}
.mood-copy{align-self:center;padding:8px 4px}
.mood-kicker{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#c9d4ff;font-weight:800}
.mood-copy h2{font:800 clamp(28px,3.2vw,42px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-1.3px;margin:12px 0 10px;color:#fff}
.mood-copy>p{max-width:460px;color:#d7deef;font-size:14px;line-height:1.6;margin:0 0 22px}
.mood-options{display:flex;flex-wrap:wrap;gap:9px}
.mood-choice{padding:11px 14px;border:1px solid #ffffff52;border-radius:999px;background:#ffffff0d;color:#fff;font-size:12px;font-weight:700;transition:background .18s,border-color .18s,transform .18s}
.mood-choice:hover{transform:translateY(-2px);border-color:#d8ef65;background:#ffffff18}
.mood-choice[aria-pressed="true"]{background:#d8ef65;border-color:#d8ef65;color:#172339}
.mood-result{min-height:265px;border:1px solid #ffffff33;border-radius:18px;overflow:hidden;background:#24334f;display:grid;grid-template-columns:42% 1fr}
.mood-photo{width:100%;height:100%;min-height:265px;object-fit:cover;background:linear-gradient(145deg,#3159eb,#ff7656 62%,#d8ef65)}
.mood-result.no-photo .mood-photo{display:none}
.mood-result.no-photo{grid-template-columns:1fr;background:radial-gradient(ellipse at 10% 10%,#ff7656 0,transparent 45%),linear-gradient(135deg,#3159eb,#172339 70%)}
.mood-result-body{padding:22px 20px;align-self:center;min-width:0}
.mood-result-kicker{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#d8ef65;font-weight:800;margin:0 0 9px}
.mood-result h3{font:800 clamp(22px,2.2vw,29px)/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.7px;color:#fff;margin:0 0 8px}
.mood-result p{font-size:12px;line-height:1.55;color:#e0e6f1;margin:0}
.mood-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}
.mood-tag{border:1px solid #ffffff40;border-radius:999px;padding:5px 8px;color:#fff;font-size:9px}
.mood-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.mood-link,.mood-next{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border:0;border-radius:9px;text-decoration:none;font-size:11px;font-weight:800;cursor:pointer}
.mood-link{background:#ffffff1a;color:#fff;border:1px solid #ffffff45}.mood-link.mood-explore{background:#d8ef65;color:#172339;border-color:#d8ef65}
.mood-next{background:#ffffff1a;color:#fff;border:1px solid #ffffff45}
.mood-result.is-revealing{animation:mood-reveal .42s cubic-bezier(.2,.75,.25,1)}
.mood-matches{grid-column:1/-1;position:relative;z-index:1;padding-top:20px;border-top:1px solid #ffffff30}
.mood-matches-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;color:#fff}
.mood-matches-head strong{font-size:15px}
.mood-matches-count{font-size:11px;color:#cbd4e6}
.mood-city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:11px}
.mood-city{min-width:0;background:#fff;color:#172339;border-radius:14px;overflow:hidden;border:1px solid #ffffff45;box-shadow:0 4px 14px #0002}
.mood-city img{display:block;width:100%;height:125px;object-fit:cover;background:linear-gradient(135deg,#3159eb,#ff7656 62%,#d8ef65)}
.mood-city-body{padding:12px}
.mood-city h4{font:800 16px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.3px;margin:0 0 5px}
.mood-city p{font-size:11px;line-height:1.45;color:#607087;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mood-city-actions{display:flex;gap:7px;margin-top:10px}
.mood-city-actions a{font-size:10px;font-weight:800;padding:8px 9px;border-radius:8px;text-decoration:none;background:#3159eb;color:#fff}
.mood-city-actions a:last-child{background:#eef1f8;color:#172339}
@keyframes mood-reveal{0%{opacity:.45;transform:translateY(8px) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.mood-finder{margin:0 12px 22px;padding:21px 17px;grid-template-columns:1fr;gap:18px;border-radius:20px}.mood-copy{padding:0}.mood-copy h2{font-size:30px}.mood-copy>p{font-size:13px;margin-bottom:16px}.mood-options{gap:7px}.mood-choice{padding:10px 11px;font-size:11px}.mood-result{grid-template-columns:38% 1fr;min-height:230px}.mood-photo{min-height:230px}.mood-result-body{padding:16px 13px}.mood-result h3{font-size:22px}.mood-result p{font-size:11px}.mood-actions{margin-top:12px}.mood-link,.mood-next{font-size:10px;min-height:36px;padding:8px 10px}.mood-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mood-city img{height:100px}.mood-city-body{padding:9px}.mood-city h4{font-size:14px}.mood-city-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.mood-choice,.mood-result.is-revealing{animation:none;transition:none}}
/* Mobile layout hardening: keep the discovery cards inside the screen. */
@media(max-width:760px){
  .mood-finder,.mood-finder *{min-width:0}
  .mood-finder{width:calc(100% - 24px);max-width:100%;overflow:hidden}
  .mood-copy h2,.mood-copy>p{max-width:100%;overflow-wrap:anywhere}
  .mood-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%}
  .mood-choice{width:100%;max-width:100%;white-space:normal;line-height:1.25}
  .mood-result{grid-template-columns:minmax(0,1fr)!important;min-width:0}
  .mood-photo{display:block;width:100%;height:clamp(190px,58vw,300px);min-height:0;max-height:300px;object-fit:cover}
  .mood-result-body{width:100%;max-width:100%;padding:18px 16px}
  .mood-actions{max-width:100%}
  .mood-link,.mood-next{white-space:normal;text-align:center}
  .mood-matches{width:100%;max-width:100%;overflow:hidden}
  .mood-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .mood-city-actions a{white-space:normal;text-align:center}
}
