/*
Theme Name: Muzeum Regionalne Ziemi Sulmierzyckiej
Author: Właściciel strony
Version: 1.0.0
Text Domain: muzeum
*/

:root{
  --blue:#21479c;
  --blue-dark:#18387e;
  --blue-soft:#3d6ae0;
  --bg:#eef2f7;
  --bg-soft:#e8edf5;
  --card:#ffffff;
  --text:#233042;
  --muted:#617086;
  --line:#d9e0ea;
  --shadow:0 10px 28px rgba(17,24,39,.08);
  --shadow-strong:0 16px 32px rgba(17,24,39,.12);
  --radius:22px;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  overflow-x:hidden;
}

html{scroll-behavior:smooth}

body{
  position:relative;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  line-height:1.65;
  font-size:16px;
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:var(--blue);
  text-decoration:none;
}

a:focus,
button:focus,
input:focus{
  outline:3px solid var(--blue);
  outline-offset:2px;
}

h1,h2,h3,h4,h5,h6{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:0;
  font-weight:700;
  margin-top:0;
}

p, li, span, div, input, button, a{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.skip-link{
  position:absolute;
  top:-50px;
  left:12px;
  background:var(--blue);
  color:#fff;
  padding:10px 14px;
  z-index:10000;
  border-radius:10px;
  text-decoration:none;
  transition:top .2s ease;
}

.skip-link:focus{top:12px}

/* =========================
   TŁO PREMIUM – DESKTOP PRO
========================= */

@media (min-width: 1200px){
  body::before{
    content:"";
    position:fixed;
    inset:0;
    background-image:url('/wp-content/themes/muzeum-theme-fixed2-updated/assets/bg-muzeum.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    opacity:.15;
    filter:brightness(.92) contrast(1.06);
    z-index:-2;
    pointer-events:none;
  }

  body::after{
    content:"";
    position:fixed;
    inset:0;
    background:
      linear-gradient(to right,
        rgba(245,247,252,.95) 0%,
        rgba(245,247,252,.85) 25%,
        rgba(245,247,252,.65) 50%,
        rgba(245,247,252,.85) 75%,
        rgba(245,247,252,.95) 100%
      );
    z-index:-1;
    pointer-events:none;
  }
}

/* =========================
   DOSTĘPNOŚĆ
========================= */

.accessibility-bar{
  position:fixed;
  right:20px;
  bottom:20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  z-index:9999;
}

.accessibility-bar button{
  background:var(--blue);
  color:#fff;
  border:none;
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(0,0,0,.2);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}

.accessibility-bar button:hover{
  background:var(--blue-dark);
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(0,0,0,.22);
}

/* =========================
   HERO
========================= */

.hero,
.home-hero{
  position:relative;
  overflow:hidden;
  min-height:520px;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}

.hero::before,
.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.45));
  z-index:1;
}

.hero-overlay{display:none}

.hero-inner{
  position:relative;
  z-index:2;
  max-width:1280px;
  width:100%;
  margin:0 auto;
  padding:26px 20px 44px;
}

.topbar-wrap{position:relative}

.topbar,
.topbar ul{
  list-style:none;
  margin:0;
  padding:0;
}

.topbar{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.topbar li{list-style:none}

.topbar a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:rgba(33,71,156,.96);
  color:#fff;
  padding:12px 18px;
  border-radius:16px;
  font-weight:700;
  box-shadow:0 8px 20px rgba(17,24,39,.14);
  transition:background .2s ease,transform .2s ease;
}

.topbar a:hover{
  background:var(--blue-dark);
  transform:translateY(-1px);
}

.mobile-topbar{display:none}

.datetime-bar{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:22px 0 26px;
  flex-wrap:wrap;
}

.datetime-box{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  min-width:230px;
  padding:10px 16px;
  border-radius:16px;
  background:rgba(33,71,156,.96);
  color:#fff;
  box-shadow:0 8px 22px rgba(17,24,39,.12);
  font-weight:700;
}

.hero-copy{
  text-align:center;
  color:#fff;
  padding-top:10px;
}

.hero-copy h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:72px;
  line-height:.96;
  margin:24px 0 10px;
  text-shadow:0 4px 18px rgba(0,0,0,.25);
}

.hero-line{
  width:180px;
  height:4px;
  background:rgba(255,255,255,.88);
  border-radius:999px;
  margin:16px auto;
}

.subname{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:30px;
  color:#fff;
}

