/*
 Theme Name:   SBD Vsetin Child
 Theme URI:    https://dev.sbdvsetin.cz
 Description:  Child theme for SBD Vsetin — header utils and tiles.
 Author:       You
 Template:     kadence
 Version:      1.0.0 (cleaned)
*/

/* === TYPOGRAPHY (Dosis for headings & footer widgets) === */
.page-title-section,
.entry-title,
.site-footer .widget,
.site-footer .widget *{
  font-family: 'Dosis', sans-serif !important;
}

/* === HEADER – Kontakt + přihlášení === */
.sbd-header-utils-php{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.6rem;
  font-family:'Dosis',sans-serif;
  font-size:1.35rem;
  font-weight:600;
  line-height:1.35;
  margin-left:1rem;
}
.sbd-header-utils-php a{
  display:inline-flex;align-items:center;gap:.6rem;
  text-decoration:none;color:#000;
  transition:text-decoration .2s ease-in-out;
}
.sbd-header-utils-php svg{
  width:28px;height:28px;fill:#3AAA35;flex-shrink:0;display:block;vertical-align:middle;margin-bottom:-2px;
}
.sbd-phone-btn:hover .sbd-text,
.sbd-login-btn:hover .sbd-text,
.sbd-account-btn:hover .sbd-text{ text-decoration:underline; }

/* Header rows alignment (Kadence containers) */
.site-header .site-header-row-container-inner,
.site-header .site-header-main-section-right,
.site-header .site-header-item-inner{ align-items:center !important; }

/* Responsive header utils */
@media (max-width: 991px){
  .sbd-header-utils-php{ font-size:1.2rem; gap:.5rem; }
  .sbd-header-utils-php svg{ width:24px; height:24px; }
}

/* === HERO background overlay === */
.entry-hero .hero-section-overlay{
  background-image:url('https://dev.sbdvsetin.cz/wp-content/uploads/2025/09/photo-hero-bg.jpeg');
  background-size:cover;background-position:center;background-repeat:no-repeat;opacity:1!important;
}

/* === Sticky header (Kadence) + safe containers === */
header.site-header,#masthead.site-header{ position:sticky; top:0; z-index:1005; }
body.admin-bar header.site-header{ top:32px; }
@media (max-width:782px){ body.admin-bar header.site-header{ top:46px; } }
.site-header,.site-header-wrap,.site-top-header-wrap,.site-main-header-wrap,.site-bottom-header-wrap,
.header-navigation,.header-row{
  overflow:visible!important; transform:none!important; contain:initial!important; filter:none!important; perspective:none!important;
}
.site-navigation,.main-navigation,.primary-navigation,.header-navigation{ position:relative; z-index:1006; }

/* Homepage header normalization */
.home header.site-header{ background:#fff!important; position:relative!important; z-index:1000!important;
  box-shadow:0 1px 6px rgba(0,0,0,.05); }
.home .site-main-header-wrap{ min-height:72px!important; padding-top:0!important; padding-bottom:0!important; }
.home .site-header-row-container-inner,.home .site-header-main-section-left,.home .site-header-item-inner{
  align-items:center!important; padding-top:0!important; padding-bottom:0!important; }
.home .site-branding{ margin:0!important; padding:0!important; }

/* Hide mini tiles on home/blog */
body.home .sbd-mini-tiles-wrapper, body.blog .sbd-mini-tiles-wrapper{ display:none!important; }

/* === LEFT MENU SYSTEM (fixed, aligned, footer-safe) =================================== */

/* Variables */
:root{
  --sbd-fixed-top: 120px;                                /* vzdálenost menu od horní hrany (uprav dle hlavičky) */
  --sbd-menu-w: 320px;                                   /* šířka levého menu */
  --sbd-content-max: min(1200px, 100vw - 40px);          /* fallback na šířku obsahu */
  --sbd-edge-nudge: 0px;                                 /* jemné doladění hrany obsahu */
  --sbd-nav-shift: 0px;                                  /* posun nad footer (JS nastavuje) */
}

