/*
Theme Name: CONSENSUS Mediačné centrum
Theme URI: https://www.consensus-mkc.sk/
Author: OpenAI
Description: Responzívna prezentačná šablóna pre mediačno-konzultačné centrum CONSENSUS. Texty a kontakty sú upraviteľné cez WordPress.
Version: 2.7.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: consensus-mkc
*/
:root{--navy:#0b3156;--navy2:#082744;--gold:#b88b3b;--cream:#fbf8f1;--ink:#25384b;--muted:#5c6b79;--line:#e3e7eb;--pale:#f2f6f9;--white:#fff;--radius:10px;--shadow:0 12px 32px rgba(15,43,68,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.65;background:#fff}a{color:var(--navy);text-decoration:none}a:hover{color:var(--gold)}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:210px;color:var(--navy)}.brand-mark{width:42px;height:42px;border:3px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:22px;font-weight:700}.brand-name{font-family:Georgia,serif;font-size:25px;letter-spacing:2px;line-height:1.1}.brand-tagline{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;display:block;margin-top:5px}.main-nav{display:flex;align-items:center;gap:20px;font-size:13px;font-weight:600}.main-nav a{white-space:nowrap}.header-actions{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700}.phone{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:8px;background:var(--navy);color:#fff;font-weight:700;font-size:14px;border:1px solid var(--navy);transition:.2s}.btn:hover{background:var(--navy2);color:#fff;transform:translateY(-1px)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn-outline{background:transparent;color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:6px;padding:8px 11px;color:var(--navy)}.hero{background:linear-gradient(110deg,var(--cream) 0%,#fff 58%,#e9eef0 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:420px;gap:34px}.eyebrow{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#9a702c;font-weight:700;margin:0 0 12px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,50px);line-height:1.12;color:var(--navy);margin:0 0 17px;max-width:620px}.hero-copy{max-width:570px}.hero-copy p{margin:0 0 22px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.hero-note{margin-top:22px;font-size:13px;color:var(--muted)}.hero-visual{min-height:360px;align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center;padding:35px 0}.photo-placeholder{width:100%;height:330px;border-radius:12px;background:linear-gradient(135deg,#d7d6cb,#f8f4eb 40%,#c2d0cf);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--navy);position:relative;overflow:hidden}.photo-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(255,255,255,.85),transparent 35%),linear-gradient(120deg,transparent 35%,rgba(11,49,86,.10))}.photo-placeholder span{position:relative;font-family:Georgia,serif;font-size:23px;max-width:280px}.section{padding:58px 0}.section-soft{background:var(--pale)}.section-cream{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center}.intro-visual{min-height:220px;background:linear-gradient(135deg,#e7e2d5,#fff 55%,#d9e1e3);border-radius:var(--radius);display:grid;place-items:center;color:var(--navy);box-shadow:var(--shadow);padding:30px;text-align:center}.intro-visual strong{font-family:Georgia,serif;font-size:26px;letter-spacing:2px}.intro-visual small{display:block;font-size:10px;letter-spacing:1px}.section h2{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:clamp(28px,3vw,38px);line-height:1.2;margin:0 0 16px}.section-heading{text-align:center;margin-bottom:30px}.section-heading p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.service-card{background:#fff;padding:25px 18px 22px;border:1px solid #edf0f2;border-radius:var(--radius);text-align:center;box-shadow:0 4px 18px rgba(15,43,68,.025);display:flex;flex-direction:column;align-items:center;min-height:210px}.service-icon{font-size:31px;color:var(--navy);margin-bottom:10px}.service-card h3{font-family:Georgia,serif;color:var(--navy);font-size:17px;line-height:1.3;margin:0 0 10px}.service-card p{font-size:14px;margin:0 0 15px;color:var(--muted)}.text-link{margin-top:auto;font-size:13px;color:#9a702c;font-weight:700}.benefit-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:20px;align-items:start}.benefit-title h2{font-size:30px}.benefit{border-left:1px solid #ddd8ce;padding-left:18px}.benefit-icon{font-size:27px;color:var(--gold)}.benefit h3{font-size:15px;line-height:1.35;color:var(--navy);margin:8px 0}.benefit p{font-size:13px;color:var(--muted);margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{position:relative;padding:8px 12px 8px 0}.step-number{width:34px;height:34px;border-radius:50%;background:var(--gold);color:white;display:grid;place-items:center;font-weight:700;margin-bottom:13px}.step h3{font-size:16px;color:var(--navy);margin:0 0 6px}.step p{font-size:14px;color:var(--muted);margin:0}.people-offices{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}.person-panel{display:grid;grid-template-columns:1fr .75fr;gap:20px;align-items:center}.person-image{height:220px;border-radius:8px;background:linear-gradient(135deg,#d9d7cf,#f8f7f3,#aab7bd);display:grid;place-items:center;text-align:center;padding:15px;color:var(--navy);font-size:13px}.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.office{border-left:1px solid var(--line);padding-left:18px}.office h3{margin:0 0 10px;color:var(--navy);font-size:16px}.office p{font-size:13px;color:var(--muted);margin:5px 0}.cta-band{background:var(--navy);color:#fff;padding:34px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-band h2{font-family:Georgia,serif;font-size:29px;margin:0 0 5px;color:white}.cta-band p{margin:0;color:#e0e8ee}.cta-band .phone{color:white}.site-footer{background:var(--navy2);color:#dce5ec;padding:30px 0 20px;font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer a{color:#dce5ec}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:22px;padding-top:15px;display:flex;justify-content:space-between;gap:15px;color:#b9c9d5}.page-content{padding:45px 0 70px;min-height:45vh}.page-content h1,.entry-title{font-family:Georgia,serif;color:var(--navy);font-size:clamp(32px,4vw,44px);line-height:1.2}.page-content a{text-decoration:underline}.page-content input,.page-content textarea,.page-content select{width:100%;padding:12px;border:1px solid #ccd5dc;border-radius:6px;margin:5px 0 14px}.page-content .wp-block-button__link{background:var(--navy);color:white;border-radius:7px}.notice{font-size:13px;color:var(--muted)}.screen-reader-text{position:absolute;left:-9999px}.alignwide{max-width:1160px;margin-inline:auto}.alignfull{width:100%}
@media(max-width:1100px){.main-nav{gap:12px}.header-actions .phone{display:none}.cards{grid-template-columns:repeat(3,1fr)}.benefit-grid{grid-template-columns:repeat(4,1fr)}.benefit-title{grid-column:1/-1}.benefit:first-of-type{border-left:0;padding-left:0}}
@media(max-width:820px){.header-inner{min-height:72px;flex-wrap:wrap;padding:12px 0}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;order:3;width:100%;flex-direction:column;align-items:flex-start;padding:12px 0 8px;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:10px 0;width:100%;border-top:1px solid var(--line)}.header-actions{display:none}.hero-grid,.intro-grid,.people-offices{grid-template-columns:1fr}.hero-grid{padding-top:35px;gap:5px}.hero-visual{padding:10px 0 30px;min-height:auto}.photo-placeholder{height:250px}.section{padding:44px 0}.cards{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.person-panel{grid-template-columns:1fr .7fr}.cta-inner{align-items:flex-start;flex-direction:column}.footer-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.container{width:min(100% - 28px,1160px)}.brand-name{font-size:21px}.brand-mark{width:36px;height:36px}.hero h1{font-size:34px}.button-row{flex-direction:column;align-items:stretch}.button-row .btn{width:100%}.cards,.benefit-grid,.steps,.office-grid{grid-template-columns:1fr}.benefit{border-left:0;border-top:1px solid #ddd8ce;padding:16px 0 0}.person-panel{grid-template-columns:1fr}.person-image{height:160px}.copyright{flex-direction:column}.section h2{font-size:29px}}

/* Rozbaľovacie menu: pôvodná hlavička, farby, logo a rozloženie zostávajú zachované. */
.main-nav .primary-menu,.main-nav .sub-menu{list-style:none;margin:0;padding:0}
.main-nav .primary-menu{display:flex;align-items:center;gap:20px}
.main-nav .primary-menu>li{position:relative}
.main-nav .primary-menu>li>a{display:block;padding:12px 0}
.main-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 2px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.main-nav .sub-menu{display:none;position:absolute;left:0;top:100%;z-index:200;min-width:235px;padding:8px;background:#fff;border:1px solid var(--line,#e5e8ea);border-radius:10px;box-shadow:0 14px 28px rgba(0,0,0,.12)}
.main-nav .sub-menu li{position:relative}
.main-nav .sub-menu a{display:block;padding:10px 12px;white-space:normal;color:inherit;border-radius:6px}
.main-nav .sub-menu a:hover,.main-nav .sub-menu a:focus-visible{background:#f1f5f5;text-decoration:none}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li.submenu-open>.sub-menu{display:block}
.main-nav .sub-menu .sub-menu{top:0;left:100%}
@media(max-width:1100px){.main-nav .primary-menu{gap:12px}}
@media(max-width:900px){
 .main-nav .primary-menu{display:block;width:100%}
 .main-nav .primary-menu>li>a{padding:11px 0}
 .main-nav .sub-menu,.main-nav .sub-menu .sub-menu{position:static;min-width:0;width:100%;box-shadow:none;border:0;border-left:2px solid var(--line,#e5e8ea);border-radius:0;margin-left:12px;padding:0 0 6px 12px}
 .main-nav li:hover>.sub-menu{display:none}
 .main-nav li.submenu-open>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}
 .main-nav .sub-menu a{padding:9px 8px}
}

/* Rozšírenia správy obsahu, bez zásahu do pôvodnej vizuálnej identity. */
.mediator-list{display:grid;gap:14px;margin:20px 0}
.mediator-profile{display:flex;align-items:center;gap:14px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:8px}
.mediator-photo{width:74px;height:74px;object-fit:cover;border-radius:50%;flex-shrink:0}
.mediator-profile h3{margin:0 0 3px;font-size:16px;color:var(--navy)}
.mediator-profile p{margin:2px 0;font-size:13px}
.mediator-profile a{font-size:13px;font-weight:700;color:var(--gold)}
@media(min-width:821px) and (max-width:900px){.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;order:3;width:100%;padding:12px 0}.main-nav.is-open{display:flex}.header-inner{flex-wrap:wrap}.header-actions{display:none}}
@media(max-width:820px){.main-nav .primary-menu{display:block}.main-nav .primary-menu>li{width:100%}}

.post-summary{padding:24px 0;border-bottom:1px solid #e3e8ec}.post-summary .entry-title{font-size:clamp(1.35rem,2.5vw,1.8rem)}.consensus-read-more{display:inline-block;font-weight:700;color:var(--gold,#b78b37);text-decoration:underline;text-underline-offset:3px}.entry-content{overflow-wrap:anywhere}.entry-content img{max-width:100%;height:auto}

/* v1.6: WordPress custom logo. The logo itself is already a link,
   so never nest it inside another anchor. */
.site-header .brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:100%}
.site-header .brand-fallback{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none}
.site-header .brand .custom-logo-link{display:inline-flex;align-items:center;line-height:0;max-width:100%;flex:0 1 auto}
.site-header .brand img.custom-logo{display:block;width:min(var(--consensus-logo-width,220px),100%);max-width:100%;height:auto;max-height:75px;object-fit:contain;object-position:left center;visibility:visible;opacity:1}
@media(max-width:520px){
 .site-header .brand img.custom-logo{max-height:58px;width:min(var(--consensus-logo-width,220px),calc(100vw - 110px))}
}

/* 1.7: logo in a separate upper row, WordPress navigation below. */
.site-header .header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;row-gap:0}
.site-header .brand{flex:0 0 100%;width:100%;min-height:94px;padding:12px 0;display:flex;align-items:center;justify-content:center}
.site-header .brand .custom-logo-link,.site-header .brand .brand-fallback{margin-inline:auto}
.site-header .brand img.custom-logo{width:min(var(--consensus-logo-width,220px),100%);max-height:90px;object-position:center}
.site-header .main-nav{order:2;flex:1 1 auto;min-width:0}
.site-header .header-actions{order:3;flex:0 0 auto}
.site-header .menu-toggle{order:1}
@media(min-width:901px){
 .site-header .header-inner{padding-bottom:9px}
 .site-header .menu-toggle{display:none}
 .site-header .main-nav{display:flex;align-items:center}
}
@media(max-width:900px){
 .site-header .brand{min-height:76px;padding:9px 0}
 .site-header .brand img.custom-logo{max-height:65px}
 .site-header .menu-toggle{order:1}
 .site-header .main-nav{order:3;flex:0 0 100%;width:100%}
 .site-header .header-actions{order:2}
}

/* CONSENSUS 1.8: väčšie logo presne v strede nad menu */
.site-header .header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:20px;row-gap:0}
.site-header .brand{order:0;flex:0 0 100%;width:100%;max-width:none;min-height:140px;padding:18px 0 15px;display:flex;align-items:center;justify-content:center;text-align:center}
.site-header .brand .custom-logo-link,.site-header .brand .brand-fallback{margin:0 auto;display:inline-flex;align-items:center;justify-content:center;max-width:100%}
.site-header .brand img.custom-logo{display:block;width:min(var(--consensus-logo-width,360px),100%);max-width:100%;height:auto;max-height:135px;object-fit:contain;object-position:center}
.site-header .main-nav{order:2;flex:0 1 auto;justify-content:center}
.site-header .header-actions{order:3;flex:0 0 auto}
@media(min-width:901px){
 .site-header .header-inner{padding-bottom:12px}
 .site-header .menu-toggle{display:none}
}
@media(max-width:900px){
 .site-header .brand{min-height:105px;padding:12px 0}
 .site-header .brand img.custom-logo{width:min(var(--consensus-logo-width,360px),calc(100vw - 40px));max-height:100px}
 .site-header .menu-toggle{order:1;margin-left:0}
 .site-header .main-nav{order:3;flex:0 0 100%;width:100%}
 .site-header .header-actions{order:2}
}
@media(max-width:520px){
 .site-header .brand{min-height:90px}
 .site-header .brand img.custom-logo{max-height:80px}
}

/* CONSENSUS 1.9 – editing controls for authorized logged-in users only */
.consensus-editor-actions{margin:12px 0 22px}
.consensus-frontpage-editor-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;padding-bottom:8px}
.consensus-frontpage-editor-actions .consensus-editor-actions{margin:0}
.consensus-edit-button{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;color:#163a56!important;border:1px solid #b9c9d6;border-radius:7px;padding:8px 13px;font-size:13px;font-weight:700;text-decoration:none!important;line-height:1.3}
.consensus-edit-button:hover,.consensus-edit-button:focus-visible{background:#dceaf2;border-color:#7799ad}

.consensus-contact-person{margin-top:10px;font-size:1rem}

.consensus-branch-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:26px}
.consensus-branch-card{border:1px solid rgba(255,255,255,.27);border-radius:10px;padding:17px 20px;background:rgba(255,255,255,.07);color:#fff}
.consensus-branch-card h3{margin:0 0 9px;color:#fff;font-size:1.1rem}
.consensus-branch-card p{margin:5px 0;color:#fff}
.consensus-branch-card a{color:#f4d79a;text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.consensus-branch-contacts{grid-template-columns:1fr}}

/* 2.2 – kancelárske kontakty patria do sekcie Kde nás nájdete na úvodnej stránke */
.consensus-offices-contact-person{margin:0 0 18px}
.office a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.office-contact-pending{opacity:.7;font-style:italic}

/* 2.3 – kontaktná osoba zvlášť pre každú kanceláriu */
.office-contact-person{margin:8px 0}

/* CONSENSUS 2.4: jednotné ilustračné ikony nad názvom každej oblasti */
.service-card{transition:transform .18s ease,box-shadow .18s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(15,43,68,.09)}
.service-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;margin:0 auto 17px;border-radius:18px;background:#f5f0e6;color:#ad863d}
.service-icon svg{width:38px;height:38px;display:block}
.service-card .text-link:focus-visible{outline:2px solid #ad863d;outline-offset:4px}

/* CONSENSUS 2.5: odkazy na úpravu len pre oprávnených správcov */
.consensus-service-section-edit{grid-column:1/-1;margin-bottom:8px}
.consensus-service-admin-link{text-align:right;margin-bottom:10px}
.consensus-service-admin-link a{display:inline-block;background:#e8edf1;color:#183b54!important;border:1px solid #b6c5d0;border-radius:5px;padding:5px 9px;font-size:12px;font-weight:700;text-decoration:none!important}
.consensus-service-admin-link a:hover{background:#d7e6ef}

/* Odkaz pod štyrmi krokmi mediácie */
.consensus-steps-more{text-align:center;margin-top:32px}
.consensus-steps-more .btn{display:inline-flex;justify-content:center;max-width:100%;white-space:normal;text-align:center}

/* 2.7 – fotografia úvodnej sekcie nahrávaná cez WordPress Customizer */
.consensus-hero-photo{display:block;width:100%;height:330px;object-fit:cover;object-position:center;border-radius:12px;box-shadow:var(--shadow)}
@media(max-width:820px){.consensus-hero-photo{height:250px}}
