/* MARSHUM widgets — погода и курсы валют (Liquid Glass, согласовано со стилем сайта) */
.marshum-widgets { font-family: inherit; }

.mw-section { padding: 2.2rem 0; }
.mw-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1.2rem; }
.mw-section-head .eyebrow { color: #e85d3f; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.mw-section-head h2 { font-size: 1.55rem; margin: .25rem 0 0; font-weight: 800; }
.mw-updated { color: #8a8a8a; font-size: .78rem; }

/* ===== Жидкое стекло (общая основа карточек) ===== */
.mw-glass {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.6);
  -webkit-backdrop-filter: blur(16px) saturate(170%);
  backdrop-filter: blur(16px) saturate(170%);
  box-shadow:
    0 10px 30px rgba(23,54,48,.10),
    inset 0 0 0 1px rgba(255,255,255,.35),
    inset 0 1px 0 rgba(255,255,255,.85);
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform .14s ease-out, box-shadow .25s ease;
  will-change: transform;
}
.mw-glass:hover {
  box-shadow:
    0 20px 46px rgba(23,54,48,.16),
    inset 0 0 0 1px rgba(255,255,255,.5),
    inset 0 1px 0 rgba(255,255,255,.95);
}

.mw-card-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.mw-card-flag {
  position: absolute; inset: -18%;
  width: 136%; height: 136%;
  object-fit: cover;
  filter: blur(22px) saturate(.85) brightness(1.06);
  opacity: .5;
}
.mw-card-tint { position: absolute; inset: 0; }

/* блик стекла — следит за курсором */
.mw-card-shine {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(130% 70% at var(--mx, 18%) var(--my, 0%), rgba(255,255,255,.6), rgba(255,255,255,0) 55%);
}

.mw-card-content { position: relative; z-index: 3; padding: 1rem 1.1rem; }

/* ===== Градиенты по погоде ===== */
.cond-clear  .mw-card-tint { background: linear-gradient(150deg, rgba(255,196,90,.55), rgba(255,150,50,.10) 72%); }
.cond-partly .mw-card-tint { background: linear-gradient(150deg, rgba(120,170,225,.42), rgba(250,215,140,.18) 78%); }
.cond-cloudy .mw-card-tint { background: linear-gradient(150deg, rgba(150,162,180,.36), rgba(205,212,224,.16) 78%); }
.cond-fog    .mw-card-tint { background: linear-gradient(150deg, rgba(180,190,205,.38), rgba(228,234,242,.20) 78%); }
.cond-rain   .mw-card-tint { background: linear-gradient(150deg, rgba(66,108,170,.46), rgba(120,160,205,.18) 78%); }
.cond-snow   .mw-card-tint { background: linear-gradient(150deg, rgba(150,190,225,.48), rgba(225,238,250,.24) 78%); }
.cond-storm  .mw-card-tint { background: linear-gradient(150deg, rgba(70,82,120,.50), rgba(130,140,175,.22) 78%); }

/* металл-градиент (валюта) */
.mw-metal { background: linear-gradient(150deg, rgba(23,54,48,.30), rgba(23,54,48,.08) 46%, rgba(178,140,66,.24) 100%); }

/* флажок-чип (резкий, в углу) */
.mw-flag-chip {
  width: 18px; height: 13px; object-fit: cover; border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.18); margin-right: 6px; flex: 0 0 auto;
  vertical-align: -1px;
}