.tagline{
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  margin-top:12px;
  color:#fff;
}

.hero-sub{
  min-height:280px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.hero-sub .hero-copy h1{font-size:42px}

.hero-sub .subname{
  font-size:16px;
  opacity:.9;
}

/* =========================
   LAYOUT
========================= */

.main{
  max-width:1500px;
  width:100%;
  margin:0 auto;
  padding:24px 16px 40px;
}

.grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:16px;
  align-items:start;
}

.cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.cards .wide{
  grid-column:1 / -1;
}

.sidebar{
  display:grid;
  gap:16px;
}

/* =========================
   KARTY / OGÓLNE
========================= */

.card{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.72);
}

.sidebar .card{padding:18px}

.cards .card{
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}

.cards .card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(33,71,156,.14);
}

.card h3{
  color:var(--blue);
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  line-height:1.2;
  margin:0 0 12px;
  position:relative;
  font-weight:700;
}

.card h3::after{
  content:"";
  display:block;
  width:100%;
  max-width:200px;
  height:2px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),rgba(111,148,243,.35));
}

.card p{
  font-size:17px;
  line-height:1.8;
  margin:0 0 12px;
}

.notice-card{
  margin-bottom:18px;
  border-left:6px solid var(--blue);
}

.notice-card h3{font-size:30px}

.section-title{
  color:var(--blue);
  font-family:Georgia,"Times New Roman",serif;
  font-size:64px;
  line-height:1.02;
  margin:6px 0 18px;
}

.label{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
  color:var(--blue);
  font-weight:800;
  margin-bottom:8px;
}

/* =========================
   LOGO / CTA
========================= */

.logo{text-align:center}

.logo-image{
  max-width:190px;
  margin:0 auto 10px;
}

.logo-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  line-height:1.2;
  color:var(--blue);
}

.logo-sub{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:16px;
  color:var(--blue);
  margin-top:6px;
}

.route-btn,
.fb-btn{
  display:inline-block;
  background:var(--blue);
  color:#fff;
  text-decoration:none;
  padding:12px 16px;
  border-radius:14px;
  font-weight:700;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  box-shadow:0 10px 22px rgba(17,24,39,.12);
}

.route-btn:hover,
.fb-btn:hover{
  background:var(--blue-dark);
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,.15);
}

/* =========================
   MEDIA / MAPY
========================= */

.map-wrap{
  border-radius:16px;
  overflow:hidden;
}

.map-wrap iframe{
  width:100%;
  display:block;
  border:0;
}

.youtube-thumb{
  display:block;
  position:relative;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(17,24,39,.12);
}

.youtube-thumb .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.28));
}

/* =========================
   SPECJALNE BOXY
========================= */

.facebook-coming,
.visit-weather{
  background:linear-gradient(135deg,var(--blue),#3b5fc0);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
}

.facebook-coming .label,
.facebook-coming h3,
.facebook-coming p,
.visit-weather .label,
.visit-weather h3,
.visit-weather p{
  color:#fff;
}

.facebook-coming h3::after,
.visit-weather h3::after{
  width:100%;
  max-width:180px;
  background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.28));
}

