/*
Theme Name: Zahrada duší
Theme URI: https://zahradadusi.cz/
Author: Zahrada duší
Description: Samostatná WordPress šablona převedená z návrhu Nicepage. Bez závislosti na Nicepage pluginu.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: zahrada-dusi
License: GNU General Public License v2 or later
*/


:root {
  --zd-gold: #c9a84c;
  --zd-dark: #1e1e1e;
  --zd-card: #2a2a2a;
  --zd-border: #3a3a3a;
  --zd-text: #e8e0d0;
  --zd-muted: #a89f8c;
}

body { background: var(--zd-dark); color: var(--zd-text); font-family: 'Lato', sans-serif; margin:0; }
a { color: var(--zd-gold); }

/* Header */
.zd-header { background: var(--zd-dark); border-bottom: 1px solid var(--zd-border); }
.zd-header-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 24px; flex-wrap:wrap; gap:16px; }
.zd-brand, .zd-site-title { color: var(--zd-gold); text-decoration:none; font-family:'Cormorant Garamond', serif; font-size:1.5rem; }
.zd-nav ul { display:flex; list-style:none; margin:0; padding:0; gap:28px; flex-wrap:wrap; }
.zd-nav a { color: var(--zd-text); text-decoration:none; font-size:0.95rem; }
.zd-nav a:hover { color: var(--zd-gold); }
.zd-menu-toggle { background:none; border:1px solid var(--zd-border); color:var(--zd-gold); }

/* Footer */
.zd-footer { background: var(--zd-dark); border-top:1px solid var(--zd-border); padding:40px 24px 28px; text-align:center; }
.zd-footer-menu, .zd-footer ul { display:flex; flex-wrap:wrap; justify-content:center; list-style:none; margin:0 0 20px; padding:0; gap:8px 20px; }
.zd-footer a { color: var(--zd-muted); text-decoration:none; font-size:0.85rem; }
.zd-footer a:hover { color: var(--zd-gold); }

