/* =========================================================
   jhdev.cz — Global Stylesheet
   Covers: index.php, blog.php, post.php
   ========================================================= */

/* RESET & VARIABLES */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --red:#D72638;
  --black:#0D0D0D;
  --white:#FAFAF8;
  --gray:#6B6B6B;
  --light:#F0EFEC;
  --border:#E0DFD9;
}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--black);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6;}

/* NAV */
nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--white);z-index:100;}
.logo{font-family:'DM Serif Display',serif;font-size:1.3rem;letter-spacing:-0.02em;text-decoration:none;color:var(--black);}
.logo span{color:var(--red);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{text-decoration:none;color:var(--gray);font-size:13px;letter-spacing:0.04em;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--red);}
.nav-cta{background:var(--red);color:#fff;padding:0.5rem 1.25rem;border-radius:2px;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:0.02em;transition:opacity .2s;}
.nav-cta:hover{opacity:0.85;}

/* HERO */
.hero{padding:5rem 2.5rem 4rem;max-width:1200px;margin:0 auto;}
.hero-label{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);font-weight:500;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.5rem;}
.hero-label::before{content:'';display:block;width:24px;height:1px;background:var(--red);}
.hero h1{font-family:'DM Serif Display',serif;font-size:56px;line-height:1.08;letter-spacing:-0.03em;margin-bottom:1.5rem;}
.hero h1 em{color:var(--red);font-style:italic;}
.hero-sub{font-size:1.05rem;color:var(--gray);max-width:560px;line-height:1.7;margin-bottom:2rem;}
.cert-badges{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.cert-badge{display:flex;align-items:center;gap:0.6rem;border:1.5px solid var(--border);border-radius:2px;padding:0.5rem 0.9rem;font-size:12px;font-weight:500;background:var(--white);}
.cert-badge-sub{color:var(--gray);font-weight:400;font-size:11px;margin-left:0.25rem;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.btn-primary{background:var(--red);color:#fff;padding:0.75rem 1.75rem;border-radius:2px;text-decoration:none;font-weight:500;font-size:14px;transition:opacity .2s;display:inline-block;}
.btn-primary:hover{opacity:0.85;}
.btn-ghost{color:var(--black);padding:0.75rem 1.75rem;border-radius:2px;text-decoration:none;font-weight:400;font-size:14px;border:1px solid var(--border);transition:border-color .2s;}
.btn-ghost:hover{border-color:var(--black);}
.hero-trust{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);display:flex;gap:2.5rem;flex-wrap:wrap;}
.trust-item{display:flex;flex-direction:column;}
.trust-num{font-family:'DM Serif Display',serif;font-size:2rem;line-height:1;}
.trust-num span{color:var(--red);}
.trust-label{font-size:12px;color:var(--gray);margin-top:0.25rem;}

/* SECTION BASE */
section{padding:4rem 2.5rem;}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);font-weight:500;margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem;}
.section-label::before{content:'';display:block;width:16px;height:1px;background:var(--red);}
h2{font-family:'DM Serif Display',serif;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.15;letter-spacing:-0.02em;margin-bottom:0.5rem;}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;align-items:start;}
.about-text p{color:var(--gray);line-height:1.8;font-size:15px;}
.about-text p+p{margin-top:1rem;}
.about-badges{display:flex;flex-direction:column;gap:1rem;}
.badge-item{border:1px solid var(--border);padding:1rem 1.25rem;border-radius:2px;display:flex;gap:1rem;align-items:flex-start;}
.badge-dot{width:8px;height:8px;background:var(--red);border-radius:50%;margin-top:0.35rem;flex-shrink:0;}
.badge-title{font-weight:500;font-size:14px;margin-bottom:0.2rem;}
.badge-desc{font-size:12px;color:var(--gray);}

