/* THAVMA FORECAST V28.5.6 base — stability, calendar and map alignment update. */
@font-face{
  font-family:"Advent Pro";
  src:url("assets/fonts/advent-pro-ultra-expanded-700.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

body :where(.brand-main,.loading-brand,.footer-brand,.hamburger-drawer-brand,.hamburger-item,.hamburger-section-label,.nav-tab,.section-title,h1,h2,h3,h4,.settings-category-title h4,.v25-eyebrow,#_modTabs .maps-tab-btn,.alerts-banner){
  font-family:"Advent Pro","Google Sans Flex",sans-serif!important;
  font-stretch:ultra-expanded;
}

body :where(.brand-main,.loading-brand,.footer-brand,.hamburger-drawer-brand){
  font-weight:800!important;
  letter-spacing:.035em;
  font-synthesis:weight;
  -webkit-text-stroke:0 transparent;
}

body :where(.page-title,.daily-day-name,.monthly-card-title,.v25-month-name,.maps-tab-btn,.settings-category-header,.settings-category-title,.forecast-map-page>header>span,.v27-feature-shell>header>span,.cfs-v2-head){
  font-family:"Advent Pro","Google Sans Flex",sans-serif!important;
  font-weight:800!important;
}

.nav-tab-link{display:inline-flex;align-items:center;text-decoration:none}
.cfs-v2-viewer{margin:0 0 18px;padding:14px;border:1px solid rgba(66,221,255,.2);border-radius:16px;background:rgba(4,20,37,.84)}
.cfs-v2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cfs-v2-head h3{margin:3px 0 5px}.cfs-v2-head p{max-width:760px;color:#a9c1cf;font-family:var(--site-font)!important;line-height:1.55}
.cfs-v2-head label{display:grid;gap:5px;color:#76e8ff;white-space:nowrap}.cfs-v2-head select{min-height:40px;padding:7px 10px;border:1px solid rgba(66,221,255,.3);border-radius:9px;background:#071b2e;color:#fff}
.cfs-v2-viewer>a{display:block}.cfs-v2-viewer img{display:block;width:min(100%,1100px);height:auto;margin:auto;border-radius:12px;background:#e9eef0}
.cfs-v2-viewer>small{display:block;margin-top:8px;color:#89a9b8;font-family:var(--site-font)!important;text-align:center}
@media(max-width:720px){.cfs-v2-head{display:grid}.cfs-v2-head label{white-space:normal}}

.alerts-banner{
  --alert-color:#ffd53d;
  position:relative;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 32px;
  align-items:center;
  gap:8px;
  width:min(1180px,calc(100% - 24px));
  min-height:54px;
  margin:10px auto 0;
  padding:7px 42px 7px 8px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--alert-color) 62%,transparent);
  border-left:5px solid var(--alert-color);
  border-radius:14px;
  background:linear-gradient(110deg,color-mix(in srgb,var(--alert-color) 15%,#07182b),rgba(3,20,36,.96));
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.alerts-banner.level-yellow{--alert-color:#ffd740;background:linear-gradient(110deg,rgba(114,92,3,.68),rgba(3,20,36,.97))}
.alerts-banner.level-orange{--alert-color:#ff8b22;background:linear-gradient(110deg,rgba(119,55,5,.72),rgba(3,20,36,.97))}
.alerts-banner.level-red{--alert-color:#ff3e55;background:linear-gradient(110deg,rgba(117,15,32,.76),rgba(3,20,36,.97))}
.alerts-banner.level-info{--alert-color:#37dfff}
.alert-banner-content{
  display:grid;
  grid-template-columns:auto auto minmax(120px,1fr) auto auto;
  align-items:center;
  justify-content:start;
  gap:3px 10px;
  min-width:0;
  text-align:left;
}
.alert-level-badge{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid currentColor;border-radius:9px;color:var(--alert-color);background:rgba(0,0,0,.22);font-size:14px}
.alert-sev{color:#fff;font-size:13px;font-weight:800;white-space:nowrap}
.alert-area{color:var(--alert-color);font-size:11px;font-weight:800;white-space:nowrap}
.alert-desc{min-width:0;color:#e8f3f8;font-family:var(--site-font)!important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alert-validity{color:#bad0da;font-size:10px;white-space:nowrap}
.alert-source-tag{grid-column:2/3;color:#b9ced8;background:rgba(255,255,255,.06);font-size:9px}
.alert-nav-btn{width:30px;height:30px;border-color:color-mix(in srgb,var(--alert-color) 40%,transparent);background:rgba(0,0,0,.22);color:#fff}
.alert-counter{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#fff;font-size:10px;font-weight:800}

.v2843-push-target{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:center}
.v2843-push-target small{grid-column:1/-1}
.v2843-alert-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v2843-alert-form label{display:grid;gap:6px;color:#b9d3df;font-size:11px;font-weight:700}
.v2843-alert-form :is(input,textarea,select){min-width:0;padding:10px;border:1px solid rgba(66,221,255,.25);border-radius:10px;background:#061a2e;color:#eefaff}
.v2843-alert-form select[multiple]{min-height:188px}
.v2843-alert-form small{color:#87a7b7;line-height:1.45}
.v2843-span-2{grid-column:1/-1}
.v2843-send-push{margin:13px 0;padding:11px 12px;border:1px solid rgba(66,221,255,.18);border-radius:11px;background:rgba(66,221,255,.06)}
.v2843-alert-row{border-left:4px solid #ffd740}
.v2843-alert-row.is-orange{border-left-color:#ff8b22}
.v2843-alert-row.is-red{border-left-color:#ff3e55}
.v2846-region-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:7px;margin:0;padding:11px;border:1px solid rgba(66,221,255,.2);border-radius:11px}
.v2846-region-picker legend{padding:0 6px;color:#b9d8e8;font-size:12px;font-weight:700}
.v2846-region-picker label{display:flex!important;align-items:center;gap:8px;min-height:36px;padding:7px 9px;border:1px solid rgba(66,221,255,.13);border-radius:8px;background:rgba(5,28,48,.72);cursor:pointer}
.v2846-region-picker input{accent-color:#42ddff}
.home-notification-panel[data-push-state="granted"]{border-color:rgba(71,232,166,.48);background:linear-gradient(135deg,rgba(5,48,48,.94),rgba(7,65,72,.82))}
.home-notification-panel[data-push-state="denied"]{border-color:rgba(255,112,112,.45)}

@media(min-width:1000px){
  .v27-forecast-admin{width:min(1500px,100%);margin:0 auto}
  #v27ForecastEditor{grid-template-columns:minmax(330px,420px) minmax(560px,1fr)}
  #v27ForecastEditor .forecast-map-canvas.is-editor{width:100%;max-width:1020px;max-height:none}
  .v25-admin-card.v27-alert-shell{grid-template-columns:minmax(310px,390px) minmax(600px,1fr)}
  .v25-admin-card.v27-alert-shell>.v27-alert-canvas-wrap{min-width:0}
}

@media(max-width:760px){
  .alerts-banner{grid-template-columns:30px minmax(0,1fr) 30px;width:calc(100% - 14px);padding:7px 34px 7px 6px;border-radius:12px}
  .alert-banner-content{grid-template-columns:auto minmax(0,1fr);gap:3px 7px}
  .alert-level-badge{grid-row:1/4}
  .alert-sev,.alert-area,.alert-desc{grid-column:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .alert-sev{font-size:11px}.alert-area{font-size:9px}.alert-desc{font-size:10px}
  .alert-validity{grid-column:1/-1;font-size:9px}
  .alert-source-tag{display:none}
  .alert-counter{right:7px}
  .v2843-push-target,.v2843-alert-form{grid-template-columns:1fr}
  .v2843-span-2{grid-column:auto}
  .brand-main{letter-spacing:-.25px}
}

@media(prefers-reduced-motion:reduce){.alerts-banner{transition:none}}
/* V28.5.6: Daily model chooser remains outside forecast cards. */
.daily-model-toolbar {
  width: min(100%, 1180px);
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.daily-model-toolbar label {
  font-family: "Advent Pro", "Advent Pro", sans-serif!important;
  font-weight: 800;
  letter-spacing: .02em;
  color: #dff8ff;
}

.daily-model-toolbar select {
  min-width: 220px;
  min-height: 42px;
  padding: 8px 38px 8px 12px;
  border: 1px solid rgba(66, 221, 255, .28);
  border-radius: 12px;
  background: #08223a;
  color: #eefaff;
  font: 600 15px var(--site-font);
}

body.thavma-mod-open .main-content {
  max-width: min(1700px, calc(100vw - 32px));
}

@media (max-width: 700px) {
  .daily-model-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .daily-model-toolbar select {
    width: 100%;
  }
}



/* Exact owner-supplied Greece relief map: preserve its 456×380 projection. */
.forecast-map-canvas {
  width: min(100%, 1320px);
  aspect-ratio: 456 / 380;
  max-height: none;
}
.forecast-map-canvas>img {
  image-rendering: -webkit-optimize-contrast;
  filter: contrast(1.025) saturate(1.02);
  transform: translateZ(0);
}

.forecast-map-page { max-width: 1400px; }
.forecast-map-public {
  width: min(100%, 1320px);
  margin-inline: auto;
}

.forecast-map-composite {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  white-space: nowrap;
}

.forecast-map-composite .forecast-map-temp {
  margin-top: -6px;
  padding: 1px 5px;
  border-radius: 7px;
  background: rgba(3, 18, 32, .78);
  line-height: 1.1;
}

.forecast-map-location {
  margin-top: 2px;
  padding: 1px 4px;
  border-radius: 5px;
  background: rgba(2, 12, 22, .78);
  color: #fff;
  font: 700 9px var(--site-font);
  line-height: 1.15;
}

.forecast-map-wind {
  flex-wrap: wrap;
  justify-content: center;
  max-width: 92px;
}

.forecast-map-wind .forecast-map-location {
  flex-basis: 100%;
  text-align: center;
}

body.thavma-mod-open .v27-forecast-admin {
  width: min(1600px, 100%);
}

body.thavma-mod-open #v27ForecastEditor .forecast-map-canvas.is-editor {
  width: 100%;
  max-width: 1180px;
  max-height: none;
}

@media (max-width: 720px) {
  .forecast-map-canvas {
    width: 100%;
    max-height: none;
  }
}