/* Homepage */
.zd-hero { text-align:center; padding:110px 24px; }
.zd-hero h1 { font-family:'Cormorant Garamond', serif; font-size:3.2rem; color:var(--zd-gold); margin:0 0 8px; text-shadow:0 2px 8px rgba(0,0,0,0.6); }
.zd-hero-tagline { font-style:italic; color:#fff; font-size:1.2rem; margin:0 0 20px; }
.zd-hero-text { max-width:560px; margin:0 auto 28px; font-size:1.05rem; color:#fff; }
.zd-btn { display:inline-block; background:var(--zd-gold); color:var(--zd-dark); font-weight:700; text-decoration:none; padding:12px 32px; border-radius:4px; letter-spacing:0.04em; }
.zd-btn:hover { opacity:0.85; }
.zd-section { max-width:900px; margin:0 auto; padding:56px 24px; }
.zd-section-alt { background:var(--zd-card); max-width:none; }
.zd-section-alt > * { max-width:900px; margin-left:auto; margin-right:auto; }
.zd-section h2 { font-family:'Cormorant Garamond', serif; color:var(--zd-gold); font-size:2rem; text-align:center; margin-bottom:24px; }
.zd-features { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; }
.zd-feature { background:var(--zd-dark); border:1px solid var(--zd-border); border-radius:8px; padding:24px; }
.zd-feature h3 { color:var(--zd-gold); margin-top:0; font-size:1.15rem; }
.zd-steps { max-width:640px; margin:0 auto 28px; line-height:1.8; }
.zd-faq details { max-width:700px; margin:0 auto 12px; background:var(--zd-card); border:1px solid var(--zd-border); border-radius:6px; padding:14px 18px; }
.zd-faq summary { cursor:pointer; color:var(--zd-gold); font-weight:600; }
.zd-cta { text-align:center; padding:60px 24px; background:var(--zd-card); }
.zd-cta h2 { font-family:'Cormorant Garamond', serif; color:var(--zd-gold); font-size:2rem; }
.zd-contact { text-align:center; }
.zd-contact address { display:inline-block; text-align:left; background:var(--zd-card); padding:24px; border-radius:8px; font-style:normal; }

.zd-split { max-width:1100px; margin:0 auto; display:flex; align-items:center; gap:40px; flex-wrap:wrap; padding:56px 24px; }
.zd-split-rev { flex-direction:row-reverse; }
.zd-split-img { flex:1 1 320px; min-height:320px; border-radius:50%; background-size:cover; background-position:center; aspect-ratio:1/1; max-width:380px; margin:0 auto; }
.zd-split-text { flex:1 1 380px; }
.zd-split-text h2 { text-align:left; font-family:'Cormorant Garamond', serif; color:var(--zd-gold); font-size:1.8rem; }

.zd-search { position:relative; display:flex; align-items:center; }
.zd-search input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
  background: var(--zd-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a89f8c' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 10px center;
  background-size: 16px 16px;
  border:1px solid var(--zd-border);
  border-radius:20px;
  color:var(--zd-text);
  padding:6px 14px 6px 34px;
  width:150px;
  max-width:40vw;
}
.zd-search input[type="search"]::-webkit-search-cancel-button,
.zd-search input[type="search"]::-webkit-search-decoration { -webkit-appearance:none; appearance:none; }

.zd-account { margin-left:16px; }
.zd-account-link {
  display:inline-block;
  color:var(--zd-dark);
  background:var(--zd-gold);
  text-decoration:none;
  font-size:0.85rem;
  font-weight:700;
  padding:6px 16px;
  border-radius:16px;
  white-space:nowrap;
}
.zd-account-link:hover { opacity:0.85; }

/* ==== Oprava: vycentrování a zlato-tmavé menu (header i footer) ==== */
.zd-header { background: var(--zd-dark) !important; }
.zd-header-inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:12px;
  padding:18px 24px;
}
.zd-nav ul.zd-menu, .zd-menu {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
  gap:8px 28px;
}
.zd-header .zd-menu a, .zd-nav a {
  color: var(--zd-gold) !important;
  text-decoration:none;
  font-weight:600;
}
.zd-header .zd-menu a:hover, .zd-nav a:hover { opacity:0.8; }
.zd-brand, .zd-site-title, a.zd-site-title {
  color: var(--zd-gold) !important;
}

.zd-footer { background: var(--zd-dark) !important; text-align:center; }
.zd-footer-inner { display:flex; flex-direction:column; align-items:center; text-align:center; }
.zd-footer-nav ul.zd-menu, .zd-footer .zd-menu {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 20px;
}
.zd-footer .zd-menu a, .zd-footer-nav a {
  color: var(--zd-gold) !important;
  text-decoration:none;
}
.zd-footer .zd-menu a:hover { opacity:0.8; }
.zd-footer-logo { color: var(--zd-gold) !important; }

/* ==== Vysoká specificita: vynutit zlatou barvu odkazů v obou menu ==== */
html body header.zd-header nav.zd-nav ul.zd-menu li a,
html body header.zd-header nav.zd-nav ul.zd-menu li a:visited,
html body footer.zd-footer nav.zd-footer-nav ul.zd-menu li a,
html body footer.zd-footer nav.zd-footer-nav ul.zd-menu li a:visited {
  color: #d4af37 !important;
}
html body header.zd-header nav.zd-nav ul.zd-menu li a:hover,
html body footer.zd-footer nav.zd-footer-nav ul.zd-menu li a:hover {
  color: #ffd700 !important;
  opacity: 1 !important;
}
html body header.zd-header a.zd-brand,
html body header.zd-header a.zd-brand span,
html body footer.zd-footer span.zd-footer-logo {
  color: #d4af37 !important;
}

/* ==== Vzpominkovy profil ==== */
.zd-profile { background: var(--zd-dark); color: var(--zd-text); }
.zd-profile-hero { text-align:center; padding:70px 24px 40px; background: var(--zd-card); }
.zd-profile-photo { width:180px; height:180px; border-radius:50%; object-fit:cover; border:3px solid var(--zd-gold); margin-bottom:20px; }
.zd-profile-name { font-family:'Cormorant Garamond', serif; color:var(--zd-gold); font-size:2.6rem; margin:0 0 8px; }
.zd-profile-dates { color:var(--zd-muted); font-size:1.1rem; margin:0 0 16px; }
.zd-profile-epitaf { font-style:italic; color:var(--zd-text); font-size:1.15rem; max-width:600px; margin:0 auto; }
.zd-profile-section { max-width:800px; margin:0 auto; padding:48px 24px; }
.zd-profile-section-alt { background: var(--zd-card); max-width:none; }
.zd-profile-section-alt > * { max-width:800px; margin-left:auto; margin-right:auto; }
.zd-profile-section h2 { font-family:'Cormorant Garamond', serif; color:var(--zd-gold); font-size:1.7rem; text-align:center; margin-bottom:24px; }
.zd-profile-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px 32px; }
.zd-profile-row { display:flex; justify-content:space-between; border-bottom:1px solid var(--zd-border); padding:8px 0; gap:12px; }
.zd-profile-label { color:var(--zd-muted); }
.zd-profile-value { color:var(--zd-text); font-weight:600; text-align:right; }
.zd-profile-story-text { line-height:1.8; }
.zd-profile-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.zd-profile-gallery-item img { width:100%; height:140px; object-fit:cover; border-radius:6px; border:1px solid var(--zd-border); }
.zd-profile-messages-intro { text-align:center; color:var(--zd-muted); margin-bottom:24px; }
.zd-profile-messages .comment-form input, .zd-profile-messages .comment-form textarea {
  width:100%; background:var(--zd-card); border:1px solid var(--zd-border); color:var(--zd-text); padding:10px; border-radius:6px; margin-bottom:12px;
}
.zd-profile-messages .comment-form-submit input[type="submit"] {
  background:var(--zd-gold); color:var(--zd-dark); border:none; padding:10px 28px; border-radius:20px; font-weight:700; cursor:pointer;
}