/* Desktop: rezervace místa pro obsah jen pokud menu existuje (třídu přidá JS) */
@media (min-width: 992px){
  body.has-leftnav .entry-content{
    box-sizing:border-box;
    padding-left: calc(var(--sbd-menu-w) + 2rem);
  }

  /* Fixed levé menu – zarovnané na levou hranu obsahu, bezpečný posun nad footer */
  .sbd-article-nav{
    position:fixed !important;
    top:var(--sbd-fixed-top) !important;
    left: calc((100% - var(--global-content-width, var(--sbd-content-max))) / 2 + var(--sbd-edge-nudge)) !important;
    width:var(--sbd-menu-w) !important;
    max-height: calc(100vh - var(--sbd-fixed-top)) !important;
    overflow:auto !important;
    z-index:9999 !important;
    background:#fff; padding:12px 14px; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.08);
    transform: translateY(var(--sbd-nav-shift, 0px)) !important;
    transition: transform .12s ease-out;
  }

  /* Wrappery s menu centrovat na šířku obsahu (vizuální konzistence) */
  body.has-leftnav .entry-content .wp-block-kadence-rowlayout,
  body.has-leftnav .entry-content .wp-block-columns{
    max-width: var(--global-content-width, var(--sbd-content-max));
    margin-left:auto; margin-right:auto;
  }
}
.entry-content .sbd-article-nav{
  position: fixed !important;
  top: calc(var(--sbd-stick-top) + var(--sbd-hero-offset)) !important;
  left: calc((100% - var(--global-content-width, var(--sbd-content-max))) / 2 + var(--sbd-edge-nudge)) !important;
  width: var(--sbd-menu-w) !important;
  max-height: calc(100vh - var(--sbd-stick-top) - var(--sbd-hero-offset)) !important;
  transform: translateY(var(--sbd-nav-shift, 0px)) !important; /* brzdění nad footerem */
}

/* Mobile/tablet: menu do běžného toku, bez rezervace místa */
@media (max-width: 991.98px){
  .sbd-article-nav{
    position:static !important; top:auto !important; left:auto !important; width:auto !important;
    max-height:none !important; overflow:visible !important; background:transparent; padding:0; box-shadow:none;
    transform:none !important;
  }
  body.has-leftnav .entry-content{ padding-left:0 !important; }
}

/* Levé menu – typografie a odkazy */
.sbd-article-nav{
  font-family:'Dosis',sans-serif;
  font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  line-height:1.45; font-weight:600; color:#3AAA35;
}
.sbd-article-nav a{ display:block; padding:8px 10px; text-decoration:none; color:#3AAA35; }
.sbd-article-nav a:hover, .sbd-article-nav a:focus{ opacity:.9; }
.sbd-article-nav li{ margin-bottom:6px; }

/* === HERO (utility tweaks) === */
.sbd-hero{ width:100%!important; margin:0 auto!important; }
.sbd-hero .wp-block-cover{
  min-height:420px!important; background-position:center center!important; background-repeat:no-repeat!important; background-size:cover!important;
  margin:0!important; padding:0!important;
}
.sbd-hero .wp-block-cover__inner-container{ max-width:100%!important; margin:0 auto!important; padding:0!important; text-align:center; }
.sbd-hero .sbd-tiles{ justify-content:center!important; align-items:center!important; }
.sbd-hero .wp-block-cover{ background-position:center center!important; background-size:cover!important; }
.sbd-hero .kadence-rowlayout-inner{ padding-left:0!important; padding-right:0!important; }

/* --- SBD Vsetín: stín pro karty aktualit --- */
body.page-id-323 .wp-block-kadence-posts article,
body.page-id-323 .wp-block-kadence-posts .kb-post,
body.page-id-323 .wp-block-kadence-posts .kb-post-inner,
body.page-id-323 .wp-block-kadence-posts > div > article {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

body.page-id-323 .wp-block-kadence-posts article:hover,
body.page-id-323 .wp-block-kadence-posts .kb-post:hover,
body.page-id-323 .wp-block-kadence-posts .kb-post-inner:hover,
body.page-id-323 .wp-block-kadence-posts > div > article:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14) !important;
  transform: translateY(-3px);
}