/* ===== Погода ===== */
.mw-weather-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(212px, 1fr)); gap: 1rem; }
.mw-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.mw-card-place { min-width: 0; }
.mw-card-resort { font-weight: 800; font-size: 1.02rem; color: #173630; line-height: 1.2; }
.mw-card-country { display: flex; align-items: center; color: rgba(23,54,48,.6); font-size: .78rem; margin-top: .15rem; }
.mw-card-emoji { font-size: 2rem; line-height: 1; flex: 0 0 auto; filter: drop-shadow(0 2px 5px rgba(0,0,0,.14)); }
.mw-card-now { display: flex; align-items: baseline; gap: .45rem; margin: .7rem 0 .15rem; }
.mw-card-temp { font-size: 2rem; font-weight: 800; color: #173630; line-height: 1; }
.mw-card-tempf { font-size: 1rem; font-weight: 700; color: rgba(23,54,48,.5); }
.mw-card-desc { color: rgba(23,54,48,.72); font-size: .86rem; line-height: 1.3; overflow-wrap: break-word; word-break: break-word; }
.mw-card-wind { color: rgba(23,54,48,.55); font-size: .76rem; margin-top: .2rem; }
.mw-wc-today {
  display: flex; flex-direction: column; align-items: center; gap: .18rem; margin-top: .85rem;
  padding: .6rem .55rem; background: rgba(255,255,255,.5); border: 1px solid rgba(255,255,255,.72);
  border-radius: 12px;
}
.mw-td-date { font-size: .74rem; color: rgba(23,54,48,.62); font-weight: 600; }
.mw-td-temps { display: flex; align-items: baseline; gap: .45rem; white-space: nowrap; }
.mw-td-hi, .mw-td-lo { display: inline-flex; align-items: baseline; gap: .22rem; }
.mw-td-hi b { font-size: .94rem; font-weight: 800; color: #173630; }
.mw-td-lo b { font-size: .94rem; font-weight: 700; color: rgba(23,54,48,.72); }
.mw-td-hi i, .mw-td-lo i { font-style: normal; font-size: .76rem; font-weight: 600; color: rgba(23,54,48,.45); }
.mw-td-sep { color: rgba(23,54,48,.3); }

/* ===== Курсы валют ===== */
.mw-rates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; }
.mw-card-watermark {
  position: absolute; right: -6%; bottom: -16%; z-index: 1;
  font-size: 5.6rem; font-weight: 900; line-height: 1; letter-spacing: -.04em;
  color: rgba(23,54,48,.10);
  pointer-events: none; user-select: none;
}
.mw-rate-sym { font-size: 1.5rem; color: #e85d3f; font-weight: 900; line-height: 1; }
.mw-rate-flag { margin-left: auto; display: flex; align-items: center; }
.mw-rate-flag .mw-flag-chip { margin-right: 0; }
.mw-rate-code { font-weight: 800; font-size: 1.05rem; color: #173630; margin-top: .55rem; }
.mw-rate-name { color: rgba(23,54,48,.6); font-size: .8rem; line-height: 1.25; }
.mw-rate-spark { margin-top: .5rem; line-height: 0; }
.mw-spark { width: 100%; height: 34px; display: block; overflow: visible; }
.mw-spark-area { fill: rgba(23,54,48,.10); }
.mw-spark-line { fill: none; stroke: #2e7d52; stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
.mw-spark-dot { fill: #e85d3f; }
.mw-rate-bottom { display: flex; align-items: baseline; justify-content: space-between; gap: .4rem; margin-top: .4rem; }
.mw-rate-val { color: rgba(23,54,48,.8); font-size: .88rem; }
.mw-rate-val b { color: #173630; }
.mw-rate-delta { font-size: .72rem; font-weight: 800; padding: .1rem .42rem; border-radius: 999px; line-height: 1.4; white-space: nowrap; }
.mw-rate-delta.up { color: #1e7a46; background: rgba(46,160,90,.14); }
.mw-rate-delta.down { color: #c0392b; background: rgba(192,57,43,.12); }

@media (max-width: 576px) {
  .mw-weather-grid { grid-template-columns: repeat(2, 1fr); gap: .7rem; }
  .mw-rates-grid { grid-template-columns: repeat(2, 1fr); gap: .7rem; }
  .mw-card-content { padding: .85rem; }
  .mw-card-temp { font-size: 1.55rem; }
  .mw-card-emoji { font-size: 1.6rem; }
  .mw-card-watermark { font-size: 4rem; }
}

/* FullCalendar — календарь низких цен */
.price-calendar-section .container { max-width: 900px; }
#price-calendar-fc { margin-top: .5rem; }
#price-calendar-fc .fc { --fc-border-color: #ececf0; --fc-today-bg-color: #fff7f4; --fc-page-bg-color: #fff; }
#price-calendar-fc .fc-toolbar-title { font-size: 1.15rem; font-weight: 800; color: #1d1d29; }
#price-calendar-fc .fc-button { background: #fff; border: 1px solid #ececf0; color: #1d1d29; text-transform: none; font-weight: 600; }
#price-calendar-fc .fc-button:hover { background: #fafafa; }
#price-calendar-fc .fc-button-primary:not(:disabled).fc-button-active { background: #e85d3f; border-color: #e85d3f; color: #fff; }
.fc-price-cell { text-align: center; font-weight: 700; padding: 2px 0; font-size: .82rem; }
#price-calendar-fc .fc .is-low { background: #e85d3f !important; color: #fff !important; border-color: #e85d3f !important; }
#price-calendar-fc .fc .is-low .fc-price-cell { color: #fff; }
#price-calendar-fc .fc-daygrid-day { cursor: pointer; }
#price-calendar-fc .fc-daygrid-day:hover { background: #fff7f4; }

/* Партнёры (премиум: тёмная лента + светлые плитки) */
.partners-strip{margin-top:40px;padding:38px 0 10px;background:transparent;border-radius:0;border-top:1px solid rgba(255,255,255,.1);color:#fff}
.partners-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.42);text-align:center;margin-bottom:28px}
.partners-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.partners-row img{width:150px;height:64px;object-fit:contain;padding:13px 20px;background:#fff;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.25);opacity:.95;transition:opacity .25s,transform .25s,box-shadow .25s}
.partners-row img:hover{opacity:1;transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.32)}
.partners-group{margin-bottom:28px}
.partners-group:last-child{margin-bottom:0}
.partners-group-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;color:#e5a93d;text-align:center;margin-bottom:18px}

/* Чат с менеджером (плавающая кнопка + попап) */
.chat-widget{position:fixed;z-index:960;right:20px;bottom:20px}
.chat-fab{display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.22);cursor:pointer;transition:transform .2s}
.chat-fab:hover{transform:scale(1.07)}
.chat-fab[aria-expanded="true"]{background:#1ebe5b}
.chat-popup{position:absolute;right:0;bottom:70px;width:min(320px,calc(100vw - 40px));border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(25,55,48,.22);overflow:hidden}
.chat-popup[hidden]{display:none}
.chat-popup-head{display:flex;align-items:center;gap:12px;padding:16px;background:#173630;color:#fff}
.chat-popup-ava{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--brand);font-weight:900;font-size:1.1rem}
.chat-popup-title{display:flex;flex-direction:column;line-height:1.3}
.chat-popup-title strong{font-size:.95rem}
.chat-popup-title small{font-size:.78rem;color:#b7c9c4}
.chat-popup-close{margin-left:auto;border:0;background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.chat-popup-body{display:flex;flex-direction:column;gap:10px;padding:16px}
.chat-cta{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:700;color:#fff;transition:filter .15s}
.chat-cta:hover{filter:brightness(.95)}
.chat-cta-wa{background:#25d366}
.chat-cta-tel{background:var(--brand)}
.chat-cta-mail{background:#173630}
.chat-cta span{font-size:.92rem}
