/* ============================================================
   JAROSLAV KRULIŠ PHOTOGRAPHY – main.css
   ============================================================ */

/* ---- Proměnné ---- */
:root {
    --dark:        #1A1814;
    --dark-2:      #2D2926;
    --warm-white:  #F9F6F2;
    --warm-gray:   #EDE8E1;
    --accent:      #C9A96E;
    --accent-dark: #A88950;
    --text:        #3A342F;
    --text-light:  #6B6059;
    --font-h:      'Playfair Display', Georgia, serif;
    --font-b:      'Lato', -apple-system, sans-serif;
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-b); color: var(--text); background: var(--warm-white); line-height: 1.7; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: var(--font-b); cursor: pointer; }

/* ---- Navigace ---- */
.jk-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    padding: 1.5rem 2.5rem;
    display: flex; justify-content: space-between; align-items: center;
    transition: background .35s, padding .35s, box-shadow .35s;
}
.jk-nav.scrolled {
    background: rgba(26,24,20,.97);
    padding: .85rem 2.5rem;
    box-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.jk-nav-logo {
    font-family: var(--font-h); font-size: 1.45rem; font-weight: 600;
    color: #fff; letter-spacing: .06em;
}
.jk-nav-links { display: flex; gap: 2.25rem; list-style: none; }
.jk-nav-links a { color: rgba(255,255,255,.8); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; }
.jk-nav-links a:hover { color: var(--accent); }
.jk-nav-cta { background: var(--accent) !important; color: var(--dark) !important; padding: .55rem 1.4rem !important; border-radius: 2px; font-weight: 700 !important; transition: background .2s !important; }
.jk-nav-cta:hover { background: #fff !important; }
.jk-nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: .25rem; }
.jk-nav-toggle span { display: block; width: 26px; height: 2px; background: #fff; border-radius: 2px; transition: .3s; }

/* ---- Mobile menu ---- */
.jk-mobile-menu {
    display: none; position: fixed; inset: 0; background: rgba(26,24,20,.97);
    z-index: 99; flex-direction: column; align-items: center; justify-content: center; gap: 2rem;
}
.jk-mobile-menu.open { display: flex; }
.jk-mobile-menu a { color: rgba(255,255,255,.85); font-size: 1.5rem; font-family: var(--font-h); transition: color .2s; }
.jk-mobile-menu a:hover, .jk-mobile-menu a.jk-nav-cta { color: var(--accent); background: none !important; padding: 0 !important; }
.jk-mobile-close { position: absolute; top: 1.5rem; right: 1.75rem; background: none; border: none; color: rgba(255,255,255,.6); font-size: 1.75rem; }

/* ---- Shared block wrappers ---- */
.jk-section { padding: 6.5rem 2rem; }
.jk-wrap { max-width: 1180px; margin: 0 auto; }

/* ---- Eyebrow label ---- */
.jk-eyebrow {
    font-size: .72rem !important; letter-spacing: .22em; text-transform: uppercase;
    color: var(--accent) !important; font-weight: 700;
    display: inline-flex; align-items: center; gap: .6rem; margin-bottom: .75rem !important;
}
.jk-eyebrow::before { content: ''; display: block; width: 28px; height: 1px; background: var(--accent); }

/* ---- Section titles ---- */
.jk-section-title {
    font-family: var(--font-h) !important; font-size: clamp(2.1rem, 4.5vw, 3.8rem) !important;
    font-weight: 300 !important; line-height: 1.12 !important; margin-bottom: 1.4rem !important;
}
.jk-section-title em { font-style: italic; color: var(--accent); }
.jk-lead { font-size: 1.05rem !important; color: var(--text-light) !important; line-height: 1.85 !important; max-width: 580px; }

/* ============================================================
   HERO SECTION
   ============================================================ */
.jk-hero.wp-block-cover {
    min-height: 100vh !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 0 !important;
}
.jk-hero .wp-block-cover__inner-container {
    padding: 2rem clamp(1.5rem, 5vw, 2.5rem) 2rem clamp(1.5rem, 10%, 10%);
    max-width: min(780px, 90vw);
    width: 100%;
    text-align: left !important;
}
.jk-hero-title {
    font-family: var(--font-h) !important;
    font-size: clamp(2rem, 5vw, 5.5rem) !important;
    font-weight: 300 !important; color: #fff !important;
    line-height: 1.12 !important; margin-bottom: 1.25rem !important;
}
.jk-hero-title em { font-style: italic; color: var(--accent); }
.jk-hero-sub { font-family: var(--font-b) !important; font-size: clamp(1.1rem, 4vw, 1.25rem) !important; color: rgba(255,255,255,.75) !important; font-weight: 300 !important; line-height: 1.75 !important; max-width: 480px; margin-bottom: 2rem !important; }
.jk-hero-btns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    align-items: flex-start !important;
}
.jk-hero-btns > .wp-block-button {
    width: auto !important;
    flex: 0 0 auto !important;
}
.jk-hero-btns .wp-block-button__link {
    font-size: .82rem !important; letter-spacing: .12em !important; text-transform: uppercase !important; font-weight: 700 !important; border-radius: 2px !important; padding: .9rem 1.8rem !important;
    width: auto !important;
    display: inline-block !important;
}
.jk-btn-gold .wp-block-button__link { background: var(--accent) !important; color: var(--dark) !important; border: none !important; }
.jk-btn-gold .wp-block-button__link:hover { background: #fff !important; }
.jk-btn-ghost .wp-block-button__link { background: transparent !important; color: rgba(255,255,255,.85) !important; border: 1px solid rgba(255,255,255,.45) !important; }
.jk-btn-ghost .wp-block-button__link:hover { border-color: var(--accent) !important; color: var(--accent) !important; }

/* ============================================================
   O MNĚ SECTION
   ============================================================ */
.jk-about { background: var(--dark) !important; padding: 7rem 2rem !important; }
.jk-about .wp-block-columns { max-width: 1180px; margin: 0 auto; gap: 6rem !important; align-items: center; }
.jk-about-img-col { position: relative; z-index: 0; }
.jk-about-img-col .wp-block-image img { width: 100%; height: auto; object-fit: unset; position: relative; z-index: 1; }
.jk-about-img-col::after {
    content: ''; position: absolute; top: -1.75rem; right: -1.75rem;
    width: 55%; height: 55%; border: 2px solid rgba(201,169,110,.45);
    pointer-events: none; z-index: 0;
}
.jk-about-img-col::before {
    content: ''; position: absolute; bottom: -1.75rem; left: -1.75rem;
    width: 40%; height: 40%; border: 2px solid rgba(201,169,110,.2);
    pointer-events: none; z-index: 0;
}
.jk-about .wp-block-heading { color: #fff !important; }
.jk-about p { color: rgba(255,255,255,.65) !important; font-size: 1.05rem !important; line-height: 1.88 !important; }

.jk-about-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 2.5rem 0; padding: 2rem 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.jk-stat-n { font-family: var(--font-h); font-size: 2.75rem; color: var(--accent); line-height: 1; margin-bottom: .2rem; }
.jk-stat-l { font-size: .75rem; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .1em; }

.jk-social-row { display: flex; gap: 1.25rem; margin-top: 2rem; flex-wrap: wrap; }
.jk-social-pill {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .55rem 1.2rem; border: 1px solid rgba(255,255,255,.2); border-radius: 100px;
    color: rgba(255,255,255,.6) !important; font-size: .82rem; transition: border-color .2s, color .2s;
}
.jk-social-pill:hover { border-color: var(--accent); color: var(--accent) !important; }

/* ============================================================
   PORTFOLIO SECTION
   ============================================================ */
.jk-portfolio { background: var(--warm-white) !important; padding: 6.5rem 2rem !important; }
.jk-portfolio-inner { max-width: 1180px; margin: 0 auto; }

.jk-filter-row { display: flex; gap: .5rem; margin: 1.75rem 0 2.5rem; flex-wrap: wrap; }
.jk-filter-btn {
    padding: .55rem 1.5rem; background: none; border: 1px solid var(--warm-gray);
    color: var(--text-light); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
    border-radius: 2px; transition: all .2s;
}
.jk-filter-btn:hover, .jk-filter-btn.active { background: var(--dark-2); border-color: var(--dark-2); color: #fff; }

.jk-port-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; }
.jk-port-cat { display: contents; }
.jk-port-cat.hidden { display: none; }

.jk-port-item { overflow: hidden; position: relative; cursor: zoom-in; aspect-ratio: 4/5; }
.jk-port-item.wide { grid-column: unset; aspect-ratio: 4/5; }
.jk-port-item img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .55s ease; }
.jk-port-item:hover img { transform: scale(1.06); }
.jk-port-overlay { position: absolute; inset: 0; background: rgba(26,24,20,0); transition: background .3s; pointer-events: none; }
.jk-port-item:hover .jk-port-overlay { background: rgba(26,24,20,.35); }

.jk-port-cta { text-align: center; margin-top: 3rem; }
.jk-btn-dark {
    display: inline-block; background: var(--dark-2); color: #fff;
    padding: .9rem 2.5rem; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase;
    font-weight: 700; border-radius: 2px; transition: background .2s;
}
.jk-btn-dark:hover { background: var(--accent); color: var(--dark); }

/* ============================================================
   REFERENCE SECTION
   ============================================================ */
.jk-reference { background: var(--warm-gray) !important; padding: 6.5rem 2rem !important; }
.jk-reference-inner { max-width: 1180px; margin: 0 auto; }
.jk-ref-head { text-align: center; margin-bottom: 3.5rem; }
.jk-ref-head .jk-lead { margin: 0 auto; }

.jk-ref-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; align-items: start; }

.jk-ref-card {
    background: #fff; border-radius: 16px; padding: 1.25rem;
    box-shadow: 0 2px 16px rgba(0,0,0,.07); position: relative;
    transition: transform .2s, box-shadow .2s;
    font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
}
.jk-ref-card:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,0,0,.12); }
.jk-ref-sender { font-size: .78rem; font-weight: 700; color: #1c1e21; margin-bottom: .75rem; padding-bottom: .65rem; border-bottom: 1px solid #f0f0f0; }
.jk-ref-bubble-row { display: flex; align-items: flex-end; gap: .6rem; }
.jk-ref-avatar { width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; align-self: flex-end; object-fit: cover; object-position: center center; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.jk-ref-bubble { background: #f0f0f0; border-radius: 18px 18px 18px 4px; padding: .85rem 1rem; flex: 1; }
.jk-ref-text { font-size: .9rem; color: #1c1e21; line-height: 1.55; margin: 0; }
.jk-ref-sig { display: block; margin-top: .6rem; font-weight: 700; font-size: .82rem; color: #555; }
.jk-ref-reaction { display: flex; justify-content: flex-end; margin-top: .4rem; padding-right: .25rem; }
.jk-ref-reaction span { background: #fff; border: 1px solid #e4e6ea; border-radius: 100px; padding: .15rem .5rem; font-size: .8rem; box-shadow: 0 1px 4px rgba(0,0,0,.1); }
.jk-ref-source { display: flex; align-items: center; gap: .35rem; margin-top: .9rem; padding-top: .75rem; border-top: 1px solid #f0f0f0; font-size: .72rem; color: #aaa; }

/* ============================================================
   CENÍK SECTION
   ============================================================ */
.jk-cenik { background: var(--dark) !important; padding: 6.5rem 2rem !important; }
.jk-cenik-inner { max-width: 1180px; margin: 0 auto; }
.jk-cenik-head { text-align: center; margin-bottom: 3rem; }
.jk-cenik-head .jk-section-title { color: #fff; }
.jk-cenik-head .jk-lead { color: rgba(255,255,255,.55); margin: 0 auto; }

.jk-tab-row { display: flex; justify-content: center; gap: .5rem; margin-bottom: 2.75rem; }
.jk-c-tab {
    padding: .6rem 1.75rem; background: none; border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.5); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
    border-radius: 2px; transition: all .2s;
}
.jk-c-tab:hover, .jk-c-tab.active { background: var(--accent); border-color: var(--accent); color: var(--dark); font-weight: 700; }
.jk-c-panel { display: none; }
.jk-c-panel.active { display: block; }

.jk-price-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.jk-p-card {
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
    padding: 2.5rem 2rem; border-radius: 4px; position: relative;
    transition: border-color .2s, transform .2s;
}
.jk-p-card:hover { border-color: var(--accent); transform: translateY(-4px); }
.jk-p-card.featured { border-color: var(--accent); background: rgba(201,169,110,.07); }
.jk-p-badge { position: absolute; top: -1px; right: 1.5rem; background: var(--accent); color: var(--dark); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: .3rem .8rem; border-radius: 0 0 4px 4px; }
.jk-p-name { font-family: var(--font-h); font-size: 1.65rem; color: #fff; margin-bottom: .15rem; }
.jk-p-sub { font-size: .75rem; color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1.5rem; }
.jk-p-price { font-family: var(--font-h); font-size: 3.25rem; color: var(--accent); line-height: 1; margin-bottom: 1.5rem; }
.jk-p-price-note { display: none; }
.jk-p-div { display: none; }
.jk-p-feats { list-style: none; margin-bottom: 2rem; }
.jk-p-feats li { display: flex; align-items: flex-start; gap: .75rem; color: rgba(255,255,255,.68); font-size: .9rem; padding: .35rem 0; }
.jk-p-feats li::before { content: '✓'; color: var(--accent); font-weight: 700; flex-shrink: 0; }
.jk-p-btn { display: block; text-align: center; padding: .85rem; border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.65); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; border-radius: 2px; transition: all .2s; background: none; width: 100%; }
.jk-p-btn:hover { background: var(--accent); border-color: var(--accent); color: var(--dark); font-weight: 700; }

.jk-others-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; max-width: 860px; margin: 0 auto; }
.jk-o-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); padding: 2rem 1.5rem; border-radius: 4px; text-align: center; transition: border-color .2s; }
.jk-o-card:hover { border-color: var(--accent); }
.jk-o-icon { font-size: 2rem; margin-bottom: .75rem; }
.jk-o-name { font-family: var(--font-h); font-size: 1.35rem; color: #fff; margin-bottom: .5rem; }
.jk-o-price { font-family: var(--font-h); font-size: 1.9rem; color: var(--accent); margin-bottom: .35rem; }
.jk-o-detail { font-size: .78rem; color: rgba(255,255,255,.38); line-height: 1.6; }
.jk-cenik-note { text-align: center; margin-top: 2.75rem; color: rgba(255,255,255,.35); font-size: .85rem; }

/* ============================================================
   KONTAKT SECTION
   ============================================================ */
.jk-kontakt { background: var(--warm-white) !important; padding: 6.5rem 2rem !important; }
.jk-kontakt-inner { max-width: 1180px; margin: 0 auto; }
.jk-kontakt .wp-block-columns { gap: 5rem !important; align-items: start; }
.jk-k-item { display: flex; gap: 1.1rem; margin-bottom: 2rem; align-items: flex-start; }
.jk-k-icon { width: 50px; height: 50px; background: var(--warm-gray); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
.jk-k-label { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--text-light); margin-bottom: .2rem; }
.jk-k-val { font-size: 1.02rem; color: var(--dark-2); transition: color .2s; }
.jk-k-val:hover { color: var(--accent); }

/* Kontaktní formulář */
.jk-contact-form { }
.jk-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.jk-fg { margin-bottom: 1.25rem; }
.jk-fg label { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-light); margin-bottom: .4rem; }
.jk-fg input, .jk-fg select, .jk-fg textarea {
    width: 100%; padding: .9rem 1rem; background: var(--warm-gray); border: 1px solid transparent;
    border-radius: 2px; font-family: var(--font-b); font-size: .98rem; color: var(--text);
    transition: border-color .2s; outline: none; -webkit-appearance: none;
}
.jk-fg input:focus, .jk-fg select:focus, .jk-fg textarea:focus { border-color: var(--accent); }
.jk-fg textarea { resize: vertical; min-height: 130px; }
.jk-form-footer { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: .5rem; }
.jk-form-note { font-size: .8rem; color: var(--text-light); }
.jk-btn-gold-solid {
    display: inline-block; background: var(--accent); color: var(--dark); border: none;
    padding: .95rem 2.6rem; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase;
    font-weight: 700; border-radius: 2px; transition: background .2s; cursor: pointer;
}
.jk-btn-gold-solid:hover { background: var(--accent-dark); color: #fff; }
.jk-form-success { display: none; color: #2d8a4e; font-size: .95rem; padding: 1rem; background: #e8f5ed; border-radius: 4px; }
.jk-form-error  { display: none; color: #8a2d2d; font-size: .95rem; padding: 1rem; background: #f5e8e8; border-radius: 4px; }

/* ============================================================
   FOOTER
   ============================================================ */
.jk-footer {
    background: var(--dark); color: rgba(255,255,255,.45);
    padding: 3.5rem 2rem; text-align: center;
}
.jk-footer-logo { font-family: var(--font-h); font-size: 1.9rem; color: #fff; margin-bottom: 1.25rem; }
.jk-footer-nav { display: flex; justify-content: center; gap: 2rem; list-style: none; margin-bottom: 1.25rem; flex-wrap: wrap; }
.jk-footer-nav a { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.jk-footer-nav a:hover { color: var(--accent); }
.jk-footer-copy { font-size: .8rem; }
.jk-footer-copy a { color: var(--accent); }

/* ============================================================
   LIGHTBOX
   ============================================================ */
#jkLightbox {
    display: none; position: fixed; inset: 0; background: rgba(0,0,0,.93);
    z-index: 999; align-items: center; justify-content: center;
}
#jkLightbox.open { display: flex; }
#jkLightbox img { max-width: 88vw; max-height: 88vh; object-fit: contain; transition: opacity .2s; }
#jkLightbox img.fading { opacity: 0; }
.jk-lb-close { position: fixed; top: 1.25rem; right: 1.75rem; color: rgba(255,255,255,.7); font-size: 1.5rem; background: none; border: none; z-index: 1001; transition: color .2s; }
.jk-lb-close:hover { color: #fff; }
.jk-lb-arrow { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.8); font-size: 1.5rem; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 2px; transition: background .2s; z-index: 1001; }
.jk-lb-arrow:hover { background: rgba(255,255,255,.25); color: #fff; }
.jk-lb-arrow:disabled { opacity: .2; }
.jk-lb-arrow.prev { left: 1.25rem; }
.jk-lb-arrow.next { right: 1.25rem; }
.jk-lb-counter { position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.45); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }

/* ============================================================
   FADE-IN ANIMACE
   ============================================================ */
.jk-fi { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.jk-fi.vis { opacity: 1; transform: translateY(0); }

/* ============================================================
   GUTENBERG – reset nežádoucích default stylů
   ============================================================ */
.jk-site .wp-block-cover { margin: 0 !important; }
.jk-site .wp-block-columns { margin: 0 !important; }
.jk-site figure.wp-block-image { margin: 0 !important; }
.jk-site .wp-block-image img { height: auto; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
    .jk-about .wp-block-columns { flex-direction: column !important; gap: 3rem !important; }
    .jk-about-img-col,
    .jk-about-img-col .wp-block-image,
    .jk-about-img-col .wp-block-image figure,
    .jk-about-img-col .wp-block-image img { width: 100% !important; max-width: 100% !important; height: auto !important; object-fit: unset !important; }
    .jk-about-img-col::after, .jk-about-img-col::before { display: none; }
    .jk-ref-grid { grid-template-columns: 1fr 1fr; }
    .jk-price-grid { grid-template-columns: 1fr; }
    .jk-others-grid { grid-template-columns: 1fr; }
    .jk-port-grid { grid-template-columns: 1fr 1fr; }
    .jk-port-item.wide { grid-column: unset; }
    .jk-kontakt .wp-block-columns { flex-direction: column !important; gap: 3rem !important; }
    .jk-form-row { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .jk-nav-links { display: none; }
    .jk-nav-toggle { display: flex; }
    .jk-nav { padding: 1rem 1.25rem; }
    .jk-nav.scrolled { padding: .75rem 1.25rem; }
    .jk-hero .wp-block-cover__inner-container { padding: 2rem 1.25rem; }
    .jk-port-grid { grid-template-columns: 1fr 1fr; }
    .jk-port-item.wide { grid-column: unset; aspect-ratio: 4/5; }
    .jk-ref-grid { grid-template-columns: 1fr; }
    section { padding: 4.5rem 1.25rem !important; }
    .jk-tab-row { flex-wrap: wrap; }
}


/* ============================================================
   WORDPRESS OVERRIDE FIXES
   ============================================================ */

/* Potlačení WP width:100% na buttonech */
.wp-block-buttons.jk-hero-btns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
}
.wp-block-buttons.jk-hero-btns > .wp-block-button {
    display: inline-flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
}
.wp-block-buttons.jk-hero-btns .wp-block-button__link {
    width: auto !important;
    display: inline-block !important;
    padding: .9rem 1.8rem !important;
    font-size: .82rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    border-radius: 2px !important;
    white-space: nowrap !important;
}
.jk-btn-gold > .wp-block-button__link {
    background-color: #C9A96E !important;
    color: #1A1814 !important;
    border: none !important;
}
.jk-btn-gold > .wp-block-button__link:hover {
    background-color: #ffffff !important;
    color: #1A1814 !important;
}
.jk-btn-ghost > .wp-block-button__link {
    background-color: transparent !important;
    color: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    font-weight: 400 !important;
}
.jk-btn-ghost > .wp-block-button__link:hover {
    border-color: #C9A96E !important;
    color: #C9A96E !important;
    background-color: transparent !important;
}

/* O mně sekce – grid sloupce */
.jk-about.jk-section .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr 1.1fr !important;
    gap: 5rem !important;
    align-items: center !important;
}
.jk-about.jk-section .wp-block-column {
    width: auto !important;
    flex: unset !important;
    min-width: 0 !important;
    max-width: none !important;
}
.jk-about-img-col .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: unset !important;
}

/* Kontakt sekce – grid sloupce */
.jk-kontakt.jk-section .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr 1.6fr !important;
    gap: 5rem !important;
}
.jk-kontakt.jk-section .wp-block-column {
    width: auto !important;
    flex: unset !important;
    min-width: 0 !important;
    max-width: none !important;
}

@media (max-width: 960px) {
    .jk-about.jk-section .wp-block-columns,
    .jk-kontakt.jk-section .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 3rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .jk-about.is-layout-constrained > .wp-block-columns {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }
    .jk-about-img-col {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .wp-block-buttons.jk-hero-btns {
        justify-content: center !important;
    }
}

/* ============================================================
   FSE NAVIGACE – styly pro wp:navigation bloky
   ============================================================ */

/* Header navigace */
nav.jk-nav {
    position: fixed !important;
    top: 0; left: 0; right: 0;
    z-index: 100;
    padding: 1.5rem 2.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background .35s, padding .35s, box-shadow .35s;
}
nav.jk-nav .wp-block-site-title a {
    font-family: var(--font-h) !important;
    font-size: 1.45rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    letter-spacing: .06em !important;
    text-decoration: none !important;
}
nav.jk-nav .wp-block-navigation__container {
    display: flex !important;
    gap: 2.25rem !important;
    list-style: none !important;
    align-items: center !important;
}
nav.jk-nav .wp-block-navigation-item__content {
    color: rgba(255,255,255,.8) !important;
    font-size: .82rem !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color .2s !important;
    padding: 0 !important;
}
nav.jk-nav .wp-block-navigation-item__content:hover {
    color: var(--accent) !important;
}
nav.jk-nav .jk-nav-cta .wp-block-navigation-item__content {
    background: var(--accent) !important;
    color: var(--dark) !important;
    padding: .55rem 1.4rem !important;
    border-radius: 2px !important;
    font-weight: 700 !important;
}
nav.jk-nav .jk-nav-cta .wp-block-navigation-item__content:hover {
    background: #fff !important;
    color: var(--dark) !important;
}

/* Mobile hamburger */
nav.jk-nav .wp-block-navigation__responsive-container-open,
nav.jk-nav .wp-block-navigation__responsive-container-close {
    color: #fff !important;
}
nav.jk-nav .wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(26,24,20,.97) !important;
}

/* Footer navigace */
footer.jk-footer .wp-block-site-title a {
    font-family: var(--font-h) !important;
    font-size: 1.4rem !important;
    font-weight: 300 !important;
    color: #fff !important;
    text-decoration: none !important;
    letter-spacing: .05em !important;
    display: block !important;
    margin-bottom: 1.5rem !important;
}
footer.jk-footer .wp-block-navigation__container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 2rem !important;
    list-style: none !important;
}
footer.jk-footer .wp-block-navigation-item__content {
    color: rgba(255,255,255,.6) !important;
    font-size: .78rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color .2s !important;
    padding: 0 !important;
}
footer.jk-footer .wp-block-navigation-item__content:hover {
    color: var(--accent) !important;
}

/* ============================================================
   FSE BLOCK THEME – reset nežádoucích layout stylů
   ============================================================ */

/* Odstraň padding/max-width které FSE přidává na post content */
.wp-block-post-content,
.entry-content,
.wp-site-blocks {
    padding: 0 !important;
}

.wp-block-post-content > *,
.entry-content > * {
    max-width: none !important;
}

/* Odstraň mezery mezi sekcemi (FSE block gap) */
.wp-site-blocks > * + * {
    margin-top: 0 !important;
}

.wp-block-group.jk-site > .wp-block-post-content {
    padding: 0 !important;
}

/* Navigace – FSE přidává vlastní styly na wp:navigation */
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(26,24,20,.97) !important;
}

.wp-block-navigation-item__content {
    color: rgba(255,255,255,.8) !important;
    font-size: .82rem !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

.wp-block-navigation-item__content:hover {
    color: var(--accent) !important;
}

/* Header sticky fix pro FSE */
header.jk-nav.wp-block-group {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
}

/* Body padding-top aby obsah nebyl pod fixním headerem */
body {
    padding-top: 0 !important;
}

.jk-hero.wp-block-cover {
    margin-top: 0 !important;
}

/* ============================================================
   JK FIXES – přesunuto z inline style bloku do main.css
   ============================================================ */

/* 1. Hero tlačítka */
.jk-hero-btns .wp-block-button__link,
.wp-block-buttons.jk-hero-btns .wp-block-button__link {
    width:auto !important;
    display:inline-block !important;
}
.jk-hero-btns>.wp-block-button,
.wp-block-buttons.jk-hero-btns>.wp-block-button {
    display:inline-flex !important;
    width:auto !important;
    flex:0 0 auto !important;
}

/* 2. Zlaté tlačítko */
.jk-btn-gold>.wp-block-button__link {
    background:#C9A96E !important;
    color:#1A1814 !important;
    border:none !important;
    padding:.95rem 2.6rem !important;
    border-radius:2px !important;
    font-size:.82rem !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    font-weight:700 !important;
}
.jk-btn-gold>.wp-block-button__link:hover {
    background:#fff !important;
    color:#1A1814 !important;
}

/* 3. Ghost tlačítko */
.jk-btn-ghost>.wp-block-button__link {
    background:transparent !important;
    color:rgba(255,255,255,.88) !important;
    border:1px solid rgba(255,255,255,.5) !important;
    padding:.95rem 2.6rem !important;
    border-radius:2px !important;
    font-size:.82rem !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    font-weight:400 !important;
}
.jk-btn-ghost>.wp-block-button__link:hover {
    border-color:#C9A96E !important;
    color:#C9A96E !important;
}

/* 4. O mně – sloupce */
.jk-about.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width:none !important;
}
.jk-about.is-layout-constrained > .wp-block-columns {
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* 5. Portfolio – přirozený poměr, bez hover overlay */
.jk-port-item,
.jk-port-item:hover,
.jk-port-item:focus,
.jk-port-item *,
.jk-port-item *:hover,
.jk-port-item *:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.jk-port-overlay,
.jk-port-item:hover .jk-port-overlay {
    display: none !important;
}
.jk-port-item { aspect-ratio: unset !important; height: auto !important; }
.jk-port-item.wide { aspect-ratio: unset !important; height: auto !important; }
.jk-port-item img { width: 100% !important; height: auto !important; object-fit: unset !important; display: block !important; }

/* 6. Tlačítka hero – vedle sebe na desktopu */
@media(min-width:601px){
    .wp-block-buttons.jk-hero-btns, .jk-hero-btns {
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }
    .jk-hero-btns > .wp-block-button,
    .wp-block-buttons.jk-hero-btns > .wp-block-button {
        flex-shrink: 1 !important;
        min-width: 0 !important;
    }
}

/* 7. Hero tlačítka hover lift */
.jk-hero-btns .wp-block-button__link {
    transition: transform .22s ease, box-shadow .22s ease, background .2s ease !important;
}
.jk-hero-btns .wp-block-button__link:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.35) !important;
}

/* 8b. Mobil – hero bg pozice vpravo */
@media (max-width: 600px) {
    .jk-hero .wp-block-cover__image-background {
        object-position: right center !important;
    }
}

/* 8. Hero Ken Burns zoom */
@keyframes jk-kenburns {
    from { transform: scale(1); }
    to   { transform: scale(1.08); }
}
.jk-hero.wp-block-cover .wp-block-cover__image-background {
    animation: jk-kenburns 12s ease-out forwards !important;
    transform-origin: center center !important;
}

/* 9. Mobil – tlačítka pod sebou */
@media(max-width:600px){
    .wp-block-buttons.jk-hero-btns, .jk-hero-btns {
        flex-wrap:wrap !important;
        flex-direction:column !important;
        align-items:stretch !important;
    }
    .jk-hero-btns > .wp-block-button,
    .wp-block-buttons.jk-hero-btns > .wp-block-button {
        width:100% !important;
        flex:1 1 auto !important;
    }
    .jk-about-img img {
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
        display:block !important;
    }
}

/* 10. Hero – ochrana při vysokém zoomu (150%+ na desktopu) */
@media (max-width: 900px) {
    .jk-hero .wp-block-cover__inner-container {
        padding-left: clamp(1rem, 5vw, 3rem);
        padding-right: 1.25rem;
        max-width: 100%;
    }
    .jk-hero-title {
        font-size: clamp(2.6rem, 9vw, 3.6rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 1rem !important;
    }
    .jk-hero-sub {
        font-family: 'Lato', -apple-system, sans-serif !important;
        font-size: clamp(1.15rem, 4.5vw, 1.3rem) !important;
        margin-bottom: 1.5rem !important;
    }
}
