/*
Theme Name: Astrolog
Theme URI: https://astrolog.cz
Author: astrolog.cz
Description: Vlastní téma pro astrolog.cz — tři pohledy na jednu duši. Bílé pozadí, fialový brand, barevné kódování kategorií, mřížka znamení s týdenními horoskopy.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
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: astrolog
*/

/* ==========================================================
   1. DESIGN TOKENY (z původního návrhu)
   ========================================================== */
:root{
  /* brand */
  --c-primary:#3C3489;
  --c-primary-dark:#26215C;
  --c-primary-light:#534AB7;
  --c-primary-bg:#EEEDFE;
  --c-primary-bg-2:#CECBF6;

  /* kategorie */
  --c-astrologie:#534AB7;
  --c-astrologie-bg:#EEEDFE;
  --c-matice:#993C1D;
  --c-matice-bg:#FAECE7;
  --c-numerologie:#0F6E56;
  --c-numerologie-bg:#E1F5EE;
  --c-cross:#993556;
  --c-cross-bg:#FBEAF0;
  --c-cross-ink:#4B1528;
  --c-pribehy:#854F0B;
  --c-pribehy-bg:#FAEEDA;

  /* plochy a text */
  --c-bg:#FFFFFF;
  --c-bg-section:#F8F7F4;
  --c-ink:#1F1D2B;
  --c-ink-2:#5A576E;
  --c-ink-3:#8B889C;
  --c-border:#E7E5EF;

  /* typografie */
  --f-serif:'Cormorant Garamond', Georgia, serif;
  --f-sans:'Inter', -apple-system, 'Segoe UI', sans-serif;

  /* geometrie */
  --r-sm:6px;
  --r-md:10px;
  --r-lg:16px;
  --shadow:0 10px 30px -12px rgba(38,33,92,.14);
  --maxw:1120px;
  --maxw-text:720px;
}

/* ==========================================================
   2. ZÁKLAD
   ========================================================== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:var(--f-sans);
  font-size:16px;line-height:1.65;
  color:var(--c-ink);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-primary);text-decoration:none}
a:hover{color:var(--c-primary-light)}
a:focus-visible,button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:4px}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

h1,h2,h3,h4{font-family:var(--f-serif);font-weight:500;color:var(--c-ink);line-height:1.25}

.kicker{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--c-primary-light);
}

/* ==========================================================
   3. HLAVIČKA
   ========================================================== */
.site-header{
  background:var(--c-bg);
  border-bottom:1px solid var(--c-border);
  position:sticky;top:0;z-index:50;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;gap:20px;
}
.site-brand{display:flex;align-items:center;gap:10px}
.brand-mark{
  width:30px;height:30px;border-radius:50%;
  background:var(--c-primary);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.brand-mark svg{display:block}
.brand-name{
  font-family:var(--f-serif);font-size:19px;font-weight:600;
  color:var(--c-primary);letter-spacing:.01em;
}
.site-brand:hover .brand-name{color:var(--c-primary-light)}

.main-nav ul{list-style:none;display:flex;gap:26px;align-items:center}
.main-nav a{
  font-size:14px;color:var(--c-ink-2);font-weight:500;
  padding:6px 2px;border-bottom:2px solid transparent;
}
.main-nav a:hover{color:var(--c-primary)}
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a{color:var(--c-primary);border-bottom-color:var(--c-primary)}

.nav-toggle{
  display:none;background:none;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:8px 12px;cursor:pointer;
  font-family:var(--f-sans);font-size:13px;color:var(--c-primary);
}
@media(max-width:820px){
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--c-bg);border-bottom:1px solid var(--c-border);
    box-shadow:var(--shadow);padding:10px 22px 18px}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:4px}
  .main-nav a{display:block;padding:10px 0;font-size:15px;width:100%}
}

/* ==========================================================
   4. HERO
   ========================================================== */