/* === UNIVERZÁLNÍ HERO TITULEK – STEJNÁ POZICE NA VŠECH STRÁNKÁCH === */

/* Hero blok – referenční pozicování */
.entry-hero,
.page-hero {
  position: relative;
  min-height: 320px;
}

/* Nadpis vždy doprostřed obrázku */
.entry-hero h1.entry-title,
.page-hero h1.entry-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  text-align: center;
  color: #fff;
  font-size: clamp(2.6rem, 1.5rem + 2vw, 3.6rem);
  font-weight: 600;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
  width: min(100%, 1200px);
}

/* --- Korekce: stránka O nás (page-id-XXX) má jinou vnitřní strukturu --- */
/* Nahraď XXX skutečným ID stránky „O nás“ (např. page-id-25) */
body.page-id-XXX .entry-hero h1.entry-title,
body.page-id-XXX .page-hero h1.entry-title {
  top: 55%;  /* jemně posune text dolů, pokud byl příliš nahoře */
  transform: translate(-50%, -55%);
}

/* uvnitř accordionu */
.wp-block-kadence-accordion .sbd-acc-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.sbd-btn {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  border-radius: 9999px;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.9rem;
}

.sbd-btn--primary {
  background: #3AAA35;       /* tvoje zelená */
  color: #fff;
}

.sbd-btn--primary:hover {
  filter: brightness(0.95);
}

.sbd-btn--ghost {
  border: 1px solid #3AAA35;
  color: #3AAA35;
  background: #fff;
}

.sbd-btn--ghost:hover {
  background: #e6f5e6;
}


/* === SBD Vsetín: Firemní barvy a komponenty === */

:root {
  --sbd-green: #3AAA35;
  --sbd-teal: #008C8C;
  --sbd-dark: #1C1C1C;
  --sbd-mint: #D9F2E1;
  --sbd-grey: #EAEAEA;
  --sbd-white: #FFFFFF;
  --radius: 14px;
}

/* ===== TLAČÍTKA ===== */
.sbd-btn {
  display: inline-block;
  background: var(--sbd-green);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 0.45rem 1.05rem;
  font-weight: 500;
  font-size: 0.9rem;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.25s ease-out, color 0.25s ease-out;
}
.sbd-btn:hover {
  background: var(--sbd-teal);
  color: #fff;
}

.sbd-btn--primary {
  background: var(--sbd-green);
  color: #fff;
}
.sbd-btn--primary:hover {
  background: var(--sbd-teal);
}

.sbd-btn--secondary {
  background: var(--sbd-teal);
  color: #fff;
}
.sbd-btn--secondary:hover {
  background: var(--sbd-green);
}

.sbd-btn--ghost {
  background: rgba(0,0,0,0.03);
  color: var(--sbd-dark);
}
.sbd-btn--ghost:hover {
  background: rgba(0,0,0,0.08);
}

/* ===== DLAŽDICE ===== */
.sbd-tile {
  background: rgba(58,170,53,0.8);
  color: #fff;
  padding: 0.8rem 1rem;
  border-radius: 12px;
  transition: background 0.25s ease-out;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}
.sbd-tile small {
  opacity: 0.85;
  display: block;
  font-size: 0.7rem;
}
.sbd-tile:hover {
  background: var(--sbd-teal);
  color: #fff;
}

/* ===== SVĚTLÉ SEKCE / POZADÍ ===== */
.sbd-bg-panel {
  background: var(--sbd-mint);
  border-radius: 12px;
  padding: 0.8rem 1rem;
  font-size: 0.85rem;
}

/* ===== TMAVÝ BOX / FOOTER ===== */
.sbd-footer-sample {
  background: var(--sbd-dark);
  color: var(--sbd-white);
  border-radius: 12px;
  padding: 0.8rem 1rem;
  font-size: 0.8rem;
}