.search-box form{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.search-box input[type="search"]{
  width:100%;
  padding:11px 13px;
  border-radius:12px;
  border:1px solid #cfd8e3;
  font-size:15px;
  background:#fff;
  color:var(--text);
}

.search-box button{
  width:100%;
  background:var(--blue);
  color:#fff;
  border:none;
  padding:11px 13px;
  border-radius:12px;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
}

/* =========================
   POGODA
========================= */

.weather-box{
  margin-top:12px;
  display:grid;
  gap:10px;
}

.weather-main{
  display:flex;
  align-items:center;
  gap:14px;
}

.weather-icon{
  width:58px;
  height:58px;
  min-width:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.weather-main-text{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.weather-temp{
  font-size:32px;
  font-weight:800;
  line-height:1;
  color:#fff;
}

.weather-desc{
  font-size:15px;
  color:rgba(255,255,255,.92);
}

.weather-extra{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  color:#fff;
}

.weather-extra strong{
  color:#fff;
  text-align:right;
}

/* =========================
   SIDEBAR NEWS
========================= */

.news-sidebar-list{
  display:grid;
  gap:12px;
  margin-top:10px;
}

.news-sidebar-item{
  background:#fff;
  padding:14px;
  border-left:4px solid var(--blue);
  border-radius:12px;
  transition:.25s ease;
  box-shadow:0 8px 22px rgba(17,24,39,.06);
}

.news-sidebar-item:hover{
  background:#f7faff;
  transform:translateY(-3px);
  box-shadow:var(--shadow-strong);
}

.news-sidebar-date{
  font-size:12px;
  font-weight:700;
  color:var(--blue);
  margin-bottom:4px;
}

.news-sidebar-title{
  font-weight:700;
  font-size:16px;
  line-height:1.32;
  margin-bottom:4px;
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.news-sidebar-title a{
  color:inherit;
  text-decoration:none;
}

.news-sidebar-title a:hover{color:var(--blue)}

.news-sidebar-excerpt{
  font-size:14px;
  color:#374151;
  line-height:1.55;
}

.news-sidebar-button{margin-top:18px}

.news-sidebar-button .route-btn{
  display:block;
  width:100%;
  text-align:center;
}

/* =========================
   LISTA AKTUALNOŚCI / SINGLE
========================= */

.news-list-card{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:22px;
  align-items:start;
}

.news-list-thumb img,
.single-news-thumb img{
  width:100%;
  display:block;
  border-radius:16px;
}

.news-date-badge{
  display:inline-block;
  background:#f1f6ff;
  color:var(--blue);
  font-size:13px;
  font-weight:700;
  padding:8px 12px;
  border-radius:999px;
}

.news-list-title{
  margin:0 0 12px;
  font-size:34px;
  line-height:1.12;
}

.news-list-title a{
  text-decoration:none;
  color:var(--blue);
}

.news-list-title a:hover{color:var(--blue-dark)}

.news-list-excerpt{
  font-size:18px;
  line-height:1.8;
  color:var(--text);
}

.single-news-card,
.page-content{
  max-width:1100px;
  margin:0 auto 40px auto;
  padding:30px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(217,224,234,.72);
  box-shadow:0 12px 30px rgba(0,0,0,.05);
}

.single-news-content,
.page-text{
  font-size:18px;
  line-height:1.9;
}

.single-news-content p,
.page-text p{margin-bottom:18px}

.single-news-content h2,
.single-news-content h3,
.single-news-content h4,
.page-text h2,
.page-text h3,
.page-text h4{
  color:var(--blue);
  font-family:Georgia,"Times New Roman",serif;
  margin:24px 0 14px;
}

.page-title{
  font-size:32px;
  color:var(--blue);
  margin-bottom:20px;
}

.back-link{
  max-width:1100px;
  margin:20px auto;
  padding:0 20px;
}

.back-link a{
  color:var(--blue);
  text-decoration:none;
  font-weight:600;
}

.back-link a:hover{text-decoration:underline}

/* =========================
   ARCHIWUM AKTUALNOŚCI
========================= */

.news-archive{max-width:1100px}

.news-archive-wrap{
  display:grid;
  gap:22px;
}

.news-archive-card{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:24px;
  align-items:start;
  padding:28px;
}

.news-archive-meta{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}

.news-archive-content{min-width:0}
.news-readmore{margin-top:16px}

/* =========================
   POWRÓT
========================= */

.back-home-wrap{
  margin-bottom:20px;
  display:flex;
  justify-content:flex-start;
}

.back-home-wrap .route-btn{
  display:inline-block;
  font-size:14px;
  padding:10px 16px;
}

/* =========================
   RADA MUZEUM
========================= */

.muzeum-section{margin-top:30px}
.rada-premium{margin-top:20px}

.rada-info{
  background:linear-gradient(135deg,#21479c,#3d6ae0);
  color:#fff;
  padding:18px;
  border-radius:18px;
  margin-bottom:18px;
  box-shadow:0 10px 25px rgba(33,71,156,.25);
}

.rada-info h3,
.rada-info p{color:#fff}

.rada-info h3{
  margin-bottom:10px;
  font-size:18px;
}

.rada-info h3::after{
  width:100%;
  max-width:180px;
  background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.30));
}

.rada-info p{
  font-size:14px;
  line-height:1.6;
  opacity:.95;
}

.rada-grid,
.rada-grid-premium{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.rada-item,
.rada-card-premium,
.rada-list li{
  display:flex;
  align-items:center;
  gap:12px;
  background:linear-gradient(135deg,#21479c,#3d6ae0);
  color:#fff;
  padding:16px;
  border-radius:16px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(33,71,156,.20);
  transition:.25s ease;
}

.rada-item:hover,
.rada-card-premium:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(33,71,156,.30);
}

.rada-item span,
.rada-number,
.rada-list li span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:17px;
  font-weight:800;
}

.rada-name{
  color:#fff;
  font-size:17px;
  font-weight:700;
  line-height:1.35;
}

.rada-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
}

.rada-list li{margin-bottom:14px}

/* =========================
   PREMIUM – INFORMACJE DLA ODWIEDZAJĄCYCH
========================= */

.visit-premium-page{
  display:grid;
  gap:28px;
}

.visit-premium-hero{
  background:linear-gradient(135deg,#21479c 0%,#3b67d8 100%);
  color:#fff;
  border-radius:26px;
  padding:34px 32px;
  box-shadow:0 18px 40px rgba(33,71,156,.22);
  position:relative;
  overflow:hidden;
}

.visit-premium-hero::after{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width:220px;
  height:220px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
}

.visit-premium-badge{
  display:inline-block;
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  padding:8px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  margin-bottom:16px;
  position:relative;
  z-index:1;
}

.visit-premium-hero h2{
  margin:0 0 14px;
  color:#fff!important;
  font-size:42px;
  line-height:1.08;
  position:relative;
  z-index:1;
}

.visit-premium-hero h2::after{display:none}

.visit-premium-lead{
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:rgba(255,255,255,.95);
  max-width:900px;
  position:relative;
  z-index:1;
}

.visit-premium-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
  position:relative;
  z-index:1;
}

.visit-premium-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.visit-premium-card{
  background:rgba(255,255,255,.94);
  border-radius:24px;
  padding:28px;
  border:1px solid rgba(217,224,234,.72);
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  position:relative;
  overflow:hidden;
}

.visit-premium-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:7px;
  height:100%;
  background:linear-gradient(180deg,#21479c,#6f94f3);
}

.visit-premium-icon{
  font-size:26px;
  margin-bottom:10px;
}

.visit-premium-card h3{
  margin:0 0 12px;
  color:#21479c;
  font-size:30px;
  line-height:1.15;
}

.visit-premium-card p{
  margin:0;
  color:#27364f;
  font-size:17px;
  line-height:1.8;
}

.visit-premium-subtext{margin-bottom:18px!important}

.visit-premium-list,
.visit-premium-prices{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.visit-premium-list div,
.visit-premium-prices div{
  background:#f5f8fd;
  border:1px solid #e5ebf5;
  border-radius:16px;
  padding:15px 16px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}

.visit-premium-list strong,
.visit-premium-prices strong{
  color:#1f2f49;
  font-size:16px;
}

.visit-premium-list span,
.visit-premium-prices span{
  color:#21479c;
  font-weight:800;
  font-size:16px;
  white-space:nowrap;
}

.visit-premium-wide{grid-column:1 / -1}

.visit-premium-note{
  margin-top:20px;
  background:#f7faff;
  border:1px solid #e1e9f5;
  border-radius:18px;
  padding:18px;
}

.visit-premium-note strong{
  color:#21479c;
  display:block;
  margin-bottom:6px;
  font-size:18px;
}

.visit-premium-note p{margin:0}

.visit-premium-footer-box{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(217,224,234,.72);
  border-radius:24px;
  padding:28px;
  box-shadow:0 12px 30px rgba(0,0,0,.04);
  text-align:center;
}

.visit-premium-footer-box h3{
  margin:0 0 12px;
  color:#21479c;
  font-size:30px;
}

.visit-premium-footer-box p{
  margin:0 auto;
  max-width:900px;
  color:#27364f;
  font-size:17px;
  line-height:1.9;
}

/* =========================
   STOPKA
========================= */

.site-footer{
  margin-top:40px;
  background:#21479c;
  color:#fff;
  text-align:center;
  padding:28px 18px 130px;
  position:relative;
  z-index:1;
}

.footer-inner{
  max-width:1100px;
  margin:0 auto;
}

.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px 18px;
  margin-bottom:18px;
}

.footer-links a{
  color:#fff;
  text-decoration:none;
  font-weight:500;
  line-height:1.5;
  transition:.25s ease;
}

.footer-links a:hover{
  color:#d6e4ff;
  text-decoration:underline;
}

.footer-copy{
  color:#fff;
  font-size:18px;
  line-height:1.7;
  margin-bottom:12px;
}

.footer-copy strong{
  color:#fff;
  font-weight:700;
}

.footer-contact{
  color:#dfe8ff;
  font-size:16px;
  line-height:1.8;
}

.footer-contact-links{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}

.footer-contact a{
  color:#fff;
  text-decoration:none;
  font-weight:500;
}

.footer-contact a:hover{
  color:#d6e4ff;
  text-decoration:underline;
}

/* =========================
   FONT SIZE
========================= */

body.font-small p,
body.font-small li,
body.font-small a,
body.font-small span,
body.font-small div,
body.font-small .tagline,
body.font-small .subname,
body.font-small .section-title,
body.font-small .card h3,
body.font-small .news-sidebar-title,
body.font-small .news-sidebar-excerpt,
body.font-small .news-list-title,
body.font-small .news-list-excerpt,
body.font-small .single-news-content,
body.font-small .page-text,
body.font-small .page-title{
  font-size:.92em!important;
}

body.font-normal p,
body.font-normal li,
body.font-normal a,
body.font-normal span,
body.font-normal div,
body.font-normal .tagline,
body.font-normal .subname,
body.font-normal .section-title,
body.font-normal .card h3,
body.font-normal .news-sidebar-title,
body.font-normal .news-sidebar-excerpt,
body.font-normal .news-list-title,
body.font-normal .news-list-excerpt,
body.font-normal .single-news-content,
body.font-normal .page-text,
body.font-normal .page-title{
  font-size:1em!important;
}

body.font-large p,
body.font-large li,
body.font-large a,
body.font-large span,
body.font-large div,
body.font-large .tagline,
body.font-large .subname,
body.font-large .section-title,
body.font-large .card h3,
body.font-large .news-sidebar-title,
body.font-large .news-sidebar-excerpt,
body.font-large .news-list-title,
body.font-large .news-list-excerpt,
body.font-large .single-news-content,
body.font-large .page-text,
body.font-large .page-title{
  font-size:1.12em!important;
  line-height:1.8!important;
}

/* =========================
   TABLETY / MOBILE
========================= */

@media (max-width:1199px){
  body{
    background:
      radial-gradient(circle at top right, rgba(33,71,156,.08) 0%, rgba(33,71,156,0) 28%),
      radial-gradient(circle at bottom left, rgba(61,106,224,.06) 0%, rgba(61,106,224,0) 32%),
      linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%);
  }

  body::before,
  body::after{
    display:none!important;
  }
}

@media (max-width:960px){
  .visit-premium-grid{
    grid-template-columns:1fr;
  }

  .visit-premium-wide{
    grid-column:auto;
  }

  .visit-premium-hero h2{
    font-size:34px;
  }
}

@media (max-width:768px){
  .main,
  .hero-inner,
  .grid{
    width:100%;
    max-width:100%;
  }

  .main{
    padding:18px 14px 28px!important;
  }

  .hero,
  .home-hero{
    min-height:auto!important;
    background-position:center center!important;
    background-size:cover!important;
  }

  .hero-inner{
    padding:12px 14px 24px!important;
  }

  .mobile-topbar{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
    margin:0 0 12px;
  }

  .menu-toggle{
    display:block;
    width:100%;
    background:rgba(33,71,156,.95);
    color:#fff;
    border:none;
    border-radius:16px;
    padding:14px 16px;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
  }

  .topbar{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:12px;
    padding:14px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
    border-radius:18px;
  }

  .topbar.mobile-open{display:grid!important}

  .topbar a,
  .topbar li a{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-height:48px;
    width:100%;
    text-align:center;
    padding:12px 14px!important;
    border-radius:14px!important;
    font-size:15px!important;
  }

  .topbar li{
    margin:0!important;
    width:100%!important;
    list-style:none;
  }

  .topbar ul{
    margin:0!important;
    padding:0!important;
    display:contents!important;
  }

  .datetime-bar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:14px 0 18px!important;
  }

  .datetime-box{
    width:100%!important;
    min-width:0;
    border-radius:14px!important;
    font-size:15px!important;
  }

  .hero-copy h1{
    font-size:30px!important;
    line-height:1.04!important;
    margin:10px 0!important;
  }

  .hero-line{
    width:120px!important;
    max-width:45%!important;
    margin:10px auto 12px!important;
  }

  .subname{
    font-size:18px!important;
    line-height:1.3!important;
    margin-bottom:10px!important;
  }

  .tagline{
    font-size:17px!important;
    line-height:1.35!important;
  }

  .hero-sub{min-height:200px!important}
  .hero-sub .hero-copy h1{font-size:28px!important}

  .page-content{padding:20px}

  .card,
  .notice-card,
  .cards .card,
  .sidebar .card,
  .visit-premium-card,
  .visit-premium-footer-box,
  .single-news-card{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:#fff!important;
    border-radius:22px!important;
    padding:20px 18px!important;
    margin-bottom:18px!important;
  }

  .card h3,
  .notice-card h3{
    font-size:22px!important;
    line-height:1.25!important;
    margin-bottom:10px!important;
  }

  .card h3::after{
    max-width:160px;
    margin-top:8px;
  }

  .card p,
  .notice-card p{
    font-size:16px!important;
    line-height:1.72!important;
  }

  .section-title{
    font-size:30px!important;
    line-height:1.1!important;
    margin:6px 0 18px!important;
  }

  .grid{
    display:block!important;
  }

  .cards{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .cards .wide{
    grid-column:auto!important;
  }

  .sidebar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-top:18px!important;
  }

  .logo-image{
    max-width:190px!important;
    margin:0 auto 14px!important;
  }

  .logo-title{
    font-size:20px!important;
    line-height:1.28!important;
  }

  .logo-sub{
    font-size:16px!important;
    line-height:1.35!important;
  }

  .route-btn,
  .fb-btn,
  a.route-btn,
  a.fb-btn{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    padding:14px 18px!important;
    border-radius:16px!important;
    font-size:17px!important;
  }

  .map-wrap iframe{
    height:280px!important;
  }

  .news-list-card{
    grid-template-columns:1fr;
  }

  .news-list-title{font-size:24px}

  .news-list-excerpt,
  .single-news-content,
  .page-text{
    font-size:16px;
    line-height:1.7;
  }

  .rada-grid,
  .rada-grid-premium{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:18px!important;
  }

  .rada-item,
  .rada-card-premium,
  .rada-list li{
    padding:16px 14px!important;
    border-radius:16px!important;
    align-items:center!important;
  }

  .rada-item span,
  .rada-card-premium span,
  .rada-list li span,
  .rada-number{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }

  .rada-name{
    font-size:17px!important;
    line-height:1.4!important;
  }

  .visit-premium-hero{
    padding:24px 20px;
    border-radius:20px;
  }

  .visit-premium-hero h2{
    font-size:28px;
    line-height:1.15;
  }

  .visit-premium-lead{
    font-size:16px;
    line-height:1.7;
  }

  .visit-premium-card h3,
  .visit-premium-footer-box h3{
    font-size:24px;
  }

  .visit-premium-card p,
  .visit-premium-footer-box p{
    font-size:16px;
    line-height:1.75;
  }

  .visit-premium-list div,
  .visit-premium-prices div,
  .weather-extra{
    flex-direction:column;
    align-items:flex-start;
  }

  .weather-extra strong{text-align:left}

  .weather-main{align-items:flex-start}

  .weather-icon{
    width:52px;
    height:52px;
    min-width:52px;
    font-size:28px;
  }

  .weather-temp{font-size:28px}

  .site-footer{
    padding:24px 16px 150px;
  }

  .footer-links{
    flex-direction:column;
    gap:10px;
    margin-bottom:18px;
  }

  .footer-links a{
    display:block;
    width:100%;
    max-width:320px;
    margin:0 auto;
    padding:2px 0;
    font-size:16px;
    line-height:1.5;
  }

  .footer-copy{
    font-size:16px;
    line-height:1.65;
    margin-bottom:14px;
  }

  .footer-contact{
    font-size:15px;
    line-height:1.7;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
  }

  .footer-contact-links{
    flex-direction:column;
    gap:6px;
    margin-top:8px;
  }

  .footer-contact-links span,
  .footer-sep{
    display:none!important;
  }

  .accessibility-bar{
    right:14px;
    bottom:14px;
    gap:8px;
  }

  .accessibility-bar button{
    min-width:44px;
    min-height:44px;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    border-radius:14px!important;
    font-size:18px!important;
  }
}

@media (max-width:420px){
  .site-footer{
    padding:22px 14px 160px;
  }

  .footer-links a{font-size:15px}
  .footer-copy{font-size:15px}
  .footer-contact{font-size:14px}
}

@media (min-width:769px){
  .mobile-topbar,
  .menu-toggle{
    display:none!important;
  }
}