.hero{
  background:var(--c-primary-bg);
  text-align:center;
  padding:64px 22px 60px;
}
.hero .kicker{margin-bottom:12px;display:block}
.hero h1{
  font-size:clamp(34px,5vw,52px);
  color:var(--c-primary-dark);
  margin-bottom:12px;
}
.hero-sub{
  font-size:17px;color:var(--c-primary);
  max-width:520px;margin:0 auto 26px;line-height:1.6;
}
.hero-actions{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}

.btn{
  display:inline-block;
  font-family:var(--f-sans);font-size:14px;font-weight:600;
  padding:12px 22px;border-radius:var(--r-md);
  cursor:pointer;border:1px solid transparent;
  transition:transform .12s ease, box-shadow .12s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--c-primary);color:var(--c-primary-bg)}
.btn-primary:hover{background:var(--c-primary-light);color:#fff;box-shadow:var(--shadow)}
.btn-outline{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn-outline:hover{background:var(--c-primary);color:var(--c-primary-bg)}

/* ==========================================================
   5. SEKCE OBECNĚ
   ========================================================== */
.section{padding:52px 0}
.section-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;margin-bottom:24px;flex-wrap:wrap;
}
.section-head h2{font-size:26px}
.section-meta{font-size:13px;color:var(--c-ink-3)}
.section-link{font-size:13px;font-weight:600}

/* ==========================================================
   6. MŘÍŽKA ZNAMENÍ
   ========================================================== */
.zodiac-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
}
@media(max-width:900px){.zodiac-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.zodiac-grid{grid-template-columns:repeat(3,1fr)}}