.zd-profile-legacy { text-align:center; }
.zd-profile-quote { font-family:'Cormorant Garamond', serif; font-size:1.4rem; font-style:italic; color:var(--zd-gold); max-width:600px; margin:0 auto 16px; }
.zd-profile-song { color:var(--zd-text); }
.zd-profile-qr { text-align:center; }
.zd-profile-qr-img { background:#fff; padding:10px; border-radius:8px; }
.zd-profile-qr-text { color:var(--zd-muted); margin-top:12px; font-size:0.9rem; }

/* ==== Vylepšený vzhled profilu ==== */
.zd-profile-hero { padding:90px 24px 60px; border-radius:0 0 24px 24px; box-shadow: 0 4px 30px rgba(0,0,0,0.4); }
.zd-profile-photo { width:200px; height:200px; box-shadow: 0 0 0 6px rgba(212,175,55,0.15), 0 8px 24px rgba(0,0,0,0.5); }
.zd-profile-name { text-shadow: 0 2px 12px rgba(0,0,0,0.6); }
.zd-profile-dates { color:#e8e0d0; text-shadow: 0 1px 6px rgba(0,0,0,0.6); }
.zd-profile-epitaf { text-shadow: 0 1px 6px rgba(0,0,0,0.5); }
.zd-profile-section { padding:56px 24px; }
.zd-profile-bio, .zd-profile-story { background: var(--zd-card); border-radius:16px; max-width:760px; margin:24px auto; box-shadow: 0 4px 20px rgba(0,0,0,0.25); }
.zd-profile-section-alt { background: transparent; }
.zd-profile-section-alt > *:not(h2) { background: var(--zd-card); border-radius:16px; padding:24px; }
.zd-profile-gallery { padding-top:0; }
.zd-profile-row { border-bottom:1px solid rgba(255,255,255,0.08); }
.zd-profile-row:last-child { border-bottom:none; }
.zd-profile-qr-img { border-radius:12px; box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
.zd-profile-messages { background: var(--zd-card); border-radius:16px; max-width:760px; margin:24px auto; }

/* ==== Úprava velikostí písma na profilu ==== */
.zd-profile-name { font-size: 3.6rem !important; line-height: 1.1; }
.zd-profile-section h2 { font-size: 1.25rem !important; }

.zd-profile-birthplace { color:#e8e0d0; text-shadow: 0 1px 6px rgba(0,0,0,0.6); font-size:1rem; margin:0 0 12px; }

/* ==== Oficiální patička – finální úpravy ==== */
html body footer.zd-footer .zd-footer-brand > a {
  color: #d4af37 !important;
  font-size: 1.3rem !important;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}
html body footer.zd-footer .zd-footer-brand > p {
  color: #a89f8c !important;
  font-size: 0.85rem !important;
  margin: 4px 0 16px;
}
html body footer.zd-footer p.zd-copyright {
  color: #d4af37 !important;
  font-size: 0.8rem !important;
  margin-top: 16px;
}

/* ==== Výchozí hezké pozadí pro hero sekce (místo nudné šedé) ==== */
.zd-hero {
  background: linear-gradient(135deg, #1e1e1e 0%, #2a2418 45%, #3d3218 75%, #2a2418 100%);
  position: relative;
}
.zd-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle at 20% 30%, rgba(212,175,55,0.08), transparent 40%), radial-gradient(circle at 80% 70%, rgba(212,175,55,0.06), transparent 40%);
  pointer-events: none;
}
.zd-hero > * { position: relative; z-index: 1; }

/* ==== Blog: mřížka článků ==== */
.zd-blog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:28px; }
.zd-blog-card { background:var(--zd-card); border-radius:12px; padding:20px; box-shadow:0 4px 16px rgba(0,0,0,0.25); }
.zd-blog-thumb { display:block; margin:-20px -20px 16px; border-radius:12px 12px 0 0; overflow:hidden; }
.zd-blog-thumb img { width:100%; height:180px; object-fit:cover; display:block; }
.zd-blog-card h2 { font-family:'Cormorant Garamond', serif; font-size:1.3rem; margin:0 0 8px; }
.zd-blog-card h2 a { color:var(--zd-gold); text-decoration:none; }
.zd-blog-meta { color:var(--zd-muted); font-size:0.85rem; margin:0 0 10px; }
.zd-blog-excerpt { color:var(--zd-text); margin:0 0 16px; }

/* Profilova fotka jako ovál na výšku (ne kruh) */
.zd-profile-photo { width: 190px !important; height: 250px !important; border-radius: 50% / 50% !important; }

/* ==== Vzpominkovy profil: svetlejsi, teplejsi karty misto tmave sede ==== */
.zd-profile-bio, .zd-profile-story,
.zd-profile-section-alt > *:not(h2),
.zd-profile-messages {
  background: #f5ede0 !important;
  color: #3a3226 !important;
}
.zd-profile-bio .zd-profile-label,
.zd-profile-story .zd-profile-story-text,
.zd-profile-messages .zd-profile-messages-intro {
  color: #6b5d47 !important;
}
.zd-profile-bio .zd-profile-value {
  color: #3a3226 !important;
}
.zd-profile-row { border-bottom-color: rgba(0,0,0,0.08) !important; }
.zd-profile-legacy .zd-profile-quote { color: #8a6d1f !important; }
.zd-profile-legacy .zd-profile-song { color: #3a3226 !important; }
.zd-profile-section h2 { color: #8a6d1f !important; }
.zd-profile-dates, .zd-profile-birthplace { color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,0.5) !important; }
.zd-profile-name { color: #6b4a12 !important; text-shadow: 0 2px 10px rgba(255,255,255,0.5) !important; }
.zd-profile-epitaf { color: #4a3a1a !important; text-shadow: 0 1px 6px rgba(255,255,255,0.4) !important; }

/* ==== Cely profil: teple, svetle pozadi, zadna cerna ==== */
main.zd-profile {
  background: linear-gradient(180deg, #faf5ec 0%, #f0e6d2 100%) !important;
  color: #3a3226 !important;
}
.zd-profile-qr {
  background: #f5ede0 !important;
}
.zd-profile-qr h2 { color: #8a6d1f !important; }
.zd-profile-qr-text { color: #6b5d47 !important; }
.zd-profile-messages h2 { color: #8a6d1f !important; }
.zd-profile-messages .comment-form input,
.zd-profile-messages .comment-form textarea {
  background: #ffffff !important;
  border: 1px solid #d9c9a8 !important;
  color: #3a3226 !important;
}
.zd-profile-gallery h2 { color: #8a6d1f !important; }
.zd-profile-pdf { text-align: center; }

/* ==== Profil: stredni tmavost + ornamenty ==== */
main.zd-profile {
  background-color: #9c8757 !important;
  background-image: linear-gradient(180deg, rgba(184,163,116,0.5) 0%, rgba(131,112,63,0.5) 100%), url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><path d='M0,110 C30,60 50,160 80,110 C110,60 130,160 160,110 C180,80 200,140 220,110' stroke='%237a5c14' stroke-width='2.5' fill='none' opacity='0.28'/><path d='M110,0 C60,30 160,50 110,80 C60,110 160,130 110,160 C80,180 140,200 110,220' stroke='%237a5c14' stroke-width='2.5' fill='none' opacity='0.28'/><g opacity='0.32'><circle cx='55' cy='55' r='5'/><circle cx='49' cy='49' r='3.6'/><circle cx='61' cy='49' r='3.6'/><circle cx='49' cy='61' r='3.6'/><circle cx='61' cy='61' r='3.6'/></g><g opacity='0.32'><circle cx='165' cy='165' r='5'/><circle cx='159' cy='159' r='3.6'/><circle cx='171' cy='159' r='3.6'/><circle cx='159' cy='171' r='3.6'/><circle cx='171' cy='171' r='3.6'/></g><g opacity='0.28'><circle cx='165' cy='55' r='4'/><circle cx='160' cy='50' r='2.8'/><circle cx='170' cy='50' r='2.8'/><circle cx='160' cy='60' r='2.8'/><circle cx='170' cy='60' r='2.8'/></g><g opacity='0.28'><circle cx='55' cy='165' r='4'/><circle cx='50' cy='160' r='2.8'/><circle cx='60' cy='160' r='2.8'/><circle cx='50' cy='170' r='2.8'/><circle cx='60' cy='170' r='2.8'/></g></svg>") !important;
  background-blend-mode: normal !important;
  background-repeat: repeat !important;
  background-size: auto, 220px 220px !important;
  color: #2e2a1f !important;
}
.zd-profile-qr,
.zd-profile-story,
.zd-profile-messages,
.zd-profile-section-alt > *:not(h2) {
  background: #ede1c4 !important;
  color: #3a3226 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
  border: 1px solid #c9a84c33 !important;
}
.zd-profile-qr h2, .zd-profile-messages h2, .zd-profile-gallery h2, .zd-profile-section h2 {
  color: #7a5c14 !important;
}
.zd-profile-qr-text, .zd-profile-messages-intro { color: #5c4f38 !important; }

.zd-ornament {
  text-align: center;
  margin: 8px auto 0;
  color: #7a5c14;
  font-size: 1.4rem;
  opacity: 0.7;
  position: relative;
}
.zd-ornament::before, .zd-ornament::after {
  content: '';
  display: inline-block;
  width: 60px;
  height: 1px;
  background: #7a5c14;
  vertical-align: middle;
  margin: 0 14px;
  opacity: 0.5;
}

.zd-ornament svg { color: #7a5c14; }
.zd-ornament { opacity: 0.85; }
