/*
Theme Name: RhythmOfLife
Theme URI: https://projects.nib.si/rhythmoflife/
Author: Jon Novak (NIB)
Description: Samostojna klasična WordPress tema (PHP), ki poustvari videz in strukturo strani RhythmOfLife (prvotno Dazzling by Colorlib). Vsa vsebina se izpisuje dinamicno (the_content, wp_nav_menu, widgeti), da jo urejevalci lahko urejajo prek nadzorne plosce. Izhodisce za prenovo.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rhythmoflife
*/

/* ============================================================
   1. Design tokens
   ============================================================ */
:root{
  --rol-accent:#182850;       /* barva logotipa RhythmOfLife */
  --rol-accent-dark:#0f1a38;
  --rol-text:#2b2b2b;
  --rol-muted:#6b7280;
  --rol-bg:#ffffff;
  --rol-bg-alt:#f6f8fa;
  --rol-border:#e5e7eb;
  --rol-footer-bg:#232a31;
  --rol-footer-text:#c7ccd1;
  --rol-maxw:1140px;
  --rol-font:'Helvetica Neue',Helvetica,Arial,'Segoe UI',Roboto,sans-serif;
}

/* ============================================================
   2. Reset / base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--rol-font);
  font-size:16px;
  line-height:1.7;
  color:var(--rol-text);
  background-color:var(--rol-bg);
  /* pokončno ozadje na vseh straneh, od roba do roba */
  background-image:url(assets/ozadje.jpg);
  background-repeat:no-repeat;
  background-position:center top;
  background-attachment:fixed;
  background-size:100% auto;
}
/* domača stran: ležeče (landscape) ozadje, prav tako od roba do roba */
body.home{
  background-image:url(assets/ozadje-lezece.jpg);
}
img{max-width:100%;height:auto}
a{color:var(--rol-accent);text-decoration:none}
a:hover{color:var(--rol-accent-dark);text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;color:#1f2937;margin:0 0 .6em}
h1{font-size:2rem}
h2{font-size:1.6rem}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
.rol-container{max-width:var(--rol-maxw);margin:0 auto;padding:0 20px}

/* ============================================================
   3. Header / navbar (Bootstrap-navbar videz z dropdowni)
   ============================================================ */
.rol-header{
  background:#fff;
  border-bottom:1px solid var(--rol-border);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
  position:sticky;top:0;z-index:100;
}
.rol-header-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 0;
}
.rol-brand{
  display:flex;align-items:center;gap:14px;
  text-decoration:none;line-height:1.2;
}
.rol-brand:hover{text-decoration:none}
.rol-brand-logo{height:65px;width:auto;flex:none}
.rol-brand-text{display:flex;flex-direction:column;gap:3px}
/* Naslov strani: glavni jezik velik navy, drugi manjši siv. */
.rol-brand-primary{font-size:1.18rem;font-weight:700;color:var(--rol-accent);letter-spacing:.2px}
.rol-brand-secondary{font-size:.82rem;font-weight:400;color:var(--rol-muted)}
.rol-header-actions{display:flex;align-items:center;gap:10px;flex:none}
.rol-lang{display:inline-flex;align-items:center;line-height:0;border:1px solid var(--rol-border);border-radius:6px;padding:4px;text-decoration:none}
.rol-lang:hover{border-color:var(--rol-accent)}
.rol-flag{display:block;border-radius:2px}
.rol-login{font-size:.82rem;color:var(--rol-muted);text-decoration:none;border:1px solid var(--rol-border);border-radius:6px;padding:6px 13px;white-space:nowrap}
.rol-login:hover{color:#fff;background:var(--rol-accent);border-color:var(--rol-accent);text-decoration:none}
.rol-nav{border-top:1px solid var(--rol-border);overflow-x:auto}
.rol-nav>.rol-container{max-width:1400px}
.rol-nav-toggle{
  display:none;background:none;border:1px solid var(--rol-border);
  border-radius:4px;padding:8px 10px;cursor:pointer;font-size:1.2rem;line-height:1;
}

/* menu — vse postavke v eni vrstici */
.rol-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;justify-content:center}
.rol-menu li{position:relative}
.rol-menu a{
  display:block;padding:14px 12px;color:#333;font-size:.86rem;white-space:nowrap;
  text-decoration:none;transition:background .15s ease,color .15s ease;
}
.rol-menu a:hover{color:#fff;background:var(--rol-accent);text-decoration:none}
.rol-menu .current-menu-item>a,
.rol-menu .current_page_item>a,
.rol-menu .current-menu-parent>a,
.rol-menu .current-menu-ancestor>a{color:#fff;background:var(--rol-accent)}

/* dropdowns */
.rol-menu .sub-menu{
  list-style:none;margin:0;padding:6px 0;
  position:absolute;left:0;top:100%;min-width:250px;
  background:#fff;border:1px solid var(--rol-border);
  box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:0 0 6px 6px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.15s ease;z-index:110;
}
.rol-menu li:hover>.sub-menu,
.rol-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.rol-menu .sub-menu a{padding:10px 18px;border-bottom:none;white-space:nowrap;font-size:.92rem;color:#333}
.rol-menu .sub-menu a:hover{background:var(--rol-accent);color:#fff}
.rol-menu .menu-item-has-children>a::after{content:" \25BE";font-size:.7em;color:var(--rol-muted)}

/* ============================================================
   4. Content
   ============================================================ */
.rol-site-main{padding:40px 0 60px;min-height:50vh}
.rol-layout{display:flex;gap:40px;align-items:flex-start}
.rol-content{flex:1 1 auto;min-width:0}
.rol-sidebar{flex:0 0 300px}
.rol-fullwidth .rol-content{flex:1 1 100%}
.rol-page-title{border-bottom:2px solid var(--rol-border);padding-bottom:.4em;margin-bottom:.8em}
.entry-content img{border-radius:4px}
.entry-content .wp-block-image,.entry-content figure{margin:1.4em 0}
/* Gradivo dogodka med besedilom (slike/videi) — odzivno, lepo umeščeno */
.entry-content img,.entry-content video{max-width:100%;height:auto}
.rol-media{margin:1.4em 0}
.rol-media video,.rol-media img{width:100%;max-width:720px;height:auto;display:block;border-radius:8px}
.rol-media figcaption{font-size:.85rem;color:var(--rol-muted);margin-top:6px}
.entry-content ul,.entry-content ol{margin:0 0 1.1em 1.4em}
.entry-content a{text-decoration:underline}

/* Velikosti pisave iz urejevalnika (blok Tipografija → Velikost). Ujemajo se z editor-font-sizes. */
.has-small-font-size{font-size:14px}
.has-normal-font-size{font-size:16px}
.has-medium-font-size{font-size:18px}
.has-large-font-size{font-size:22px}
.has-x-large-font-size{font-size:28px}
.has-huge-font-size{font-size:34px;line-height:1.3}

/* Skrij podvojene uvožene elemente (EU strip, krožni logotip) — so že v nogi/glavi. */
.entry-content img[src*="obvezni_elementi"],
.entry-content img[src*="logotip-z-napisom-v-krogu"]{display:none}
.entry-content p:has(> img[src*="obvezni_elementi"]),
.entry-content p:has(> img[src*="logotip-z-napisom-v-krogu"]),
.entry-content figure:has(img[src*="obvezni_elementi"]),
.entry-content figure:has(img[src*="logotip-z-napisom-v-krogu"]){display:none}

/* sidebar widgets */
.rol-sidebar .widget{background:var(--rol-bg-alt);border:1px solid var(--rol-border);border-radius:6px;padding:18px 20px;margin-bottom:24px}
.rol-sidebar .widget-title{margin-top:0;font-size:1.05rem}
.rol-sidebar ul{list-style:none;margin:0;padding:0}
.rol-sidebar li{padding:5px 0;border-bottom:1px solid var(--rol-border)}
.rol-sidebar li:last-child{border-bottom:none}

/* ============================================================
   5. Footer
   ============================================================ */
.rol-footer{background:#fff;border-top:1px solid var(--rol-border);padding:30px 0 26px;margin-top:40px}
.rol-footer-widgets{display:flex;flex-wrap:wrap;gap:32px;margin-bottom:24px}
.rol-footer-widgets .widget{flex:1 1 240px}
.rol-footer-widgets .widget-title{font-size:1rem;margin-bottom:.6em}

/* obvezni elementi EU projekta (kot na sedanji strani): emblem + izjava + NIB logo */
.rol-eu-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:26px 36px}
.rol-eu-emblem{flex:0 0 auto}
.rol-eu-emblem img{display:block;height:60px;width:auto}
.rol-eu-text{flex:1 1 320px;max-width:430px;margin:0;font-size:.8rem;line-height:1.5;color:#444}
.rol-eu-nib{flex:0 0 auto}
.rol-eu-nib img{display:block;height:52px;width:auto}
.rol-footer-bottom{border-top:1px solid var(--rol-border);margin-top:22px;padding-top:16px;font-size:.82rem;color:var(--rol-muted);text-align:center}

/* ============================================================
   5b. Dogodki (arhiv + kartice)
   ============================================================ */
.rol-event-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:6px 0 26px}
.rol-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rol-term-desc{color:#555;margin-bottom:14px}

/* Sortiraj — gumb + spustni panel z večizbirnimi filtri */
.rol-sort{position:relative}
.rol-sort-toggle{background:#fff;border:1px solid var(--rol-border);border-radius:22px;padding:8px 16px;font-size:.9rem;color:#333;cursor:pointer;transition:.15s ease}
.rol-sort-toggle:hover{border-color:var(--rol-accent);color:var(--rol-accent)}
.rol-sort-toggle.is-filtering{background:var(--rol-accent);border-color:var(--rol-accent);color:#fff}
.rol-sort-panel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;min-width:300px;max-width:540px;background:#fff;border:1px solid var(--rol-border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:16px 18px}
.rol-facet{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.rol-facet:last-child{margin-bottom:0}
.rol-facet-label{font-size:.72rem;font-weight:700;color:var(--rol-muted);text-transform:uppercase;letter-spacing:.05em;min-width:64px}
.rol-facet-chip{background:#fff;border:1px solid var(--rol-border);border-radius:20px;padding:6px 13px;font-size:.85rem;color:#333;cursor:pointer;transition:.15s ease}
.rol-facet-chip:hover{border-color:var(--rol-accent);color:var(--rol-accent)}
.rol-facet-chip.is-active{background:var(--rol-accent);border-color:var(--rol-accent);color:#fff}
/* povezave namesto gumbov (strežniško filtriranje) */
.rol-chip,.rol-tab,.rol-facet-chip{text-decoration:none}
.rol-tab{display:inline-block}
summary.rol-sort-toggle{list-style:none;display:inline-block}
summary.rol-sort-toggle::-webkit-details-marker{display:none}
summary.rol-sort-toggle::marker{content:""}
.rol-facet-reset{margin:8px 0 0;flex-basis:100%}
.rol-facet-reset a{font-size:.82rem;color:var(--rol-muted)}
.rol-clear-all{font-size:.85rem;color:var(--rol-muted);text-decoration:underline;align-self:center}
.rol-clear-all:hover{color:var(--rol-accent)}

/* Objave v medijih */
.rol-objave-list{display:flex;flex-direction:column;gap:14px}
.rol-objava{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--rol-border);border-radius:12px;padding:16px 20px}
.rol-objava-ikona{flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.rol-objava-ikona .rol-medij-svg{display:block;width:46px;height:46px;border-radius:10px}
.rol-objava-body{flex:1 1 auto;min-width:0}
.rol-objava-meta{font-size:.78rem;color:var(--rol-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.rol-objava-title{margin:0 0 4px;font-size:1.1rem}
.rol-objava-title a{color:var(--rol-accent);text-decoration:none}
.rol-objava-title a:hover{text-decoration:underline}
.rol-objava-desc{margin:0;font-size:.9rem;color:#555}
.rol-objava-link{flex:0 0 auto;white-space:nowrap}
@media (max-width:640px){.rol-objava{flex-direction:column;align-items:flex-start}}

/* sekundarni zavihki na strani skupine (Vsebina / Dogodki) */
.rol-subnav{display:flex;gap:6px;border-bottom:1px solid var(--rol-border);margin:0 0 26px}
.rol-tab{background:none;border:none;border-bottom:3px solid transparent;padding:12px 18px;font-size:1rem;color:#444;cursor:pointer;transition:.15s ease}
.rol-tab:hover{color:var(--rol-accent)}
.rol-tab.is-active{color:var(--rol-accent);border-bottom-color:var(--rol-accent);font-weight:700}

/* Partnerji: logotip + ime (povezava) + opis; naslova Koordinator / Partnerji */
.rol-partner-sekcija{font-size:1.15rem;font-weight:700;color:var(--rol-accent);margin:28px 0 14px;border-bottom:1px solid var(--rol-border);padding-bottom:6px}
.rol-partner{display:flex;gap:24px;align-items:flex-start;margin:0 0 26px}
.rol-partner-logo{flex:0 0 160px;text-align:center}
.rol-partner-logo img{max-width:160px;max-height:96px;width:auto;height:auto}
/* Varovalo: logotip novega partnerja (vstavljen prek »Dodaj predstavnostno vsebino«) naj bo
   prave velikosti in ne raztegnjen čez vso širino, tudi če ni v okvirju .rol-partner-logo. */
.rol-partnerji .entry-content img{max-width:200px;max-height:110px;width:auto;height:auto}
.rol-partnerji .entry-content .rol-partner-logo img{max-width:160px;max-height:96px}
.rol-partner-body{flex:1 1 auto;min-width:0}
.rol-partner-ime{font-size:1.1rem;margin:0 0 .45em}
.rol-partner-ime a{color:var(--rol-accent);text-decoration:none}
.rol-partner-ime a:hover{text-decoration:underline}
.rol-partner-body p{margin:0;max-width:760px}
@media(max-width:640px){.rol-partner{flex-direction:column;gap:10px}.rol-partner-logo{flex-basis:auto;text-align:left}}
.rol-chip{
  background:#fff;border:1px solid var(--rol-border);border-radius:22px;
  padding:8px 16px;font-size:.9rem;color:#333;cursor:pointer;transition:.15s ease;
}
.rol-chip:hover{border-color:var(--rol-accent);color:var(--rol-accent)}
.rol-chip.is-active{background:var(--rol-accent);border-color:var(--rol-accent);color:#fff}

.rol-events-heading{
  text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;
  color:var(--rol-muted);font-weight:700;margin:30px 0 14px;
}
.rol-events-list{display:flex;flex-direction:column;gap:16px}

.rol-event{
  display:flex;align-items:stretch;gap:0;background:#fff;
  border:1px solid var(--rol-border);border-radius:12px;overflow:hidden;
}
.rol-event[data-state="upcoming"]{border-color:var(--rol-accent);box-shadow:0 0 0 1px var(--rol-accent) inset}

.rol-event-date{
  flex:0 0 92px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#eef1f7;color:var(--rol-accent);padding:16px 8px;text-align:center;
}
.rol-event-date .d{font-size:1.9rem;font-weight:800;line-height:1}
.rol-event-date .m{font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-top:2px}
.rol-event-date .y{font-size:.72rem;color:var(--rol-muted);margin-top:2px}

.rol-event-photo{
  flex:0 0 190px;display:flex;align-items:center;justify-content:center;
  background:#f0f2f7;color:#b9c0cf;overflow:hidden;
}
.rol-event-photo img{width:100%;height:100%;object-fit:cover;display:block}

.rol-event-body{flex:1 1 auto;min-width:0;padding:16px 20px}
.rol-event-title{margin:0 0 8px;font-size:1.2rem}
.rol-event-title a{color:var(--rol-accent);text-decoration:none}
.rol-event-title a:hover{text-decoration:underline}
.rol-event-meta{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:3px}
.rol-event-meta li{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#444}
.rol-event-meta .rol-ico{flex:none;color:var(--rol-accent)}
.rol-event-desc{margin:8px 0 12px;font-size:.92rem;color:#555}

.rol-event-badges{display:flex;flex-wrap:wrap;gap:8px}
.rol-badge{
  display:inline-block;background:#e7ebf4;color:var(--rol-accent);
  border-radius:20px;padding:4px 12px;font-size:.78rem;font-weight:600;
}
.rol-badge-muted{background:#eceef1;color:var(--rol-muted)}
/* vrstica: vrste dogodka (tip) */
.rol-event-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* vrstica: ciljne skupine (skupine ljudi) — enaka temnejša barva kot ostale značke */
.rol-event-groups{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* 3. vrstica: kategorije Ritmi */
.rol-event-rhythms{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rol-badge-rhythm{display:inline-flex;align-items:center;gap:6px}
.rol-badge-rhythm .rol-ritem-ico{flex:none}

.rol-event-actions{
  flex:0 0 auto;display:flex;flex-direction:column;gap:10px;justify-content:center;
  padding:16px 20px;border-left:1px solid var(--rol-border);
}
.rol-btn{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  border:1px solid var(--rol-accent);border-radius:8px;padding:9px 16px;
  font-size:.9rem;color:var(--rol-accent);background:#fff;text-decoration:none;transition:.15s ease;
}
.rol-btn:hover{background:var(--rol-accent);color:#fff;text-decoration:none}
.rol-btn-primary{background:var(--rol-accent);color:#fff}
.rol-btn-primary:hover{background:var(--rol-accent-dark)}

/* posamezen dogodek */
.rol-event-single-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:20px}
.rol-event-single-head .rol-event-date{flex:0 0 92px;border-radius:12px}
.rol-event-single .rol-page-title{border:none;padding:0;margin-bottom:10px}
.rol-event-single-cta{margin:14px 0 0}
.rol-event-single-photo{margin:0 0 22px}
.rol-event-single-photo img{width:100%;height:auto;border-radius:10px}
.rol-back{margin:0 0 14px;font-size:.9rem}

/* ============================================================
   6. Responsive
   ============================================================ */
@media (max-width:760px){
  .rol-event{flex-direction:column}
  .rol-event-date{flex-basis:auto;flex-direction:row;gap:8px;justify-content:flex-start;padding:10px 16px}
  .rol-event-date .d{font-size:1.3rem}
  .rol-event-photo{flex-basis:auto;height:180px}
  .rol-event-actions{border-left:none;border-top:1px solid var(--rol-border);flex-direction:row}
  .rol-event-single-head{flex-direction:column;gap:12px}
}
@media (max-width:900px){
  .rol-layout{flex-direction:column}
  .rol-sidebar{flex:1 1 100%;width:100%}
}
@media (max-width:768px){
  .rol-nav-toggle{display:block}
  .rol-menu{flex-direction:column;display:none}
  .rol-nav.open .rol-menu{display:flex}
  .rol-menu a{padding:12px 8px;border-bottom:1px solid var(--rol-border)}
  .rol-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;min-width:0;padding-left:16px}
  .rol-brand-logo{height:53px}
  .rol-brand-primary{font-size:1rem}
  .rol-eu-row{gap:18px}
}