.zodiac-tile{
  background:var(--c-bg-section);
  border:1px solid transparent;
  border-radius:var(--r-md);
  padding:14px 8px 12px;text-align:center;
  transition:border-color .12s ease, transform .12s ease, box-shadow .12s ease;
}
.zodiac-tile:hover{
  border-color:var(--c-primary-bg-2);
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.zodiac-symbol{
  font-family:var(--f-serif);
  font-size:24px;line-height:1;display:block;margin-bottom:5px;
}
.zodiac-name{font-size:12px;color:var(--c-ink-2);font-weight:500}

/* ==========================================================
   7. KARTY ČLÁNKŮ
   ========================================================== */
.cards-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media(max-width:900px){.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards-grid{grid-template-columns:1fr}}

.card{
  background:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:var(--r-lg);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .12s ease, box-shadow .12s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-media{
  height:150px;display:flex;align-items:center;justify-content:center;
  background:var(--c-primary-bg-2);overflow:hidden;
}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-media .placeholder-glyph{
  font-family:var(--f-serif);font-size:42px;opacity:.85;
}
.card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-title{font-size:17px;line-height:1.35}
.card-title a{color:var(--c-ink)}
.card-title a:hover{color:var(--c-primary)}
.card-excerpt{font-size:13.5px;color:var(--c-ink-2);line-height:1.55}
.card-date{font-size:12px;color:var(--c-ink-3);margin-top:auto}

/* badge kategorie */
.cat-badge{
  display:inline-block;align-self:flex-start;
  font-size:10.5px;font-weight:600;letter-spacing:.04em;
  padding:3px 10px;border-radius:var(--r-md);
  background:var(--c-primary-bg);color:var(--c-primary);
}
.cat-astrologie .cat-badge,.cat-badge.cat-astrologie{background:var(--c-astrologie-bg);color:var(--c-astrologie)}
.cat-matice-osudu .cat-badge,.cat-badge.cat-matice-osudu{background:var(--c-matice-bg);color:var(--c-matice)}
.cat-numerologie .cat-badge,.cat-badge.cat-numerologie{background:var(--c-numerologie-bg);color:var(--c-numerologie)}
.cat-krizove-vyklady .cat-badge,.cat-badge.cat-krizove-vyklady{background:var(--c-cross-bg);color:var(--c-cross)}
.cat-horoskopy .cat-badge,.cat-badge.cat-horoskopy{background:var(--c-primary-bg);color:var(--c-primary)}
.cat-pribehy-astrolozky .cat-badge,.cat-badge.cat-pribehy-astrolozky{background:var(--c-pribehy-bg);color:var(--c-pribehy)}

/* media placeholder podle kategorie */
.cat-astrologie .card-media{background:var(--c-primary-bg-2)}
.cat-astrologie .placeholder-glyph{color:var(--c-primary-dark)}
.cat-matice-osudu .card-media{background:#F5C4B3}
.cat-matice-osudu .placeholder-glyph{color:var(--c-matice)}
.cat-numerologie .card-media{background:#9FE1CB}
.cat-numerologie .placeholder-glyph{color:var(--c-numerologie)}
.cat-krizove-vyklady .card-media{background:#F4C0D1}
.cat-krizove-vyklady .placeholder-glyph{color:var(--c-cross)}
.cat-pribehy-astrolozky .card-media{background:#F6DBA8}
.cat-pribehy-astrolozky .placeholder-glyph{color:var(--c-pribehy)}

/* ==========================================================
   8. CROSS-CONTENT BLOK („Spojujeme světy")
   ========================================================== */
.cross-highlight{
  background:var(--c-cross-bg);
  border-left:3px solid var(--c-cross);
  border-radius:0 var(--r-lg) var(--r-lg) 0;
  padding:20px 24px;
}
.cross-highlight .kicker{color:var(--c-cross);display:block;margin-bottom:6px}
.cross-highlight h3{font-size:19px;color:var(--c-cross-ink);margin-bottom:6px}
.cross-highlight p{font-size:13.5px;color:#72243E;line-height:1.6}
.cross-highlight a.more{font-size:13px;font-weight:600;color:var(--c-cross);display:inline-block;margin-top:8px}

/* ==========================================================
   9. ARCHIV / KATEGORIE
   ========================================================== */
.archive-header{
  background:var(--c-bg-section);
  padding:44px 0 36px;text-align:center;
}
.archive-header h1{font-size:clamp(28px,4vw,38px)}
.archive-header .archive-desc{
  max-width:560px;margin:10px auto 0;font-size:15px;color:var(--c-ink-2);
}
.archive-header.cat-astrologie{background:var(--c-astrologie-bg)}
.archive-header.cat-astrologie h1{color:var(--c-astrologie)}
.archive-header.cat-matice-osudu{background:var(--c-matice-bg)}
.archive-header.cat-matice-osudu h1{color:var(--c-matice)}
.archive-header.cat-numerologie{background:var(--c-numerologie-bg)}
.archive-header.cat-numerologie h1{color:var(--c-numerologie)}
.archive-header.cat-krizove-vyklady{background:var(--c-cross-bg)}
.archive-header.cat-krizove-vyklady h1{color:var(--c-cross)}
.archive-header.cat-pribehy-astrolozky{background:var(--c-pribehy-bg)}
.archive-header.cat-pribehy-astrolozky h1{color:var(--c-pribehy)}

.pagination{display:flex;gap:8px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.pagination .page-numbers{
  display:inline-block;min-width:38px;text-align:center;
  padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);
  font-size:14px;color:var(--c-ink-2);background:var(--c-bg);
}
.pagination .page-numbers.current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.pagination a.page-numbers:hover{border-color:var(--c-primary);color:var(--c-primary)}

/* ==========================================================
   10. DETAIL ČLÁNKU
   ========================================================== */
.article-hero{padding:48px 0 8px;text-align:center}
.article-hero .cat-badge{align-self:center}
.article-hero h1{
  font-size:clamp(28px,4.4vw,42px);
  max-width:820px;margin:14px auto 10px;
}
.article-meta{font-size:13px;color:var(--c-ink-3)}

.article-thumb{
  max-width:880px;margin:26px auto 0;padding:0 22px;
}
.article-thumb img{border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow)}

.article-body{
  max-width:var(--maxw-text);margin:0 auto;padding:34px 22px 56px;
}
.article-body > p:first-child{
  font-family:var(--f-serif);font-size:20px;line-height:1.65;color:var(--c-ink);
}
.article-body p{margin:0 0 18px;font-size:16px;color:#34323F}
.article-body h2{font-size:25px;margin:34px 0 14px}
.article-body h3{font-size:20px;margin:28px 0 12px}
.article-body ul,.article-body ol{margin:0 0 18px 22px}
.article-body li{margin-bottom:6px}
.article-body blockquote{
  border-left:3px solid var(--c-primary-bg-2);
  padding:8px 0 8px 20px;margin:22px 0;
  font-family:var(--f-serif);font-size:19px;color:var(--c-primary-dark);font-style:italic;
}
.article-body img{border-radius:var(--r-md);margin:22px 0}
.article-body a{text-decoration:underline;text-underline-offset:3px}

/* související box uvnitř článku (cross-link) */
.related-box{
  background:var(--c-cross-bg);
  border-left:3px solid var(--c-cross);
  border-radius:0 var(--r-md) var(--r-md) 0;
  padding:14px 18px;margin:26px 0;
}
.related-box .kicker{color:var(--c-cross)}
.related-box p{margin:4px 0 0;font-size:14px;color:var(--c-cross-ink)}
.related-box a{color:var(--c-cross);text-decoration:none;font-weight:600}

/* další články pod článkem */
.read-next{background:var(--c-bg-section);padding:44px 0 56px}
.read-next h2{font-size:22px;margin-bottom:20px}

/* ==========================================================
   11. STRÁNKY A 404
   ========================================================== */
.page-plain{max-width:var(--maxw-text);margin:0 auto;padding:48px 22px 60px}
.page-plain h1{font-size:clamp(28px,4vw,38px);margin-bottom:20px}

.error-404{text-align:center;padding:90px 22px}
.error-404 .glyph{font-family:var(--f-serif);font-size:72px;color:var(--c-primary-bg-2);line-height:1}
.error-404 h1{font-size:30px;margin:14px 0 8px}
.error-404 p{color:var(--c-ink-2);margin-bottom:22px}

/* ==========================================================
   12. NEWSLETTER PÁS
   ========================================================== */
.newsletter-band{
  background:var(--c-primary);
  color:var(--c-primary-bg);
  text-align:center;
  padding:44px 22px;
}
.newsletter-band h2{color:#fff;font-size:24px;margin-bottom:8px}
.newsletter-band p{font-size:14px;opacity:.85;max-width:480px;margin:0 auto 18px}
.newsletter-band .btn-light{
  background:#fff;color:var(--c-primary);
}
.newsletter-band .btn-light:hover{background:var(--c-primary-bg)}

/* ==========================================================
   12b. VÝKLAD NA MÍRU
   ========================================================== */
.offer-band{
  background:var(--c-primary-bg);
  border:1px solid var(--c-primary-bg-2);
  border-radius:var(--r-lg);
  text-align:center;
  padding:36px 28px;
}
.offer-band .kicker{display:block;margin-bottom:8px}
.offer-band h2{font-size:24px;color:var(--c-primary-dark);margin-bottom:8px}
.offer-band p{font-size:14.5px;color:var(--c-primary);max-width:520px;margin:0 auto 18px;line-height:1.6}

/* ==========================================================
   13. PATIČKA
   ========================================================== */
.site-footer{
  border-top:1px solid var(--c-border);
  background:var(--c-bg-section);
  padding:26px 0;
}
.footer-disclaimer{
  font-size:12px;color:var(--c-ink-3);text-align:center;
  max-width:620px;margin:0 auto 14px;line-height:1.6;
}
.footer-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--c-ink-3);
}
.footer-links{display:flex;gap:16px}
.footer-links a{color:var(--c-ink-2);font-weight:500}
.footer-links a:hover{color:var(--c-primary)}
@media(max-width:560px){.footer-row{justify-content:center;text-align:center}}

/* ==========================================================
   14. WORDPRESS NUTNÉ TŘÍDY
   ========================================================== */
.alignleft{float:left;margin:0 20px 14px 0}
.alignright{float:right;margin:0 0 14px 20px}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:12.5px;color:var(--c-ink-3);text-align:center;margin-top:6px}
.sticky{}
.bypostauthor{}
.gallery-caption{}