/* BENEFITS */
.benefits-bg{background:var(--black);}
.benefits-bg .section-label{color:#E24B4A;}
.benefits-bg .section-label::before{background:#E24B4A;}
.benefits-bg h2{color:var(--white);}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.benefit-card{border:1px solid #222;padding:1.5rem;border-radius:2px;}
.benefit-icon{font-size:1.5rem;margin-bottom:1rem;color:#E24B4A;}
.benefit-title{font-weight:500;font-size:15px;color:var(--white);margin-bottom:0.5rem;}
.benefit-text{font-size:13px;color:#888;line-height:1.7;}
.benefit-highlight{color:#E24B4A;font-weight:500;}

/* PRICING */
.pricing-intro{color:var(--gray);max-width:540px;margin:0.5rem 0 2.5rem;font-size:15px;line-height:1.7;}
.agency-bar{background:var(--light);border:1px solid var(--border);border-radius:2px;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.agency-bar-label{font-size:13px;color:var(--gray);}
.agency-bar-price{font-size:1.2rem;font-weight:500;text-decoration:line-through;color:#aaa;}
.agency-bar-note{font-size:12px;color:var(--gray);margin-top:0.15rem;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.pricing-card{border:1px solid var(--border);padding:1.5rem;border-radius:2px;position:relative;}
.pricing-card.featured{border:2px solid var(--red);}
.featured-badge{position:absolute;top:-11px;left:1.5rem;background:var(--red);color:#fff;font-size:11px;font-weight:500;padding:2px 10px;letter-spacing:0.04em;text-transform:uppercase;}
.pricing-name{font-weight:500;font-size:14px;margin-bottom:0.25rem;}
.pricing-price{font-family:'DM Serif Display',serif;font-size:2rem;line-height:1.1;margin:0.75rem 0 0.25rem;}
.pricing-price sup{font-size:1rem;font-family:'DM Sans',sans-serif;vertical-align:super;}
.pricing-per{font-size:12px;color:var(--gray);margin-bottom:1.25rem;}
.pricing-items{list-style:none;border-top:1px solid var(--border);padding-top:1rem;}
.pricing-items li{font-size:13px;color:var(--gray);padding:0.35rem 0;display:flex;gap:0.5rem;align-items:baseline;}
.pricing-items li::before{content:'—';color:var(--red);font-size:10px;flex-shrink:0;}
.pricing-btn{display:block;text-align:center;margin-top:1.5rem;padding:0.65rem;border:1px solid var(--border);border-radius:2px;text-decoration:none;font-size:13px;font-weight:500;color:var(--black);transition:all .2s;}
.pricing-btn:hover{background:var(--black);color:#fff;border-color:var(--black);}
.pricing-card.featured .pricing-btn{background:var(--red);color:#fff;border-color:var(--red);}
.pricing-card.featured .pricing-btn:hover{opacity:0.85;}
.savings-note{margin-top:1.5rem;text-align:center;font-size:13px;color:var(--gray);}
.savings-note strong{color:var(--red);}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2rem;border:1px solid var(--border);border-radius:2px;overflow:hidden;}
.service-item{padding:1.5rem;border-bottom:1px solid var(--border);}
.service-item:nth-child(odd){border-right:1px solid var(--border);}
.service-item:nth-last-child(-n+2){border-bottom:none;}
.service-num{font-size:11px;color:var(--red);font-weight:500;letter-spacing:0.08em;margin-bottom:0.5rem;}
.service-name{font-weight:500;font-size:15px;margin-bottom:0.4rem;}
.service-desc{font-size:13px;color:var(--gray);line-height:1.6;}

/* BLOG — index.php preview */
.blog-ghost-note{display:flex;align-items:center;gap:0.6rem;font-size:12px;color:var(--gray);margin-bottom:1.5rem;}
.ghost-dot{width:8px;height:8px;background:#333;border-radius:50%;flex-shrink:0;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.blog-card{border-top:2px solid var(--border);padding-top:1rem;text-decoration:none;display:block;transition:border-color .2s;}
.blog-card:hover{border-color:var(--red);}
.blog-tag{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--red);margin-bottom:0.5rem;font-weight:500;}
.blog-title{font-weight:500;font-size:14px;line-height:1.5;margin-bottom:0.5rem;color:var(--black);}
.blog-date{font-size:12px;color:var(--gray);}
.blog-ghost-cta{margin-top:1.5rem;text-align:center;}
.blog-ghost-cta a{font-size:13px;color:var(--gray);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:1px;transition:color .2s,border-color .2s;}
.blog-ghost-cta a:hover{color:var(--red);border-color:var(--red);}

/* BLOG PAGE — blog.php */
.blog-wrap{max-width:1200px;margin:0 auto;padding:4rem 2.5rem 5rem;}
.blog-header{margin-bottom:3rem;}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.post-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:2px;overflow:hidden;transition:border-color .2s;}
.post-card:hover{border-color:var(--red);}
.post-img{width:100%;height:180px;object-fit:cover;display:block;border-bottom:1px solid var(--border);}
.post-body{padding:1.25rem;display:flex;flex-direction:column;flex:1;}
.post-cat{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);margin-bottom:0.6rem;font-weight:500;}
.post-card h2{font-family:'DM Serif Display',serif;font-size:1.1rem;line-height:1.3;letter-spacing:-0.01em;flex:1;margin-bottom:1rem;}
.post-excerpt{font-size:13px;color:var(--gray);line-height:1.7;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.post-read{font-size:12px;color:var(--red);font-weight:500;margin-top:auto;transition:gap .2s;display:flex;align-items:center;gap:6px;}
.post-card:hover .post-read{gap:10px;}
.post-date{font-size:11px;color:var(--gray);margin-top:0.5rem;letter-spacing:0.04em;}
.pagination{display:flex;gap:0.5rem;justify-content:center;margin-top:3rem;}
.page-btn{font-size:13px;color:var(--gray);border:1px solid var(--border);padding:0.5rem 1rem;border-radius:2px;text-decoration:none;transition:all .2s;}
.page-btn:hover,.page-btn.active{color:var(--red);border-color:var(--red);}

/* ARTICLE — post.php */
.article-wrap{max-width:800px;margin:0 auto;padding:4rem 2.5rem 5rem;}
.article-back{font-size:13px;color:var(--gray);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:2.5rem;transition:color .2s;letter-spacing:0.04em;text-transform:uppercase;}
.article-back:hover{color:var(--red);}
.article-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.25rem;}
.article-tag{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);border:1px solid var(--border);padding:3px 10px;border-radius:2px;font-weight:500;}
.article-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);letter-spacing:-0.03em;line-height:1.08;margin-bottom:1rem;}
.article-meta{font-size:12px;color:var(--gray);letter-spacing:0.04em;margin-bottom:2.5rem;display:flex;align-items:center;gap:1rem;}
.article-meta::before{content:'';display:block;width:24px;height:1px;background:var(--border);}
.article-feature-img{width:100%;height:auto;display:block;margin-bottom:3rem;border:1px solid var(--border);border-radius:2px;}
.article-content{font-size:1.05rem;line-height:1.85;color:#3a3a3a;}
.article-content h1,.article-content h2,.article-content h3,.article-content h4{font-family:'DM Serif Display',serif;font-weight:400;color:var(--black);letter-spacing:-0.02em;margin:2em 0 0.6em;line-height:1.2;}
.article-content h2{font-size:1.8rem;}
.article-content h3{font-size:1.4rem;}
.article-content p{margin-bottom:1.4em;}
.article-content a{color:var(--red);text-decoration:none;border-bottom:1px solid var(--border);transition:border-color .2s;}
.article-content a:hover{border-color:var(--red);}
.article-content strong{color:var(--black);font-weight:500;}
.article-content ul,.article-content ol{padding-left:1.5em;margin-bottom:1.4em;}
.article-content li{margin-bottom:0.5em;}
.article-content blockquote{border-left:3px solid var(--red);padding:1rem 1.25rem;margin:1.5em 0;background:var(--light);color:var(--black);font-style:italic;}
.article-content code{font-family:'DM Mono',monospace;font-size:0.85em;background:var(--light);border:1px solid var(--border);padding:2px 6px;color:var(--red);border-radius:2px;}
.article-content pre{background:var(--black);border:1px solid var(--border);padding:1.25rem 1.5rem;overflow-x:auto;margin-bottom:1.4em;border-radius:2px;}
.article-content pre code{background:none;border:none;padding:0;font-size:0.88rem;color:#e0e0e0;}
.article-content img{max-width:100%;height:auto;border:1px solid var(--border);display:block;margin:1.5em 0;border-radius:2px;}
.article-content hr{border:none;border-top:1px solid var(--border);margin:2em 0;}
.article-content table{width:100%;border-collapse:collapse;margin-bottom:1.4em;font-size:0.9rem;}
.article-content th,.article-content td{border:1px solid var(--border);padding:10px 14px;text-align:left;}
.article-content th{background:var(--light);font-weight:500;}
.article-cta{margin-top:4rem;padding:2rem;border:1px solid var(--border);border-left:3px solid var(--red);background:var(--light);border-radius:2px;}
.article-cta-badges{display:flex;gap:0.75rem;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;}
.article-cta p{font-size:15px;color:var(--gray);margin-bottom:1.25rem;line-height:1.7;}
.article-cta strong{color:var(--black);}

/* CONTACT */
.contact-bg{background:var(--black);}
.contact-bg h2{color:var(--white);}
.contact-bg .section-label{color:#E24B4A;}
.contact-bg .section-label::before{background:#E24B4A;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;align-items:start;}
.contact-info{color:#aaa;font-size:14px;line-height:1.8;margin-bottom:1.5rem;}
.contact-detail{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;color:var(--white);font-size:14px;}
.contact-detail i{color:#E24B4A;font-size:16px;}
.availability-box{margin-top:2rem;padding:1.25rem;border:1px solid #2A2A2A;border-radius:2px;}
.availability-label{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:#666;margin-bottom:0.5rem;}
.availability-status{display:flex;align-items:center;gap:0.5rem;color:#ccc;font-size:14px;}
.availability-dot{width:8px;height:8px;background:#4CAF50;border-radius:50%;display:inline-block;}
.contact-form{display:flex;flex-direction:column;gap:0.75rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.form-field{display:flex;flex-direction:column;gap:0.35rem;}
.form-field label{font-size:12px;letter-spacing:0.04em;text-transform:uppercase;color:#666;}
.form-field input,
.form-field textarea,
.form-field select{background:#1A1A1A;border:1px solid #2A2A2A;color:var(--white);padding:0.65rem 0.85rem;border-radius:2px;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .2s;width:100%;}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus{border-color:#E24B4A;}
.form-field textarea{resize:vertical;min-height:100px;}
.form-field select option{background:#1A1A1A;}
.submit-btn{background:var(--red);color:#fff;border:none;padding:0.85rem;border-radius:2px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;margin-top:0.5rem;width:100%;}
.submit-btn:hover{opacity:0.85;}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:2rem 2.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;}
.footer-left{display:flex;flex-direction:column;gap:0.75rem;}
.footer-logo{font-family:'DM Serif Display',serif;font-size:1.1rem;letter-spacing:-0.02em;text-decoration:none;color:var(--black);}
.footer-logo span{color:var(--red);}
.footer-badges{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center;}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:0.5rem;}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{color:var(--gray);text-decoration:none;font-size:12px;transition:color .2s;}
.footer-links a:hover{color:var(--red);}
.footer-copy{font-size:11px;color:#bbb;}

/* OCHRANA OSOBNICH UDAJU */
.wrap{max-width:800px;margin:0 auto;padding:4rem 2.5rem 5rem;}
.back{font-size:13px;color:var(--gray);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:2.5rem;transition:color .2s;text-transform:uppercase;letter-spacing:0.04em;}
.back:hover{color:var(--red);}
.wrap h1{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-0.02em;line-height:1.1;margin-bottom:2rem;}
.wrap h2{font-family:'DM Serif Display',serif;font-size:1.4rem;margin:2rem 0 0.75rem;letter-spacing:-0.01em;}
.wrap p{color:var(--gray);line-height:1.8;margin-bottom:1rem;}

/* RESPONSIVE */
@media(max-width:1024px){
  .posts-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  nav{padding:1rem 1.25rem;}
  .nav-links{display:none;}
  .hero{padding:3rem 1.25rem 2.5rem;}
  section{padding:3rem 1.25rem;}
  .blog-wrap{padding:2.5rem 1.25rem 3rem;}
  .article-wrap{padding:2.5rem 1.25rem 3rem;}
  .wrap{padding:2.5rem 1.25rem 3rem;}
  .about-grid,
  .contact-grid,
  .form-row{grid-template-columns:1fr;}
  .benefits-grid{grid-template-columns:1fr 1fr;}
  .pricing-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .posts-grid{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .service-item:nth-child(odd){border-right:none;}
  .service-item:nth-last-child(-n+2){border-bottom:1px solid var(--border);}
  .service-item:last-child{border-bottom:none;}
  footer{padding:2rem 1.25rem;}
  .footer-inner{flex-direction:column;align-items:flex-start;}
  .footer-right{align-items:flex-start;}
}
@media(max-width:480px){
  .benefits-grid{grid-template-columns:1fr;}
  .hero-trust{gap:1.5rem;}
}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--black);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px);}
.mobile-menu{display:none;position:sticky;top:57px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--border);z-index:99;flex-direction:column;padding:1.5rem 2.5rem;gap:1rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:13px;letter-spacing:0.04em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.mobile-menu a:hover{color:var(--red);}
.mobile-menu .nav-cta{color:#fff;align-self:flex-start;margin-top:0.5rem;}
@media(max-width:768px){.hamburger{display:flex;}.nav-cta{display:none;}}
