*,*::before,*::after{ box-sizing:border-box; }

/* ===========================================================
   Meteovolos — στυλ θέματος
   Οι μεταβλητές --mv-* παράγονται από την παλέτα του theme.json,
   ώστε ο επεξεργαστής και η σελίδα να μένουν συγχρονισμένοι.
   =========================================================== */

:root{
  --mv-bg:        var(--wp--preset--color--mist,      #EEF3F5);
  --mv-paper:     var(--wp--preset--color--paper,     #FFFFFF);
  --mv-ink:       var(--wp--preset--color--ink,       #16232B);
  --mv-ink-soft:  var(--wp--preset--color--ink-soft,  #54666F);
  --mv-sea:       var(--wp--preset--color--sea,       #0E5A78);
  --mv-sea-deep:  var(--wp--preset--color--sea-deep,  #0A3D52);
  --mv-sea-tint:  var(--wp--preset--color--sea-tint,  #E1EDF2);
  --mv-pelion:    var(--wp--preset--color--pelion,    #3F6B4A);
  --mv-brick:     var(--wp--preset--color--brick,     #A63A21);
  --mv-line:      var(--wp--preset--color--line,      #D2DEE4);
  --mv-line-soft: #E6EDF0;
  --mv-mat:       #FFFFFF;          /* οι χάρτες έχουν λευκό φόντο, μένει λευκό πάντα */
  --mv-shadow:    0 1px 2px rgba(12,40,54,.06);
  --mv-radius:    4px;
  --mv-wrap:      1180px;
  --mv-display:   var(--wp--preset--font-family--display, "Alegreya Sans", "Noto Sans", Arial, sans-serif);
  --mv-body:      var(--wp--preset--font-family--body, "Noto Sans", Arial, sans-serif);
}

html body{ background:var(--mv-bg); color:var(--mv-ink); }
html body a{ color:var(--mv-sea); }
img{ max-width:100%; height:auto; }
:focus-visible{ outline:2px solid var(--mv-sea); outline-offset:2px; }

/* Λωρίδα πλήρους πλάτους με κεντραρισμένο περιεχόμενο 1180px */
.mv-wrap{ max-width:var(--mv-wrap); margin-inline:auto; padding-inline:20px; width:100%; }
.mv-band{ width:100%; }

/* ---------- γραμμή χρησιμότητας ---------- */
.mv-util{ background:var(--mv-sea-deep); color:#CFE3EC; font-size:13.5px; }
.mv-util .mv-wrap{ display:flex; align-items:center; gap:16px; min-height:38px; flex-wrap:wrap; }
.mv-util a{ color:#D8E9F1; }
.mv-util .mv-date{ color:#fff; font-weight:600; }
.mv-util .mv-note{ color:#A8C7D5; }
.mv-util .mv-spacer{ flex:1; }
.mv-social{ display:flex; gap:2px; list-style:none; margin:0; padding:0; }
.mv-social a{ display:grid; place-items:center; width:30px; height:30px; border-radius:3px; }
.mv-social a:hover{ background:rgba(255,255,255,.12); text-decoration:none; }
.mv-social svg{ width:15px; height:15px; fill:currentColor; }

/* ---------- κεφαλίδα ---------- */
.mv-masthead{ background:var(--mv-paper); border-bottom:1px solid var(--mv-line-soft); }
.mv-masthead .mv-wrap{ display:flex; align-items:center; gap:22px; padding-block:18px; flex-wrap:wrap; }
.mv-brand{ display:flex; align-items:center; gap:16px; }
.mv-logo-link{ display:flex; align-items:center; }
.mv-logo{ height:120px; width:auto; display:block; }
.mv-brand .mv-tag{ font-size:13.5px; color:var(--mv-ink-soft); }
.mv-masthead .mv-spacer{ flex:1; }
.mv-mast-cta{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.mv-btn{ display:inline-block; font:600 14.5px/1 var(--mv-body); padding:11px 15px;
  border-radius:var(--mv-radius); border:1px solid var(--mv-sea); color:var(--mv-sea);
  background:var(--mv-paper); text-decoration:none; }
.mv-btn:hover{ background:var(--mv-sea-tint); text-decoration:none; }
.mv-btn-fill{ background:var(--mv-sea); border-color:var(--mv-sea); color:#fff; }
.mv-btn-fill:hover{ background:var(--mv-sea-deep); color:#fff; }

/* ---------- πλοήγηση (block navigation) ---------- */
.mv-nav{ background:var(--mv-paper); border-bottom:1px solid var(--mv-line);
  position:sticky; top:0; z-index:40; box-shadow:var(--mv-shadow); }
.admin-bar .mv-nav{ top:32px; }
@media (max-width:782px){ .admin-bar .mv-nav{ top:46px; } }
.mv-nav .mv-wrap{ padding-block:0; }
.mv-nav .wp-block-navigation{ font-family:var(--mv-display); font-weight:700; font-size:16.5px; }
.mv-nav .wp-block-navigation-item__content{ padding:15px 14px; display:block;
  color:var(--mv-ink); border-bottom:3px solid transparent; text-decoration:none; }
.mv-nav .wp-block-navigation-item__content:hover{ color:var(--mv-sea);
  border-bottom-color:var(--mv-sea-tint); text-decoration:none; }
.mv-nav .current-menu-item > .wp-block-navigation-item__content{
  color:var(--mv-sea); border-bottom-color:var(--mv-sea); }
.mv-nav .wp-block-navigation__submenu-container{ background:var(--mv-paper);
  border:1px solid var(--mv-line); border-top:2px solid var(--mv-sea);
  box-shadow:0 10px 24px rgba(11,40,54,.12); min-width:258px; padding-block:6px; }
.mv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  padding:8px 16px; font-size:15px; font-weight:400; border-bottom:0; font-family:var(--mv-body); }
.mv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
  background:var(--mv-sea-tint); }
.mv-nav .wp-block-navigation__responsive-container-open,
.mv-nav .wp-block-navigation__responsive-container-close{ color:var(--mv-ink); }
.mv-nav .wp-block-navigation__responsive-container.is-menu-open{ background:var(--mv-paper); color:var(--mv-ink); }

/* ---------- λωρίδα ταυτότητας ---------- */
.mv-banner{ position:relative; background:var(--mv-sea-deep); }
.mv-banner .mv-banner-img img{ width:100%; max-height:290px; object-fit:cover; opacity:.9; display:block; }
.mv-banner .mv-banner-img{ margin:0; }
.mv-banner .mv-caption{ position:absolute; inset:auto 0 0 0; padding:52px 0 20px;
  background:linear-gradient(to top, rgba(7,30,40,.88), rgba(7,30,40,0)); }
.mv-banner h1{ color:#fff; margin:0; }
.mv-banner p{ margin:5px 0 0; color:#C9DEE8; font-size:14.5px; }

/* ---------- λωρίδα συντομεύσεων ---------- */
.mv-jump{ background:var(--mv-paper); border-bottom:1px solid var(--mv-line); }
.mv-jump .mv-wrap{ display:flex; gap:8px; overflow-x:auto; padding-block:11px; scrollbar-width:thin; }
.mv-jump a{ flex:none; font-size:14px; padding:6px 12px; border:1px solid var(--mv-line);
  border-radius:100px; color:var(--mv-ink-soft); background:var(--mv-bg); text-decoration:none; }
.mv-jump a:hover{ border-color:var(--mv-sea); color:var(--mv-sea); text-decoration:none; }

/* ---------- διάταξη ---------- */
.mv-main{ padding-block:30px 46px; }
.mv-layout{ gap:34px; }
.mv-layout > .wp-block-column:last-child{ align-self:flex-start; position:sticky; top:90px; }
@media (max-width:781px){
  .mv-layout > .wp-block-column:last-child{ position:static; }
}

/* ---------- εισαγωγικό σημείωμα ---------- */
.mv-lead{ background:var(--mv-paper); border:1px solid var(--mv-line);
  border-left:4px solid var(--mv-pelion); border-radius:var(--mv-radius);
  padding:16px 20px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.mv-lead p{ margin:0; font-size:15.5px; color:var(--mv-ink-soft); flex:1; min-width:220px; }
.mv-refresh{ font:600 14px var(--mv-body); background:var(--mv-sea-tint); color:var(--mv-sea);
  border:1px solid var(--mv-line); border-radius:var(--mv-radius); padding:9px 13px;
  cursor:pointer; display:flex; align-items:center; gap:7px; }
.mv-refresh:hover{ background:var(--mv-sea); color:#fff; border-color:var(--mv-sea); }
.mv-refresh svg{ width:14px; height:14px; fill:currentColor; }
.mv-spin{ animation:mv-sp .8s linear infinite; }
@keyframes mv-sp{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .mv-spin{ animation:none; } }

/* ---------- πάνελ χαρτών ---------- */
.mv-panel{ background:var(--mv-paper); border:1px solid var(--mv-line);
  border-left:4px solid var(--mv-sea); border-radius:var(--mv-radius);
  padding:0; box-shadow:var(--mv-shadow); overflow:hidden; }
.mv-panel.is-observation{ border-left-color:var(--mv-pelion); }
.mv-panel.is-outlook{ border-left-color:var(--mv-brick); }
.mv-panel > .wp-block-group__inner-container,
.mv-panel{ display:block; }
.mv-panel h2{ font-size:20.5px; margin:0; }
.mv-panel-head{ padding:14px 18px 13px; border-bottom:1px solid var(--mv-line-soft);
  display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.mv-panel-head h2{ flex:1; min-width:200px; }
.mv-source{ font-size:12.5px; color:var(--mv-ink-soft); margin:0; white-space:nowrap; }
.mv-source a{ color:var(--mv-ink-soft); border-bottom:1px dotted var(--mv-line); text-decoration:none; }
.mv-source a:hover{ color:var(--mv-sea); text-decoration:none; }
.mv-panel-body{ padding:18px; }
.mv-panel-body > p{ font-size:15.5px; color:var(--mv-ink-soft); max-width:70ch; }
.mv-panel-body h3{ font-size:16px; margin:0 0 8px; }

/* το «πασπαρτού» κάτω από κάθε χάρτη */
.mv-mat{ background:var(--mv-mat); border:1px solid var(--mv-line); border-radius:3px;
  padding:8px; margin:0; }
.mv-mat img{ margin-inline:auto; display:block; }
.mv-mat a{ display:block; }
.mv-mat:hover{ border-color:var(--mv-sea); }

.mv-footnote{ font-size:13.5px; color:var(--mv-ink-soft);
  border-top:1px solid var(--mv-line-soft); margin-top:16px; padding-top:12px; }
.mv-placeholder{ background:var(--mv-bg); border:1px dashed var(--mv-line); border-radius:3px;
  min-height:180px; display:grid; place-items:center; text-align:center; padding:22px;
  color:var(--mv-ink-soft); font-size:13.5px; line-height:1.5; }
.mv-placeholder code{ font-size:12px; color:var(--mv-sea); word-break:break-all; }

/* ---------- πλαϊνή στήλη ---------- */
.mv-widget{ background:var(--mv-paper); border:1px solid var(--mv-line);
  border-radius:var(--mv-radius); padding:18px; box-shadow:var(--mv-shadow); }
.mv-widget h2{ font-size:17.5px; margin:0 0 13px; padding-bottom:9px;
  border-bottom:2px solid var(--mv-sea-tint); position:relative; }
.mv-widget h2::after{ content:""; position:absolute; left:0; bottom:-2px; width:52px; height:2px;
  background:var(--mv-sea); }
.mv-widget p{ font-size:14.5px; color:var(--mv-ink-soft); }
.mv-widget ul.wp-block-latest-posts__list{ list-style:none; margin:0; padding:0; }
.mv-widget .wp-block-latest-posts__list li{ border-bottom:1px solid var(--mv-line-soft);
  padding:9px 0; font-size:14.5px; line-height:1.45; }
.mv-widget .wp-block-latest-posts__list li:first-child{ padding-top:0; }
.mv-widget .wp-block-latest-posts__list li:last-child{ border-bottom:0; padding-bottom:0; }
.mv-widget .mv-name{ font-family:var(--mv-display); font-weight:700; font-size:18px; margin:0; color:var(--mv-ink); }
.mv-sponsor{ background:var(--mv-mat); border:1px solid var(--mv-line); border-radius:3px;
  padding:10px; margin:0; }
.mv-adslot{ border:1px dashed var(--mv-line); border-radius:3px; padding:16px; text-align:center;
  font-size:13.5px; color:var(--mv-ink-soft); background:var(--mv-bg); }

/* ---------- άρθρα και σελίδες ---------- */
.mv-article{ background:var(--mv-paper); border:1px solid var(--mv-line);
  border-radius:var(--mv-radius); padding:26px 28px; box-shadow:var(--mv-shadow); }
.mv-article .mv-meta{ font-size:13.5px; color:var(--mv-ink-soft); }
.mv-article p{ max-width:72ch; }
.mv-card{ background:var(--mv-paper); border:1px solid var(--mv-line);
  border-radius:var(--mv-radius); padding:20px; box-shadow:var(--mv-shadow); }
.mv-card h2{ font-size:19px; }

/* ---------- υποσέλιδο ---------- */
.mv-footer{ background:var(--mv-sea-deep); color:#B9D3DF; }
.mv-footer h2{ font-size:16px; color:#fff; margin:0 0 13px; }
.mv-footer p, .mv-footer li{ font-size:14.5px; line-height:1.65; }
.mv-footer a{ color:#D8E9F1; text-decoration:none; }
.mv-footer a:hover{ color:#fff; text-decoration:underline; }
.mv-footer ul{ list-style:none; margin:0; padding:0; }
.mv-footer li{ margin:0 0 8px; }
.mv-footer .mv-social a{ color:#B9D3DF; }
.mv-footer-logo{ height:138px; width:auto; display:block; margin:32px 0 6px; }
.mv-footer .mv-cols{ padding-block:22px 34px; gap:30px; }
.mv-credits{ border-top:1px solid rgba(255,255,255,.14); font-size:13.5px; color:#8FB3C3; }
.mv-credits .mv-wrap{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; padding-block:16px; }
.mv-credits .mv-spacer{ flex:1; }
.mv-credits p{ margin:0; font-size:13.5px; }

/* ---------- μεγέθυνση εικόνας ---------- */
.mv-lightbox{ position:fixed; inset:0; background:rgba(6,22,30,.93); z-index:100;
  display:none; place-items:center; padding:26px; }
.mv-lightbox.is-open{ display:grid; }
.mv-lightbox img{ max-width:96vw; max-height:88vh; background:#fff; padding:8px; border-radius:3px; }
.mv-lightbox button{ position:absolute; top:14px; right:16px; background:none;
  border:1px solid rgba(255,255,255,.4); color:#fff; width:38px; height:38px;
  border-radius:3px; font-size:20px; line-height:1; cursor:pointer; }
.mv-lightbox button:hover{ background:rgba(255,255,255,.15); }

/* ---------- διορθώσεις για τον επεξεργαστή ---------- */
.editor-styles-wrapper .mv-nav{ position:static; }

.mv-main{ padding-inline:20px; }
