:root{--knp-bg:#f6f7f8;--knp-card:#fff;--knp-text:#18201d;--knp-muted:#6a746f;--knp-border:#e4e9e6;--knp-brand:#1f6f54;--knp-brand-dark:#155440;--knp-soft:#eef6f2;--knp-radius:22px;--knp-shadow:0 14px 40px rgba(17,39,31,.08)}
.knp-shell{max-width:1180px;margin:32px auto;padding:0 20px;color:var(--knp-text);box-sizing:border-box}.knp-shell *{box-sizing:border-box}.knp-form-shell{max-width:920px}.knp-form-head{margin-bottom:24px}.knp-form-head h2,.knp-detail h1{margin:.2em 0;font-size:clamp(30px,5vw,52px);line-height:1.04;letter-spacing:-.035em}.knp-form-head p{font-size:17px;color:var(--knp-muted);max-width:650px}.knp-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--knp-brand)}
.knp-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0}.knp-progress span{height:7px;border-radius:99px;background:#e1e7e3;font-size:0}.knp-progress span.active{background:var(--knp-brand)}
.knp-wizard{background:var(--knp-card);border:1px solid var(--knp-border);border-radius:28px;box-shadow:var(--knp-shadow);overflow:hidden}.knp-step{display:none;padding:34px}.knp-step.active{display:block}.knp-step h3{font-size:25px;margin:0 0 24px}.knp-grid{display:grid;gap:18px}.knp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.knp-span-2{grid-column:1/-1}.knp-field{display:flex;flex-direction:column;gap:8px}.knp-field>span{font-weight:700;font-size:14px}.knp-field input,.knp-field select,.knp-field textarea,.knp-filter select{width:100%;border:1px solid var(--knp-border);border-radius:14px;background:#fff;padding:13px 14px;color:var(--knp-text);font:inherit;outline:none}.knp-field input:focus,.knp-field select:focus,.knp-field textarea:focus,.knp-filter select:focus{border-color:var(--knp-brand);box-shadow:0 0 0 4px rgba(31,111,84,.10)}.knp-input-suffix{position:relative}.knp-input-suffix input{padding-right:46px}.knp-input-suffix b{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--knp-muted)}
.knp-check-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px}.knp-check-groups h4{margin:0 0 12px}.knp-chips{display:flex;flex-wrap:wrap;gap:8px}.knp-chips label input{position:absolute;opacity:0;pointer-events:none}.knp-chips label span,.knp-tags span{display:inline-flex;padding:9px 12px;border:1px solid var(--knp-border);border-radius:999px;background:#fff;font-size:13px;cursor:pointer}.knp-chips label input:checked+span{background:var(--knp-soft);border-color:#9fcab7;color:var(--knp-brand-dark);font-weight:700}.knp-space-top{margin-top:24px}
.knp-photo-box{border:2px dashed #cbd7d1;border-radius:22px;padding:26px;background:#fbfcfb;text-align:center}.knp-photo-box>input{position:absolute;opacity:0;pointer-events:none}.knp-photo-box>label{display:flex;flex-direction:column;gap:7px;cursor:pointer}.knp-photo-box>label strong{font-size:18px}.knp-photo-box>label span{font-size:13px;color:var(--knp-muted)}.knp-photo-count{margin:15px 0;font-weight:800;color:var(--knp-brand)}.knp-previews{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.knp-preview-item{position:relative;min-width:0}.knp-preview-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}.knp-preview-remove{position:absolute;top:6px;right:6px;width:30px;height:30px;border:0;border-radius:999px;background:rgba(20,31,27,.88);color:#fff;font-size:22px;line-height:28px;cursor:pointer;padding:0}.knp-preview-name{display:block;margin-top:5px;font-size:11px;color:var(--knp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knp-photo-box>label.is-full{opacity:.55;cursor:not-allowed}
.knp-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0}.knp-info-box,.knp-notice,.knp-success,.knp-error{padding:16px 18px;border-radius:16px;background:var(--knp-soft);margin:14px 0}.knp-error{background:#fff1f1;color:#842727}.knp-success{background:#eef8f1;color:#245c34}.knp-info-box{display:flex;flex-direction:column;gap:3px}.knp-actions{border-top:1px solid var(--knp-border);padding:18px 34px;display:flex;justify-content:space-between;gap:12px}.knp-actions-right{display:flex;gap:10px;margin-left:auto}.knp-btn{appearance:none;border:0;border-radius:14px;background:var(--knp-brand);color:#fff!important;padding:12px 18px;font-weight:800;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1.2}.knp-btn:hover{background:var(--knp-brand-dark)}.knp-btn-ghost{background:#f0f3f1;color:var(--knp-text)!important}.knp-btn-small{padding:9px 13px;font-size:13px}
.knp-filter{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;padding:14px;background:#fff;border:1px solid var(--knp-border);border-radius:20px;box-shadow:var(--knp-shadow);margin-bottom:22px}.knp-filter label{display:flex;flex-direction:column;gap:5px}.knp-filter label span{font-size:11px;font-weight:800;color:var(--knp-muted);text-transform:uppercase;letter-spacing:.06em}.knp-results-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:12px 2px 18px}.knp-results-head span{color:var(--knp-muted);font-size:13px}
.knp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.knp-card{background:#fff;border:1px solid var(--knp-border);border-radius:var(--knp-radius);overflow:hidden;box-shadow:0 8px 28px rgba(17,39,31,.06);transition:.2s ease}.knp-card:hover{transform:translateY(-3px);box-shadow:var(--knp-shadow)}.knp-card-media{display:block;position:relative;aspect-ratio:4/3;background:#e9eeeb;overflow:hidden}.knp-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.knp-card:hover .knp-card-media img{transform:scale(1.025)}.knp-placeholder{height:100%;display:grid;place-items:center;color:#7c8882;font-weight:800}.knp-top,.knp-top-static{position:absolute;top:14px;left:14px;background:#18201d;color:#fff;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em}.knp-top-static{position:static;display:inline-flex;margin-bottom:10px}.knp-card-body{padding:17px}.knp-card-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--knp-muted);font-size:12px}.knp-card-meta span+span:before{content:'•';margin-right:9px}.knp-card h3{font-size:20px;margin:7px 0 12px;line-height:1.15}.knp-card h3 a{color:var(--knp-text);text-decoration:none}.knp-tags{display:flex;gap:6px;flex-wrap:wrap}.knp-tags span{padding:6px 9px;background:#f7f9f8;cursor:default}.knp-tags.big span{padding:9px 12px}.knp-card-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--knp-border);font-size:13px}.knp-card-foot strong{font-size:16px;text-align:right}.knp-card-foot small{font-weight:500;color:var(--knp-muted)}.knp-empty{grid-column:1/-1;padding:30px;border:1px dashed var(--knp-border);border-radius:18px;text-align:center;color:var(--knp-muted)}
.knp-detail-head{margin-bottom:18px}.knp-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:10px;border-radius:26px;overflow:hidden}.knp-gallery img{width:100%;height:100%;object-fit:cover}.knp-gallery img:first-child{grid-row:1/3}.knp-gallery.single{display:block}.knp-gallery.single img{width:100%;max-height:620px;aspect-ratio:16/9;border-radius:26px}.knp-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;margin-top:30px}.knp-detail main section{padding:26px 0;border-top:1px solid var(--knp-border)}.knp-detail main h2{font-size:24px;margin:0 0 14px}.knp-lead{font-size:18px;line-height:1.7}.knp-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:26px}.knp-facts div{padding:18px;background:#f7f9f8;border-radius:16px;display:flex;flex-direction:column}.knp-facts b{font-size:16px}.knp-facts span{font-size:12px;color:var(--knp-muted);margin-top:3px}.knp-sticky{position:sticky;top:24px;background:#fff;border:1px solid var(--knp-border);border-radius:22px;padding:22px;box-shadow:var(--knp-shadow);display:flex;flex-direction:column;gap:7px}.knp-sticky>span,.knp-sticky small,.knp-sticky p{color:var(--knp-muted);font-size:13px}.knp-sticky>strong{font-size:27px}.knp-sticky .knp-btn{margin-top:10px}.knp-owner-list{display:flex;flex-direction:column;gap:10px}.knp-owner-row{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--knp-border);border-radius:16px;padding:15px 17px}.knp-owner-row div{display:flex;flex-direction:column;gap:3px}.knp-owner-row span{font-size:14px;color:var(--knp-muted);line-height:1.45}.knp-owner-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center;flex-wrap:wrap}
@media(max-width:900px){.knp-cards{grid-template-columns:repeat(2,1fr)}.knp-detail-grid{grid-template-columns:1fr}.knp-sticky{position:static}.knp-gallery{grid-template-columns:2fr 1fr;grid-template-rows:220px 220px}.knp-gallery img:nth-child(n+4){display:none}.knp-filter{grid-template-columns:1fr 1fr}.knp-filter .knp-btn{grid-column:1/-1}.knp-check-groups{grid-template-columns:1fr}}
@media(max-width:640px){.knp-shell{padding:0 14px;margin:20px auto}.knp-step{padding:22px}.knp-grid-2,.knp-cards,.knp-filter{grid-template-columns:1fr}.knp-span-2{grid-column:auto}.knp-actions{padding:14px 20px;flex-direction:column}.knp-actions-right{width:100%;display:grid;grid-template-columns:1fr 1fr;margin:0}.knp-actions .knp-btn{width:100%}.knp-photo-box{padding:18px}.knp-previews{grid-template-columns:repeat(2,1fr)}.knp-gallery{grid-template-columns:1fr;grid-template-rows:auto;border-radius:18px}.knp-gallery img{aspect-ratio:4/3}.knp-gallery img:first-child{grid-row:auto}.knp-gallery img:nth-child(n+2){display:none}.knp-facts{grid-template-columns:1fr}.knp-results-head{align-items:flex-start;flex-direction:column}.knp-owner-row{align-items:flex-start;flex-direction:column}.knp-owner-actions{width:100%;display:grid!important;grid-template-columns:1fr}.knp-owner-row .knp-btn{width:100%}}
.knp-account-home{margin:28px 0;padding:24px;border:1px solid var(--knp-border);border-radius:20px;background:#fff}.knp-account-home h2{margin:0 0 8px}.knp-account-home p{margin:0 0 18px;color:var(--knp-muted)}.knp-account-home-actions{display:flex;gap:10px;flex-wrap:wrap}.knp-owner-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.knp-owner-head>div{min-width:0}.knp-service-row>div:first-child{gap:5px}.knp-service-list .knp-owner-row{align-items:flex-start}
@media(max-width:767px){.knp-owner-head{align-items:stretch;flex-direction:column}.knp-owner-head>.knp-btn{width:100%}.knp-account-home-actions{display:grid;grid-template-columns:1fr}.knp-account-home-actions .knp-btn{width:100%}.knp-owner-row,.knp-service-row{align-items:stretch;flex-direction:column}.knp-owner-actions{width:100%}.knp-owner-actions .knp-btn{flex:1 1 auto}}

/* Account service UX */
.knp-payment-required{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid #c9dfd4;background:#eef8f3}
.knp-payment-required>div:first-child{display:flex;flex-direction:column;gap:5px}
.knp-payment-required strong{font-size:18px;color:var(--knp-text)}
.knp-payment-required span{font-size:15px;line-height:1.5;color:#4f5f58}
.knp-payment-required .knp-btn{flex:0 0 auto}
.knp-owner-row{padding:20px 22px;border-radius:20px}
.knp-owner-row.is-payment-required{border-color:#c9dfd4;background:#fbfefc}
.knp-owner-main{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0;flex:1}
.knp-owner-title{font-size:21px;line-height:1.2;color:var(--knp-text)}
.knp-owner-statuses{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;flex-wrap:wrap}
.knp-status-pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f1f4f2;color:#425149!important;font-size:12px!important;font-weight:800}
.knp-status-text{font-size:15px!important;font-weight:700;color:#52615a!important}
.knp-status-text.is-warning,.knp-service-state span.is-warning{color:#9a5b00!important}
.knp-status-text.is-ok,.knp-service-state span.is-ok{color:var(--knp-brand)!important}
.knp-status-text.is-top,.knp-service-state span.is-top{color:#8a5d00!important}
.knp-btn-service{padding:12px 16px;font-size:14px;min-height:44px}
.knp-btn-presentation{background:var(--knp-brand)}
.knp-btn-top{background:#24322c}
.knp-btn-edit,.knp-btn-order{min-height:44px;padding:12px 16px;font-size:14px}
.knp-service-row{padding:24px}
.knp-service-state{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin-top:2px}
.knp-service-state>div{display:flex!important;flex-direction:column!important;gap:3px!important;background:#f7f9f8;border-radius:14px;padding:12px 14px}
.knp-service-state b{font-size:13px;color:#35423d}
.knp-service-state span{font-size:15px!important;font-weight:700;color:#5b6862!important}
@media(max-width:767px){
  .knp-payment-required{align-items:stretch;flex-direction:column}
  .knp-payment-required .knp-btn{width:100%}
  .knp-owner-title{font-size:20px}
  .knp-service-state{grid-template-columns:1fr}
}

.knp-open-order{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:5px!important;max-width:360px;padding:12px 14px;border-radius:14px;background:#fff8e7;border:1px solid #ead7a5}.knp-open-order strong{font-size:15px;color:#6f4b00}.knp-open-order span{font-size:13px!important;line-height:1.45;color:#665a3d!important}.knp-open-order .knp-btn{margin-top:4px}.knp-photo-box>label strong{align-self:center;padding:10px 16px;border-radius:12px;background:#e9f5ef;color:var(--knp-brand);text-decoration:underline;text-underline-offset:3px}.knp-photo-box>label.is-full strong{background:#f0f2f1;color:#68746e;text-decoration:none}

/* 0.3.4: zřetelné termíny placených služeb na nástěnce */
.knp-dashboard-dates{margin:20px 0 24px;padding:16px;border:1px solid #d9e8dc;border-radius:15px;background:#f7fbf8}
.knp-dashboard-dates h3{font-size:19px;line-height:1.3;margin:0 0 12px;color:#164e3a}
.knp-dashboard-date{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px 0;border-top:1px solid #e2eae5;font-size:16px;line-height:1.5}
.knp-dashboard-date strong{min-width:155px}.knp-dashboard-date span{font-weight:700;color:#1d5c43}
.knp-dashboard-date .knp-btn{margin-left:auto}
@media(max-width:600px){.knp-dashboard-date{display:grid}.knp-dashboard-date .knp-btn{margin:4px 0 0}}
/* === Public pages: GeneratePress integration / design 0.4.1 === */
body.knp-directory-page, body.knp-detail-page { background:#f5f7f5; }
body.knp-directory-page #page.grid-container,
body.knp-detail-page #page.grid-container,
body.knp-directory-page .site.grid-container,
body.knp-detail-page .site.grid-container { width:100%; max-width:100%; }
body.knp-directory-page .site-content,
body.knp-detail-page .site-content { display:block; width:100%; }
body.knp-directory-page #primary,
body.knp-detail-page #primary { float:none; width:100%; max-width:100%; }
body.knp-directory-page .inside-article,
body.knp-detail-page .inside-article { padding:0; margin:0; background:transparent; }
body.knp-directory-page .entry-content,
body.knp-detail-page .entry-content { margin:0; }
body.knp-directory-page .entry-header,
body.knp-detail-page .entry-header { display:none; }
body.knp-directory-page .knp-shell.knp-directory,
body.knp-detail-page .knp-shell.knp-detail { max-width:1360px; width:calc(100% - 48px); padding:0; margin:38px auto 78px; box-sizing:border-box; }
body.knp-directory-page .knp-directory *, body.knp-detail-page .knp-detail * { box-sizing:border-box; }
body.knp-directory-page .knp-directory,body.knp-detail-page .knp-detail {font-family:inherit;color:#162920;font-size:16px;line-height:1.55;}
body.knp-directory-page .knp-directory .knp-eyebrow,body.knp-detail-page .knp-detail .knp-eyebrow { display:inline-block; color:#207454; font-size:12px; letter-spacing:.14em; font-weight:800; text-transform:uppercase; }
body.knp-directory-page .knp-directory a:focus-visible,body.knp-detail-page .knp-detail button:focus-visible,body.knp-directory-page .knp-directory button:focus-visible { outline:3px solid #d7a22b; outline-offset:3px; }
/* Directory hero */
.knp-directory .knp-directory-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,270px); align-items:center; gap:40px; background:linear-gradient(125deg,#e6f4ec,#f4f9f5 65%,#fff8ec); border:1px solid #d7e6dd; border-radius:30px; padding:clamp(28px,5vw,64px); margin:0 0 26px; box-shadow:0 12px 40px rgba(19,57,40,.045); }
.knp-directory .knp-directory-hero-copy { min-width:0; }
.knp-directory .knp-directory-hero h1, .knp-directory .knp-directory-hero h2 {font-size:clamp(34px,4.5vw,64px);max-width:870px;line-height:1.06;letter-spacing:-.045em;font-weight:750;color:#123e2c;margin:12px 0 20px;overflow-wrap:normal;word-break:normal;}
.knp-directory .knp-directory-hero h1 em, .knp-directory .knp-directory-hero h2 em { font-style:normal; color:#c27b13; }
.knp-directory .knp-directory-hero p {font-size:clamp(16px,1.6vw,20px);color:#52655b;line-height:1.65;margin:0;max-width:760px;}
.knp-directory .knp-directory-promise {align-self:stretch;justify-content:center;display:flex;flex-direction:column;gap:4px;min-width:0;background:#fff;border:1px solid #d8e8df;border-radius:24px;padding:26px;text-align:center;}
.knp-directory .knp-directory-promise strong {font-size:clamp(44px,6vw,78px);letter-spacing:-.05em;line-height:1;color:#1b6c4d;}
.knp-directory .knp-directory-promise span {font-size:18px;font-weight:800;color:#233f32;}
.knp-directory .knp-directory-promise small {font-size:14px;line-height:1.4;color:#63736a;}
/* Filters: independent of GP form layout rules */
.knp-directory form.knp-filter {display:flex;flex-wrap:wrap;align-items:end;gap:18px;width:100%;max-width:none;margin:0 0 38px;padding:24px;background:#fff;border:1px solid #e0e9e4;border-radius:24px;box-shadow:0 9px 30px rgba(18,50,36,.045);}
.knp-directory .knp-filter-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;flex:1 1 620px;min-width:0;width:100%;}
.knp-directory .knp-filter-fields label {min-width:0;margin:0;display:flex;flex-direction:column;gap:8px;font-weight:600;}
.knp-directory .knp-filter-fields label span {font-size:12px;font-weight:850;letter-spacing:.065em;color:#425b4b;text-transform:uppercase;}
.knp-directory .knp-filter-fields select {display:block;width:100%;max-width:none;height:52px;min-height:52px;border:1px solid #d8e4db;border-radius:14px;padding:0 15px;background:#fafdfb;font-size:16px;line-height:1.3;color:#1a3325;box-shadow:none;}
.knp-directory .knp-filter-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;flex:0 0 auto;}
.knp-directory .knp-filter-actions .knp-btn {min-height:52px;border-radius:14px;display:inline-flex;align-items:center;gap:12px;padding:12px 22px;white-space:nowrap;font-size:16px;font-weight:750;color:#fff;background:#1b6d51;border:0;text-decoration:none;cursor:pointer;}
.knp-directory .knp-filter-actions .knp-btn:hover {background:#10543e;color:#fff;}
.knp-directory .knp-filter-reset {font-size:15px;font-weight:700;color:#266548;text-decoration:underline;text-underline-offset:3px;}
/* Results and cards - force clean grid even if theme styles 'article' and 'entry-content'. */
.knp-directory .knp-results-head {display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 20px;}
.knp-directory .knp-results-head h2 {font-size:clamp(25px,2.4vw,35px);letter-spacing:-.035em;line-height:1.22;color:#172b21;font-weight:800;margin:5px 0 0;}
.knp-directory .knp-results-head p {font-size:14px;margin:0 0 3px;color:#63746a;}
.knp-directory .knp-cards {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:stretch;width:100%;max-width:none;}
.knp-directory .knp-cards>article.knp-card {display:flex;flex-direction:column;float:none;position:relative;min-width:0;width:100%;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden;border:1px solid #dde6e0;border-radius:24px;box-shadow:0 9px 26px rgba(16,43,30,.055);transition:transform .22s ease,box-shadow .22s ease;}
.knp-directory .knp-cards>article.knp-card:hover {transform:translateY(-4px);box-shadow:0 18px 45px rgba(16,43,30,.11);}
.knp-directory .knp-card-media {display:block;flex:none;min-height:0;position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;text-decoration:none;background:#e7f0e8;}
.knp-directory .knp-card-media img {width:100%!important;height:100%!important;display:block;max-width:none;object-fit:cover;object-position:center;transition:transform .35s ease;}
.knp-directory .knp-card:hover .knp-card-media img {transform:scale(1.045);}
.knp-directory .knp-card-media .knp-top {position:absolute;top:15px;left:15px;padding:8px 13px;border-radius:99px;font-size:12px;font-weight:800;background:#163c2a;color:#fff;line-height:1;}
.knp-directory .knp-placeholder {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;height:100%;color:#557d65;font-size:17px;font-weight:650;}
.knp-directory .knp-placeholder>span {font-size:38px;line-height:1;}
.knp-directory .knp-card-body {display:flex;min-width:0;flex:1;flex-direction:column;gap:10px;padding:22px;}
.knp-directory .knp-card-meta {display:flex;min-width:0;flex-wrap:wrap;gap:5px 12px;font-size:13px;color:#536c5e;line-height:1.4;}
.knp-directory .knp-card-meta span {min-width:0;word-break:normal;overflow-wrap:anywhere;}
.knp-directory .knp-card h3 {font-size:clamp(19px,1.55vw,24px);font-weight:800;line-height:1.22;color:#173525;letter-spacing:-.018em;word-break:normal;overflow-wrap:anywhere;margin:3px 0 2px;}
.knp-directory .knp-card h3 a {color:inherit;text-decoration:none;}
.knp-directory .knp-card h3 a:hover {color:#136d4c;}
.knp-directory .knp-tags {display:flex;flex-wrap:wrap;gap:7px;margin:0;}
.knp-directory .knp-tags span {padding:5px 10px;border:1px solid #e2ebe5;border-radius:30px;background:#f6f9f7;font-size:12px;line-height:1.35;color:#557060;max-width:100%;}
.knp-directory .knp-card-foot {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid #e7ece8;font-size:14px;color:#66766b;}
.knp-directory .knp-card-foot strong {font-size:19px;font-weight:850;line-height:1.25;color:#1b6649;text-align:left;}
.knp-directory .knp-card-foot small {display:block;font-size:12px;font-weight:500;color:#65766b;}
.knp-directory .knp-card-link {display:inline-flex;justify-content:space-between;align-items:center;width:100%;margin-top:2px;padding:12px 15px;border-radius:13px;background:#ebf5ee;color:#145d41;font-weight:800;text-decoration:none;font-size:15px;}
.knp-directory .knp-card-link:hover {background:#1b6d51;color:#fff;}
.knp-directory .knp-empty {grid-column:1/-1;padding:42px;text-align:center;background:#fff;border:1px dashed #c6d8ce;border-radius:20px;font-size:17px;color:#65746c;}
/* Detail / gallery */
.knp-detail .knp-detail-head {margin:0 0 23px;min-width:0;}
.knp-detail .knp-detail-head h1 {margin:12px 0 0;font-size:clamp(35px,4vw,60px);line-height:1.08;letter-spacing:-.04em;color:#182c20;font-weight:800;}
.knp-detail .knp-back-link {display:inline-flex;margin:0 0 22px;color:#256d50;font-size:15px;text-decoration:none;font-weight:700;}
.knp-detail .knp-back-link:hover {text-decoration:underline;}
.knp-detail .knp-card-meta {display:flex;flex-wrap:wrap;gap:10px;color:#637368;font-size:15px;}
.knp-detail .knp-gallery-viewer {margin:0;min-width:0;}
.knp-detail .knp-gallery-stage {position:relative;width:100%;min-width:0;border-radius:26px;overflow:hidden;background:#e2e9e4;aspect-ratio:16 / 8.5;max-height:640px;}
.knp-detail .knp-gallery-open {display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;position:relative;}
.knp-detail .knp-gallery-main-image {display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;}
.knp-detail .knp-gallery-zoom {position:absolute;bottom:18px;right:18px;color:#1c3629;background:rgba(255,255,255,.95);border-radius:999px;padding:10px 16px;font-size:14px;font-weight:800;box-shadow:0 6px 20px rgba(0,0,0,.12);}
.knp-detail .knp-gallery-arrow {position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;font-size:35px;font-weight:400;line-height:1;background:#fff;color:#224333;cursor:pointer;box-shadow:0 5px 20px rgba(0,0,0,.15);}
.knp-detail .knp-gallery-arrow:hover {background:#e3f2e8;}
.knp-detail .knp-gallery-prev {left:20px;}.knp-detail .knp-gallery-next {right:20px;}
.knp-detail .knp-gallery-counter {position:absolute;bottom:18px;left:20px;border-radius:999px;background:rgba(13,30,21,.82);padding:8px 14px;font-weight:800;font-size:14px;color:#fff;}
.knp-detail .knp-gallery-thumbnails {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 0;}
.knp-detail .knp-gallery-thumbnail {display:block;position:relative;width:100%;aspect-ratio:5 / 3.5;min-width:0;overflow:hidden;padding:0;background:#e4ede8;border:3px solid transparent;border-radius:13px;cursor:pointer;opacity:.7;transition:.18s ease;}
.knp-detail .knp-gallery-thumbnail.is-active,.knp-detail .knp-gallery-thumbnail:hover {opacity:1;border-color:#227554;}
.knp-detail .knp-gallery-thumbnail img {display:block;width:100%!important;height:100%!important;object-fit:cover;max-width:none;}
.knp-detail .knp-gallery-placeholder {height:350px;display:grid;place-items:center;background:#eaf2ed;border:1px solid #dce6de;border-radius:24px;color:#5c7162;font-weight:650;}
.knp-detail .knp-detail-grid {display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;margin-top:35px;align-items:start;}
.knp-detail .knp-detail-grid main,.knp-detail .knp-detail-grid aside {min-width:0;}
.knp-detail .knp-detail-grid main section {padding:25px 0;border-top:1px solid #e2e9e4;}
.knp-detail .knp-detail-grid main h2 {font-size:clamp(22px,2.2vw,28px);font-weight:800;letter-spacing:-.02em;}
.knp-detail .knp-facts {grid-template-columns:repeat(3,minmax(0,1fr));}
.knp-detail .knp-sticky {box-shadow:0 12px 34px rgba(30,70,45,.08);}
/* Lightbox placed in body to avoid clipping by GeneratePress wrappers. */
body.knp-modal-open {overflow:hidden;}
.knp-lightbox[hidden] {display:none!important;}
.knp-lightbox:not([hidden]) {position:fixed;z-index:999999;inset:0;background:rgba(4,15,10,.96);display:flex;align-items:center;justify-content:center;padding:75px 90px;}
.knp-lightbox img {display:block;max-width:min(100%,1400px);max-height:calc(100vh - 160px);object-fit:contain;width:auto;height:auto;box-shadow:0 20px 60px rgba(0,0,0,.23);}
.knp-lightbox button {position:absolute;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;}
.knp-lightbox button:hover {background:rgba(255,255,255,.30);}
.knp-lightbox button:focus-visible {outline:3px solid #e6bd4a;outline-offset:3px;}
.knp-lightbox .knp-lightbox-close {width:50px;height:50px;top:20px;right:24px;font-size:32px;}
.knp-lightbox .knp-lightbox-nav {width:50px;height:64px;top:50%;transform:translateY(-50%);font-size:46px;}
.knp-lightbox .knp-lightbox-prev {left:20px;}.knp-lightbox .knp-lightbox-next {right:20px;}
.knp-lightbox .knp-lightbox-count {position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:15px;font-weight:800;color:#fff;}
@media(max-width:1100px) {
  .knp-directory .knp-directory-hero {grid-template-columns:minmax(0,1fr) 215px;gap:24px;}
  .knp-directory .knp-cards {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .knp-directory form.knp-filter {gap:13px;}
  .knp-directory .knp-filter-fields {flex-basis:100%;}
}
@media(max-width:760px) {
  body.knp-directory-page .knp-shell.knp-directory,body.knp-detail-page .knp-shell.knp-detail {width:calc(100% - 30px);margin:24px auto 56px;}
  .knp-directory .knp-directory-hero {grid-template-columns:1fr;gap:20px;padding:26px;border-radius:22px;}
  .knp-directory .knp-directory-promise {padding:20px;}
  .knp-directory .knp-directory-promise strong {font-size:45px;}
  .knp-directory .knp-filter-fields {grid-template-columns:1fr;gap:13px;}
  .knp-directory .knp-filter-actions,.knp-directory .knp-filter-actions .knp-btn {width:100%;justify-content:center;}
  .knp-directory .knp-filter-reset {margin:0 auto;}
  .knp-directory .knp-results-head {align-items:flex-start;flex-direction:column;}
  .knp-directory .knp-cards {grid-template-columns:1fr!important;gap:18px!important;}
  .knp-directory .knp-card-body {padding:20px;}
  .knp-detail .knp-gallery-stage {aspect-ratio:4/3;border-radius:18px;}
  .knp-detail .knp-gallery-thumbnails {display:flex;gap:9px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;}
  .knp-detail .knp-gallery-thumbnail {flex:0 0 82px;height:64px;aspect-ratio:auto;scroll-snap-align:start;}
  .knp-detail .knp-gallery-arrow {width:40px;height:40px;font-size:28px;}
  .knp-detail .knp-gallery-prev {left:9px;}.knp-detail .knp-gallery-next {right:9px;}
  .knp-detail .knp-gallery-zoom {bottom:14px;right:10px;padding:8px 10px;font-size:12px;}
  .knp-detail .knp-gallery-counter {bottom:14px;left:10px;}
  .knp-detail .knp-detail-grid {grid-template-columns:1fr;gap:20px;}
  .knp-detail .knp-facts {grid-template-columns:1fr;}
  .knp-lightbox:not([hidden]) {padding:74px 8px 64px;}
  .knp-lightbox img {max-width:100%;max-height:calc(100vh - 155px);}
  .knp-lightbox .knp-lightbox-nav {width:38px;height:54px;}
  .knp-lightbox .knp-lightbox-prev {left:6px;}.knp-lightbox .knp-lightbox-next {right:6px;}
  .knp-lightbox .knp-lightbox-close {top:12px;right:12px;}
}
@media(prefers-reduced-motion:reduce) {
  .knp-directory .knp-card,.knp-directory .knp-card-media img,.knp-detail .knp-gallery-thumbnail {transition:none;}
}
/* Owner account: legible presentation lines rather than two squeezed columns */
.knp-service-list .knp-service-card {display:block;min-width:0;width:100%;margin:0;border:1px solid #dbe7e0;border-radius:22px;padding:22px;background:#fff;box-shadow:0 4px 16px rgba(17,48,34,.035);}
.knp-service-list .knp-service-card.is-payment-required {background:#fafdfe;border-color:#cfe4d6;}
.knp-service-list .knp-service-card-head {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 15px;}
.knp-service-list .knp-service-card-head h3 {margin:0;font-size:23px;font-weight:800;line-height:1.3;color:#1a3225;letter-spacing:-.02em;overflow-wrap:anywhere;}
.knp-service-list .knp-service-card-view {font-weight:750;color:#1d7352;text-decoration:none;}
.knp-service-list .knp-service-lines {display:flex;flex-direction:column;gap:10px;}
.knp-service-list .knp-service-line {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 18px;border:1px solid #e6ece8;border-radius:15px;background:#f8faf9;min-width:0;}
.knp-service-list .knp-service-line-text {display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;line-height:1.4;}
.knp-service-list .knp-service-line-text strong {font-size:16px;color:#24382e;font-weight:850;}
.knp-service-list .knp-service-line-text span {font-size:16px;color:#52635a;overflow-wrap:anywhere;}
.knp-service-list .knp-service-line-text .is-ok {color:#177050;font-weight:750;}
.knp-service-list .knp-service-line-text .is-warning {color:#986000;font-weight:750;}
.knp-service-list .knp-service-line-text .is-top {color:#855a12;font-weight:750;}
.knp-service-list .knp-service-line-action {display:flex;flex:0 0 auto;max-width:100%;align-items:center;gap:10px;}
.knp-service-list .knp-service-line-action:empty {display:none;}
.knp-service-list .knp-service-line-action .knp-btn {display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;padding:11px 17px;font-size:14px;font-weight:800;text-align:center;white-space:normal;}
.knp-service-list .knp-service-foot {text-align:right;margin:14px 4px 0;font-size:14px;}
.knp-service-list .knp-service-foot a {color:#326c51;text-decoration:none;font-weight:700;}
@media(max-width:760px){.knp-service-list .knp-service-card{padding:14px}.knp-service-list .knp-service-line{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.knp-service-list .knp-service-line-action,.knp-service-list .knp-service-line-action .knp-btn{width:100%}.knp-service-list .knp-service-card-head h3{font-size:20px}}
/* Prevent inherited GeneratePress container padding from widening full-width pages. */
body.knp-directory-page #page.grid-container,body.knp-detail-page #page.grid-container,
body.knp-directory-page .site.grid-container,body.knp-detail-page .site.grid-container {box-sizing:border-box;}

/* KNP 0.5: veřejná galerie pouze jednou, poptávky, mapa a okolní nabídky */
body.knp-detail-page .inside-article > .post-image,
body.knp-detail-page .inside-article > .featured-image,
body.knp-detail-page .inside-article > figure.post-image,
body.knp-detail-page .inside-article > .entry-header .post-image,
body.knp-detail-page .inside-article > .page-header {display:none!important;}
.knp-detail .knp-detail-aside {display:flex;flex-direction:column;gap:17px;min-width:0;}
.knp-detail .knp-detail-aside .knp-sticky{position:static;}
.knp-detail .knp-inquiry-panel,
.knp-detail .knp-side-card {box-sizing:border-box;width:100%;min-width:0;background:#fff;border:1px solid #dde6de;border-radius:22px;padding:22px;box-shadow:0 10px 32px rgba(25,59,39,.055);}
.knp-detail .knp-inquiry-panel h2,.knp-detail .knp-side-card h2{font-size:clamp(19px,2vw,23px);font-weight:800;line-height:1.2;color:#133827;margin:7px 0 12px;overflow-wrap:normal;word-break:normal;}
.knp-detail .knp-inquiry-panel>p,.knp-detail .knp-side-card>p{color:#617269;font-size:14px;line-height:1.5;margin:0 0 14px;}
.knp-detail .knp-aside-eyebrow {font-size:11px;letter-spacing:.12em;font-weight:800;color:#247557;}
.knp-detail .knp-inquiry-form {display:grid;gap:13px;position:relative;}
.knp-detail .knp-inquiry-form label {display:block;min-width:0;font-size:13px;font-weight:750;color:#344a3d;}
.knp-detail .knp-inquiry-form label input:not([type="checkbox"]),
.knp-detail .knp-inquiry-form textarea,
.knp-detail .knp-inquiry-captcha input {box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;margin:6px 0 0;padding:10px 11px;border:1px solid #cbdad1;background:#fbfcfb;border-radius:11px;font:inherit;font-size:15px;color:#17372b;}
.knp-detail .knp-inquiry-form textarea {min-height:110px;resize:vertical;}
.knp-detail .knp-inquiry-form input:focus-visible,.knp-detail .knp-inquiry-form textarea:focus-visible {outline:2px solid #2e8062;outline-offset:1px;}
.knp-detail .knp-inquiry-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.knp-detail .knp-inquiry-form label.knp-inquiry-pets,
.knp-detail .knp-inquiry-form label.knp-inquiry-consent {display:flex;gap:10px;align-items:flex-start;line-height:1.55;font-size:13px;}
.knp-detail .knp-inquiry-form input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;}
.knp-detail .knp-inquiry-form small {font-size:12px;line-height:1.45;color:#697c70;}
.knp-detail .knp-inquiry-form .knp-inquiry-submit {width:100%;min-height:52px;border:0;border-radius:13px;font-weight:800;font-size:15px;cursor:pointer;white-space:normal;line-height:1.35;}
.knp-inquiry-error,.knp-inquiry-success{padding:13px 15px;margin:0 0 16px;border-radius:12px;font-size:14px;line-height:1.6;background:#e9f5ee;border:1px solid #b5d8c2;color:#23543c;}
.knp-inquiry-error{background:#fff1e9;color:#7b3818;border-color:#e8c3a9;}
.knp-map-canvas {height:240px;min-width:0;width:100%;border-radius:15px;overflow:hidden;background:#dceee3;z-index:0;}
.knp-map-public {height:235px;}
.knp-location-unknown {padding:26px 14px;background:#f2f8f4;border-radius:14px;text-align:center;color:#537463;font-size:14px;line-height:1.5;}
.knp-map-side p {margin-top:12px!important;margin-bottom:0!important;}
.knp-nearby-item {display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #e7ece9;color:#1f4131;text-decoration:none;min-width:0;}
.knp-nearby-item:hover strong {text-decoration:underline;}
.knp-nearby-image {display:grid;place-items:center;flex:0 0 60px;width:60px;height:55px;border-radius:10px;background:#eaf2ec;overflow:hidden;color:#3b775a;}
.knp-nearby-image img {width:100%!important;height:100%!important;object-fit:cover;max-width:none;}
.knp-nearby-copy {display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;}
.knp-nearby-copy strong {font-size:14px;line-height:1.3;color:#183c29;overflow-wrap:anywhere;}
.knp-nearby-copy small {color:#658071;font-size:12px;}
.knp-nearby-all {display:inline-block;font-size:14px;font-weight:800;color:#19734f;margin-top:15px;}
.knp-map-picker-panel {background:#f6faf8;padding:17px;border-radius:18px;border:1px solid #d8e7dc;min-width:0;}
.knp-map-picker-panel>p {font-size:14px;line-height:1.6;color:#476756;margin:0 0 15px;}
.knp-map-picker-actions {display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin:0 0 12px;}
.knp-map-picker-info {font-size:13px;color:#486f54;line-height:1.5;flex:1;min-width:180px;}
.knp-map-picker {height:280px;}
.knp-map-public-precision {display:block;margin-top:12px;font-size:14px;color:#254d37;font-weight:750;}
.knp-map-public-precision select {display:block;margin-top:6px;width:100%;border:1px solid #d4e4d9;padding:10px 12px;border-radius:12px;background:white;}
.knp-requests-account {max-width:none!important;}
.knp-requests-account h2 {font-size:clamp(25px,3vw,40px);line-height:1.2;}
.knp-request-item {padding:24px;border:1px solid #e1e9e3;border-radius:18px;margin:15px 0;background:#fff;}
.knp-request-item blockquote {padding:12px 14px;background:#f2f7f3;border-left:3px solid #1c7452;overflow-wrap:anywhere;}
.knp-request-action textarea {display:block;width:100%;min-height:90px;margin:8px 0 10px;border:1px solid #d2ded4;border-radius:10px;padding:10px;}
.knp-request-buttons {display:flex;gap:8px;flex-wrap:wrap;}
.knp-request-buttons button {border:0;background:#1d7154;color:#fff;padding:11px 16px;border-radius:9px;cursor:pointer;font-weight:750;}
.knp-request-buttons button[value="reject"] {background:#6b6868;}
@media (max-width:1100px){.knp-detail .knp-inquiry-row{grid-template-columns:1fr;}}
@media (max-width:760px){.knp-detail .knp-inquiry-row{grid-template-columns:repeat(2,minmax(0,1fr));}.knp-map-picker{height:230px;}}
@media (max-width:370px){.knp-detail .knp-inquiry-row{grid-template-columns:1fr;}}

/* Čitelná fakta o nabídce: kapacita, cena a příjezd. Hodnoty ~2× proti původní verzi. */
.knp-detail .knp-facts{gap:14px;align-items:stretch;}
.knp-detail .knp-facts>div{box-sizing:border-box;min-width:0;min-height:126px;padding:21px 22px;gap:9px;justify-content:center;border:1px solid #e1eae4;background:#f7faf8;border-radius:18px;}
.knp-detail .knp-facts>div>b{display:block;font-size:clamp(25px,2.5vw,30px);font-weight:850;line-height:1.18;letter-spacing:-.02em;color:#183d2c;overflow-wrap:break-word;word-break:normal;hyphens:auto;}
.knp-detail .knp-facts>div>span{display:block;font-size:20px;line-height:1.4;font-weight:600;color:#536e60;margin-top:0;overflow-wrap:normal;word-break:normal;}
.knp-detail .knp-facts>div:nth-child(3)>b{font-size:clamp(22px,2.2vw,28px);}
@media(max-width:760px){.knp-detail .knp-facts>div{min-height:98px;padding:18px 20px;}}
/* KNP 0.6 – dostupnost a potvrzení poptávky, mobile-first */
.knp-availability-calendar{margin:15px 0 19px;padding:15px;border:1px solid #d5e4d9;border-radius:16px;background:#f9fcfa;min-width:0}
.knp-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.knp-calendar-nav strong{font-size:18px;font-weight:800;line-height:1.3;color:#173a2a}
.knp-calendar-nav button{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;border:1px solid #d3e0d7;background:white;color:#146849;cursor:pointer;font-weight:800;font-size:25px;padding:0}
.knp-calendar-nav button:disabled{opacity:.35;cursor:default}
.knp-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;min-width:0}
.knp-calendar-weekday{font-size:12px;color:#637768;text-align:center;padding:7px 0}
.knp-calendar-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;min-width:0;border-radius:7px;font-size:14px;font-weight:700;color:#30533f}
.knp-calendar-day.is-open{background:#e8f6ec;color:#166042}
.knp-calendar-day.is-blocked{background:#fce8e4;color:#a33b2a;text-decoration:line-through}
.knp-calendar-day.is-past{opacity:.3}
.knp-calendar-legend{display:flex;align-items:center;gap:7px;font-size:13px!important;line-height:1.4!important;color:#526a5b!important;margin:12px 0 0!important}
.knp-occupied-dot{width:12px;height:12px;flex:0 0 12px;display:inline-block;border-radius:4px;background:#f0a899}
.knp-availability-account{max-width:1050px;margin:0 auto}
.knp-availability-account h2{font-size:clamp(26px,3vw,40px);line-height:1.2}
.knp-availability-account h3{font-size:22px;margin:20px 0 10px}
.knp-availability-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;padding:20px;border-radius:18px;background:#f4faf5;border:1px solid #d6e5db}
.knp-availability-edit label{display:block;font-weight:750;font-size:16px}
.knp-availability-edit input{display:block;box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #cadbd0;border-radius:10px;padding:10px 12px;font-size:16px}
.knp-availability-edit button{grid-column:1/-1;justify-self:start}
.knp-availability-block{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid #e0ebe3;font-size:16px}
.knp-verification-card{max-width:650px;margin:80px auto;padding:42px;background:#fff;border-radius:22px;box-shadow:0 10px 40px #0b271514}
.knp-verification-card h1{font-size:clamp(28px,4vw,44px)}
.knp-verification-card p{font-size:18px;line-height:1.6}
.knp-verification-card .knp-btn{font-size:17px;padding:15px 22px;white-space:normal}
.knp-auto-block-label{display:flex!important;align-items:flex-start;gap:10px;font-size:15px!important;line-height:1.5;margin:12px 0}
.knp-auto-block-label input{margin:4px 0 0;flex:0 0 auto}
.knp-request-buttons button.knp-spam-button{background:#775c4e}
@media(max-width:660px){.knp-availability-edit{grid-template-columns:1fr}.knp-availability-edit button{grid-column:auto}.knp-availability-calendar{padding:10px}.knp-calendar-day{font-size:13px}.knp-verification-card{margin:20px 12px;padding:22px}}

/* KNP 0.6.1 — bezpečné odebrání poptávky pouze ze seznamu majitele */
.knp-requests-account .knp-request-remove{display:flex;justify-content:flex-end;margin:8px 0 16px;}
.knp-requests-account .knp-request-remove-button{border:1px solid #c9d6cb;background:#f6f9f6;color:#485d52;border-radius:10px;padding:10px 15px;min-height:42px;font:inherit;font-size:15px;font-weight:750;cursor:pointer;}
.knp-requests-account .knp-request-remove-button:hover,.knp-requests-account .knp-request-remove-button:focus-visible{background:#fff0eb;border-color:#bd7e6e;color:#7a382b;}
.knp-requests-account .knp-request-action small{display:block;margin:0 0 8px;font-size:14px;line-height:1.5;color:#5b7061;}

/* Version 0.6.2: calm emerald + bronze highlight for paid TOP listings */
.knp-directory .knp-cards>article.knp-card.is-top {
  border:2px solid #7ccf91!important;
  box-shadow:0 0 0 1px rgba(165,126,70,.34),0 0 23px rgba(67,184,112,.29),0 20px 45px rgba(35,92,57,.11)!important;
  background:#fffefa!important;
}
.knp-directory .knp-cards>article.knp-card.is-top:hover {
  transform:translateY(-5px);
  box-shadow:0 0 0 1px rgba(186,145,78,.47),0 0 34px rgba(62,190,107,.42),0 24px 55px rgba(29,90,53,.17)!important;
}
.knp-directory .knp-card.is-top .knp-card-media .knp-top {
  top:24px;left:24px;max-width:calc(100% - 48px);
  padding:10px 17px;background:linear-gradient(115deg,#e9f7e6,#f4f9df 52%,#f5ead4);
  color:#21543a;border:1px solid rgba(83,156,92,.75);border-radius:99px;
  box-shadow:0 0 0 3px rgba(255,255,255,.7),0 4px 20px rgba(12,45,22,.2);
  font-size:14px;line-height:1.25;letter-spacing:.015em;font-weight:850;
}
.knp-directory .knp-card.is-top .knp-card-link {background:#e4f6e8;color:#175b3e;}
.knp-directory .knp-card.is-top .knp-card-link:hover {background:#1a7550;color:white;}

/* Ad break after the sixth card. Its three tracks match the listing tracks. */
.knp-directory .knp-ad-row {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;min-width:0;width:100%;margin:2px 0 4px;}
.knp-directory .knp-ad-slot {min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:14px;border:1px solid #dde8dd;border-radius:24px;background:linear-gradient(145deg,#fff,#f7faf7);box-shadow:0 7px 24px rgba(31,66,46,.07);}
.knp-directory .knp-ad-slot-empty {visibility:hidden;pointer-events:none;}
.knp-directory .knp-ad-label {font-size:11px;font-weight:800;letter-spacing:.10em;color:#6e8070;text-transform:uppercase;line-height:1.3;margin:0 0 10px;}
.knp-directory .knp-ad-content {font-size:16px;line-height:1.6;min-width:0;overflow-wrap:anywhere;word-break:normal;flex:1;}
.knp-directory .knp-ad-content > :first-child {margin-top:0;}
.knp-directory .knp-ad-content > :last-child {margin-bottom:0;}
.knp-directory .knp-ad-content img {display:block;width:100%;height:auto;max-width:100%;border-radius:12px;object-fit:contain;}
.knp-directory .knp-ad-content a {color:#186e4d;text-underline-offset:3px;}
.knp-directory .knp-ad-content a:focus-visible {outline:3px solid #389760;outline-offset:3px;}

/* Visibly clickable pagination without numeric buttons. */
.knp-directory .knp-directory-pagination {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px;margin:36px auto 12px;padding:10px 0;}
.knp-directory .knp-pagination-btn {display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:54px;min-width:160px;padding:14px 22px;border:1px solid #bddbca;border-radius:999px;background:#f4faf6;color:#1d6446;font-size:16px;font-weight:800;line-height:1.25;text-decoration:none;transition:transform .17s ease,background .17s ease,box-shadow .17s ease;}
.knp-directory a.knp-pagination-btn:hover {background:#1d7351;border-color:#1d7351;color:white;transform:translateY(-2px);box-shadow:0 8px 22px rgba(24,92,57,.16);}
.knp-directory a.knp-pagination-btn:focus-visible {outline:3px solid #91cda7;outline-offset:4px;}
.knp-directory .knp-pagination-next {background:#1f7453;color:#fff;border-color:#1f7453;}
.knp-directory .knp-pagination-btn.is-disabled {color:#a0aca5;background:#f7f9f8;border-color:#e7ece9;cursor:default;box-shadow:none;}
.knp-directory .knp-pagination-position {font-size:15px;font-weight:700;color:#53685a;text-align:center;min-width:90px;}
@media(max-width:1100px) {
  .knp-directory .knp-ad-row {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
}
@media(max-width:760px) {
  .knp-directory .knp-card.is-top .knp-card-media .knp-top {top:20px;left:20px;font-size:13px;}
  .knp-directory .knp-ad-row {grid-template-columns:minmax(0,1fr);gap:15px;}
  .knp-directory .knp-ad-slot-empty {display:none;}
  .knp-directory .knp-directory-pagination {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .knp-directory .knp-pagination-position {grid-column:1/-1;grid-row:1;}
  .knp-directory .knp-pagination-btn {min-width:0;width:100%;padding:13px 11px;font-size:14px;}
}
@media(prefers-reduced-motion:reduce) {
  .knp-directory .knp-pagination-btn {transition:none;}
}


/* HW Recenze 0.7.0: hodnocení pouze skutečně odeslaná hosty po pobytu. */
.knp-directory .knp-rating-card{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0 13px;min-height:25px;color:#536c5b;font-size:14px;line-height:1.45}
.knp-directory .knp-rating-card strong{font-size:18px;color:#243d2e;font-weight:850}
.knp-directory .knp-rating-empty{font-size:14px;color:#748479}
.knp-stars{--knp-star:25px;position:relative;display:inline-block;white-space:nowrap;line-height:1;color:#d6dcd3;font-size:var(--knp-star);letter-spacing:0.02em;vertical-align:middle}
.knp-stars-base{display:inline-block;color:#d6dcd3}
.knp-stars-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#c99538}
.knp-directory .knp-stars{--knp-star:19px}
.knp-detail .knp-rating-detail{box-sizing:border-box;width:100%;min-width:0;margin:18px 0 17px;padding:14px 16px;border:1px solid #dbe4de;border-radius:14px;background:linear-gradient(120deg,#fdfefd,#f2f5f3);color:#294537;box-shadow:0 2px 7px rgba(33,62,45,.03)}
.knp-detail .knp-rating-label{display:block;color:#64766d;font-size:12px;letter-spacing:.085em;font-weight:850;line-height:1.4;margin-bottom:9px}
.knp-detail .knp-rating-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
.knp-detail .knp-rating-line strong{color:#243d2e;font-size:18px;line-height:1.3;overflow-wrap:normal}
.knp-detail .knp-rating-count{display:block;font-size:13px;color:#64776d;margin-top:9px}
.knp-detail .knp-stars{--knp-star:23px}
.knp-detail .knp-stars-muted{color:#afbdb3;font-size:24px;letter-spacing:1px;white-space:nowrap}
.knp-detail .knp-review-thanks{padding:12px 15px;border-radius:11px;background:#e2f5e8;color:#16583c;font-size:15px;font-weight:800;margin-bottom:12px}
.knp-review-page .knp-review-form{display:grid;gap:23px;margin-top:26px}
.knp-review-form fieldset{border:1px solid #dce7df;border-radius:16px;padding:20px;min-width:0}
.knp-review-form legend{font-size:21px;font-weight:800;padding:0 8px;color:#183d2c}
.knp-review-options{display:flex;flex-wrap:wrap;gap:8px}
.knp-review-options label{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 96px;min-height:85px;gap:5px;background:#fafbf9;border:1px solid #d8e5dc;border-radius:14px;cursor:pointer;font-size:19px;color:#b88731;transition:background .15s ease,border .15s ease}
.knp-review-options label:has(input:checked){background:#eef7ef;border:2px solid #23734d}
.knp-review-options label input{width:18px;height:18px;accent-color:#1c6b4b}
.knp-review-options label small{font-size:12px;color:#51695a}
.knp-review-confirm{display:flex;gap:12px;font-size:16px;line-height:1.5;color:#263d30}
.knp-review-confirm input{width:20px;height:20px;flex-shrink:0;accent-color:#267a58}
.knp-review-submit{border:0;cursor:pointer;min-height:50px}
.knp-review-owner-action{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 0;border-top:1px solid #e3e9e4;margin-top:13px}
.knp-review-owner-action span{flex:1 1 100%;font-size:13px;color:#506758}
.knp-review-owner-action button{padding:9px 13px;border:1px solid #d8dfd9;background:#f7f9f7;color:#395246;border-radius:10px;font-size:13px;cursor:pointer}
.knp-review-owner-action button:hover{background:#ecf2ed}
.knp-review-owner-note{padding:10px;color:#51695a;background:#f4f6f4;border-radius:10px}
@media(max-width:480px){.knp-review-page{margin:25px auto!important;padding:16px!important}.knp-review-options label{flex:1 1 90px}.knp-detail .knp-rating-detail{padding:13px}}

/* KNP 0.7.1: GeneratePress – Košík v podmenu Můj účet. */
@media (min-width: 769px) {
  .main-navigation .main-nav > ul > li.knp-account-has-cart > ul.sub-menu {
    border: 1px solid #dbeadf;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(15, 70, 40, .14);
    overflow: hidden;
    margin-top: 6px;
    min-width: 170px;
    z-index: 1000;
  }
  .main-navigation .main-nav > ul > li.knp-account-has-cart > ul.sub-menu > li > a {
    background: #fff;
    color: #174934;
    font-weight: 650;
    padding: 12px 16px;
  }
  .main-navigation .main-nav > ul > li.knp-account-has-cart > ul.sub-menu > li > a:hover,
  .main-navigation .main-nav > ul > li.knp-account-has-cart > ul.sub-menu > li > a:focus-visible {
    background: #e9f7ef;
    color: #145b3e;
  }
}

/* v0.8.2: Owner listings. Keep the title/status on their own full-width row.
   In v0.8.1 the side-by-side flex buttons squeezed long titles into a few pixels. */
.knp-owner-list:not(.knp-service-list) > .knp-owner-row {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:18px;
}
.knp-owner-list:not(.knp-service-list) > .knp-owner-row > .knp-owner-main {
  width:100%;
  min-width:0;
  flex:0 0 auto;
}
.knp-owner-list:not(.knp-service-list) > .knp-owner-row .knp-owner-title {
  display:block;
  max-width:100%;
  line-height:1.3;
  overflow-wrap:break-word;
  word-break:normal;
}
.knp-owner-list:not(.knp-service-list) > .knp-owner-row > .knp-owner-actions {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center;
  justify-content:flex-start;
  gap:10px!important;
  width:100%;
  min-width:0;
}
.knp-owner-list:not(.knp-service-list) > .knp-owner-row > .knp-owner-actions .knp-btn {
  flex:0 1 auto;
  min-height:44px;
  max-width:100%;
  white-space:normal;
  text-align:center;
}
@media(max-width:760px) {
  .knp-owner-list:not(.knp-service-list) > .knp-owner-row {
    gap:15px;
    padding:18px;
  }
  .knp-owner-list:not(.knp-service-list) > .knp-owner-row > .knp-owner-actions {
    flex-direction:column!important;
    align-items:stretch;
  }
  .knp-owner-list:not(.knp-service-list) > .knp-owner-row > .knp-owner-actions .knp-btn {
    width:100%;
  }
}