/* ===== OBECNÉ KARTY (např. boxy s obsahem) ===== */
.sbd-card {
  background: var(--sbd-white);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: var(--radius);
  box-shadow: 0 4px 14px rgba(0,0,0,0.03);
  overflow: hidden;
}
.sbd-card-header {
  background: linear-gradient(135deg, var(--sbd-green), var(--sbd-teal));
  color: var(--sbd-white);
  padding: 1rem 1.25rem;
  font-weight: 600;
}
.sbd-card-body {
  padding: 1.25rem;
}

/* === SBD: Hover posun jen pro VESTAVĚNÝ akordeon (core) === */
/* Cílíme na <summary> uvnitř core bloku .wp-block-details */
.wp-block-details summary {
  cursor: pointer;
  transition: transform .25s ease-out, color .25s ease-out;
  list-style: none;         /* schová defaultní trojúhelník v některých prohlížečích */
}

.wp-block-details summary:hover {
  transform: translateX(6px);   /* jemný posun doprava */
  color: var(--sbd-green);
}

/* (Volitelné) lehký posun i při focusu klávesnicí */
.wp-block-details summary:focus-visible {
  outline: 2px solid var(--sbd-green);
  outline-offset: 2px;
  transform: translateX(6px);
}

/* Spectra (UAG) Accordion – titulek */
.uagb-accordion__heading .uagb-tab-title {
  transition: transform .25s ease-out, color .25s ease-out;
}
.uagb-accordion__heading:hover .uagb-tab-title {
  transform: translateX(6px);
  color: var(--sbd-green);
}


/* === SBD Vsetín: odstranění spodního okraje stránky === */
.entry-content,
.site-main,
.content-area {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* === SBD Vsetín – styl tlačítek ve FileBird Document Library === */
.fbdoc-download,
.fbdoc-download:visited {
  background-color: #3AAA35 !important; /* firemní zelená */
  border-radius: 6px !important;
  color: #fff !important;
  font-weight: 600;
  border: none;
  transition: all 0.2s ease;
  padding: 6px 16px !important;
}

.fbdoc-download:hover,
.fbdoc-download:focus {
  background-color: #008C8C !important; /* transformative teal */
  color: #fff !important;
  transform: translateY(-1px);
}

/* === Vylepšení tabulky === */
.fbdoc-table {
  border-top: 2px solid #3AAA35;
  border-collapse: separate !important;
  border-spacing: 0 6px !important;
}

.fbdoc-table thead th {
  background: #f6f8f6;
  color: #14763b;
  font-weight: 700;
}

.fbdoc-item {
  border: 1px solid #e3e8e3;
  border-radius: 10px;
  background: #fff;
  transition: all 0.2s ease;
}

.fbdoc-item:hover {
  box-shadow: 0 0 6px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

/* === Odkazy na soubory (název dokumentu) === */
.fbdoc-title a {
  color: #14763b !important;
  text-decoration: none;
  font-weight: 600;
}

.fbdoc-title a:hover {
  color: #3AAA35 !important;
  text-decoration: underline;
}

/* Kontejner formuláře – roztáhnout na celou šířku sekce */
.sbd-login-form {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* Vstupní pole a tlačítko – přes celou šířku kontejneru */
.sbd-login-form input[type="password"],
.sbd-login-form input[type="submit"] {
    width: 100%;
    box-sizing: border-box;
}

/* Klidně ponech / doplň z dřívějška větší padding a fonty */
.sbd-login-form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    font-size: 18px;
    border: 2px solid #3AAA35;
    border-radius: 12px;
    box-sizing: border-box;
    font-family: 'Dosis', sans-serif;
    margin-bottom: 12px;                 /* mezera nad tlačítkem */
}

.sbd-login-form input[type="submit"] {
    width: 100%;
    padding: 14px 16px;
    font-size: 18px;
    background: #3AAA35;
    color: #fff;
    border: none;
    border-radius: 12px;
    box-sizing: border-box;
    cursor: pointer;
    font-family: 'Dosis', sans-serif;
}

