
:root{
  --plzc-green:#138f43;
  --plzc-green-dark:#0a582c;
  --plzc-yellow:#f6cd0c;
  --plzc-ink:#1f241a;
  --plzc-muted:#687066;
  --plzc-bg:#f8f8f4;
  --plzc-line:#e4e7e1;
}
.plz-form-shell,.plz-single-panel,.plz-account{max-width:1100px;margin:24px auto;padding:28px;background:#fff;border:1px solid var(--plzc-line);border-radius:18px;box-shadow:0 10px 30px rgba(20,28,18,.06)}
.plz-form-shell h2,.plz-account h1,.plz-single-panel h2{margin-top:0}
.plz-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.plz-form-field{display:flex;flex-direction:column;gap:7px}
.plz-form-field--full{grid-column:1/-1}
.plz-form-field label{font-weight:750;color:var(--plzc-ink)}
.plz-form-field input,.plz-form-field select,.plz-form-field textarea{
  width:100%;border:1px solid #d9ded6;background:#fff;border-radius:11px;padding:12px 13px;outline:0
}
.plz-form-field input:focus,.plz-form-field select:focus,.plz-form-field textarea:focus{border-color:var(--plzc-green);box-shadow:0 0 0 3px rgba(19,143,67,.1)}
.plz-core-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;background:var(--plzc-green);color:#fff!important;border:0;border-radius:11px;font-weight:850;text-decoration:none;cursor:pointer}
.plz-core-btn--light{background:#eef6f0;color:var(--plzc-green-dark)!important}
.plz-success,.plz-notice{max-width:1100px;margin:18px auto;padding:16px 18px;border-radius:12px}
.plz-success{background:#e3f7e9;color:#0d6e35;border:1px solid #b9e7c7}
.plz-notice{background:#fff9dc;color:#5c4c00;border:1px solid #f0dc75}
.plz-core-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 26px}
.plz-core-head h1{margin:0}
.plz-core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.plz-core-card{overflow:hidden;border:1px solid var(--plzc-line);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(20,28,18,.05)}
.plz-core-card-img,.plz-core-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover}
.plz-core-placeholder{display:grid;place-items:center;background:#edf5ef;color:#98ac9d;font-weight:950;letter-spacing:.08em}
.plz-core-card-body{padding:15px}
.plz-core-card h3{margin:0 0 4px;font-size:1.07rem}
.plz-core-muted{color:var(--plzc-muted)}
.plz-core-meta{display:grid;gap:3px;color:#747b72;font-size:.82rem}
.plz-core-price{display:block;color:var(--plzc-green);font-size:1.05rem;margin-top:12px}
.plz-core-demand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plz-core-demand{border:1px solid var(--plzc-line);border-radius:16px;background:#fff;padding:18px}
.plz-core-seeking{display:inline-flex;border-radius:999px;background:var(--plzc-yellow);padding:5px 9px;font-weight:850;font-size:.76rem}
.plz-core-match{display:inline-flex;background:#e0f5e7;color:#11743a;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900}
.plz-core-breeder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.plz-core-breeder{text-align:center;border:1px solid var(--plzc-line);border-radius:16px;padding:20px;background:#fff}
.plz-core-avatar img{border-radius:50%}
.plz-core-verify{display:inline-flex;margin-top:8px;color:#687066;font-size:.78rem}
.plz-core-empty{grid-column:1/-1;padding:34px;background:#f7f9f6;border:1px dashed #cfd8ce;border-radius:16px;text-align:center}
.plz-account-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 30px}
.plz-user-list{border:1px solid var(--plzc-line);border-radius:12px;overflow:hidden;margin-bottom:28px}
.plz-user-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 14px;border-bottom:1px solid var(--plzc-line)}
.plz-user-list>div:last-child{border-bottom:0}
.plz-single-panel dl{display:grid;grid-template-columns:220px 1fr;gap:0;margin:0}
.plz-single-panel dt,.plz-single-panel dd{padding:9px 0;border-bottom:1px solid #eef0eb;margin:0}
.plz-single-panel dt{font-weight:750}
.plz-contact-box{margin-top:20px;padding:16px;background:#f4f8f4;border-radius:12px}
.plz-match-list{display:grid;gap:10px}
.plz-match-list a{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid var(--plzc-line);border-radius:11px}
@media(max-width:1000px){.plz-core-grid{grid-template-columns:repeat(2,1fr)}.plz-core-breeder-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.plz-form-grid{grid-template-columns:1fr}.plz-form-field--full{grid-column:auto}.plz-core-demand-grid{grid-template-columns:1fr}.plz-single-panel dl{grid-template-columns:1fr}.plz-single-panel dt{padding-bottom:2px;border-bottom:0}.plz-single-panel dd{padding-top:2px}.plz-core-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.plz-core-grid,.plz-core-breeder-grid{grid-template-columns:1fr}.plz-form-shell,.plz-single-panel,.plz-account{padding:20px;margin:16px auto}}


/* Našeptávání Plazírna Core 0.1.1 */
.plz-form-field--suggest{position:relative}
.plz-suggest-wrap{position:relative}
.plz-suggest-wrap.is-loading:after{
  content:"";position:absolute;right:13px;top:50%;width:16px;height:16px;margin-top:-8px;
  border:2px solid #d7ddd5;border-top-color:var(--plzc-green);border-radius:50%;
  animation:plzspin .75s linear infinite;pointer-events:none
}
@keyframes plzspin{to{transform:rotate(360deg)}}
.plz-suggest-list{
  position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 6px);
  max-height:320px;overflow:auto;background:#fff;border:1px solid #d9ded6;border-radius:13px;
  box-shadow:0 18px 45px rgba(20,28,18,.14);padding:6px
}
.plz-suggest-list[hidden]{display:none}
.plz-suggest-item{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
  text-align:left;border:0;background:#fff;padding:11px 12px;border-radius:9px;cursor:pointer;color:var(--plzc-ink)
}
.plz-suggest-item:hover,.plz-suggest-item.is-active{background:#edf8f0}
.plz-suggest-item strong{font-size:.94rem}
.plz-suggest-item small{color:#748078;font-size:.76rem;text-align:right}
.plz-suggest-empty{padding:12px;color:#687066;font-size:.87rem}
.plz-field-help{display:block;margin-top:2px;color:#758078;font-size:.78rem;line-height:1.35}


/* Profesionální validace formulářů – Plazírna Core 0.1.2 */
.plz-required{color:#b42318;font-weight:900}
.plz-required-note{margin:.25rem 0 1rem;color:#6c746b;font-size:.85rem}
.plz-form-field.has-error input:not([type="checkbox"]),
.plz-form-field.has-error select,
.plz-form-field.has-error textarea{
  border-color:#d92d20!important;
  box-shadow:0 0 0 3px rgba(217,45,32,.10)!important;
  background:#fffafa
}
.plz-form-field.has-error label{color:#8f1d15}
.plz-field-error{
  margin-top:2px;color:#b42318;font-size:.82rem;font-weight:700;line-height:1.35
}
.plz-field-error[hidden]{display:none}
.plz-form-error-summary{
  margin:16px 0 22px;padding:16px 18px;border:1px solid #f0b5b0;border-left:5px solid #d92d20;
  border-radius:12px;background:#fff4f3;color:#7a271a
}
.plz-form-error-summary[hidden]{display:none}
.plz-form-error-summary strong{display:block;font-size:1rem;margin-bottom:3px}
.plz-form-error-summary p{margin:0 0 7px}
.plz-form-error-summary ul{margin:0;padding-left:20px}
.plz-checkbox-field.has-error{padding:12px;border:1px solid #f0b5b0;border-radius:10px;background:#fffafa}
.plz-form-field input[aria-invalid="true"],
.plz-form-field select[aria-invalid="true"],
.plz-form-field textarea[aria-invalid="true"]{outline:none}


/* Accounts & breeder profiles – Plazírna Core 0.2.0 */
.plz-auth-narrow{max-width:620px}
.plz-account-shell{max-width:900px}
.plz-form-grid--single{grid-template-columns:1fr}
.plz-auth-switch{margin-top:20px;text-align:center;color:var(--plzc-muted)}
.plz-auth-switch a{color:var(--plzc-green);font-weight:800}
.plz-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.plz-account-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.plz-account-identity{display:flex;align-items:center;gap:16px}
.plz-account-identity h1{margin:0 0 3px}
.plz-account-identity p{margin:0;color:var(--plzc-muted)}
.plz-profile-photo{width:88px;height:88px;object-fit:cover;border-radius:50%;border:2px solid #dce4db;background:#eef4ef}
.plz-account-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 24px}
.plz-status-card{padding:15px;border:1px solid var(--plzc-line);border-radius:13px;background:#fbfcfa}
.plz-status-card span{display:block;color:var(--plzc-muted);font-size:.78rem;margin-bottom:4px}
.plz-status-card strong{font-size:.98rem}
.plz-status-card .is-ok{color:#11813d}
.plz-status-card .is-warn{color:#b54708}
.plz-status-card .is-muted{color:#7b817a}
.plz-public-profile{max-width:980px;margin:30px auto;padding:30px;background:#fff;border:1px solid var(--plzc-line);border-radius:20px;box-shadow:0 10px 30px rgba(20,28,18,.06)}
.plz-public-profile-head{display:flex;align-items:center;gap:22px;padding-bottom:24px;border-bottom:1px solid var(--plzc-line)}
.plz-public-profile-head .plz-profile-photo{width:120px;height:120px}
.plz-public-profile h1{margin:4px 0 6px}
.plz-profile-type{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5ef;color:#2c5f3b;font-size:.78rem;font-weight:800}
.plz-profile-badges{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.plz-verified-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e0f5e7;color:#11743a;font-size:.78rem;font-weight:850}
.plz-profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:12px;margin:24px 0}
.plz-profile-stats>div{padding:16px;border:1px solid var(--plzc-line);border-radius:13px;background:#fafcf9}
.plz-profile-stats strong{display:block;font-size:1.4rem;color:var(--plzc-green)}
.plz-profile-stats span{color:var(--plzc-muted);font-size:.82rem}
.plz-core-breeder a{display:block;color:inherit}
.plz-core-breeder .plz-profile-photo{width:72px;height:72px}
@media(max-width:800px){
  .plz-account-status-grid{grid-template-columns:repeat(2,1fr)}
  .plz-account-header{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .plz-account-status-grid{grid-template-columns:1fr}
  .plz-account-identity{align-items:flex-start}
  .plz-public-profile-head{align-items:flex-start;flex-direction:column}
  .plz-profile-stats{grid-template-columns:1fr}
}


/* Profesionální seznam chovatelů – Plazírna Core 0.2.2 */
.plz-breeders-page{margin-top:4px}
.plz-breeders-hero{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:30px 32px;margin-bottom:18px;border:1px solid var(--plzc-line);border-radius:20px;
  background:linear-gradient(135deg,#fbfdfb,#f0f7f2)
}
.plz-breeders-kicker{
  margin:0 0 8px;color:var(--plzc-green);font-size:.78rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em
}
.plz-breeders-hero h2{margin:0 0 9px;font-size:clamp(1.5rem,2.7vw,2.35rem);line-height:1.1;letter-spacing:-.03em}
.plz-breeders-hero p:not(.plz-breeders-kicker){margin:0;color:var(--plzc-muted);max-width:720px}
.plz-breeders-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0
}
.plz-breeders-stats>div{
  padding:18px 20px;border:1px solid var(--plzc-line);border-radius:15px;background:#fff
}
.plz-breeders-stats strong{display:block;font-size:1.45rem;color:var(--plzc-green);line-height:1}
.plz-breeders-stats span{display:block;margin-top:6px;color:var(--plzc-muted);font-size:.84rem}
.plz-breeders-filters{
  display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:12px;align-items:end;
  padding:18px;margin:22px 0 14px;border:1px solid var(--plzc-line);border-radius:16px;background:#fff
}
.plz-filter-field{display:flex;flex-direction:column;gap:6px}
.plz-filter-field label{font-size:.78rem;font-weight:850;color:#535d53}
.plz-filter-field input,.plz-filter-field select{
  min-height:44px;width:100%;padding:0 12px;border:1px solid #d9ded6;border-radius:10px;background:#fff
}
.plz-filter-actions{display:flex;align-items:center;gap:10px}
.plz-filter-reset{font-size:.82rem;color:var(--plzc-muted);white-space:nowrap}
.plz-breeders-toolbar{display:flex;justify-content:flex-end;margin:12px 0;color:var(--plzc-muted);font-size:.86rem}
.plz-breeders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plz-breeder-card{
  overflow:hidden;border:1px solid var(--plzc-line);border-radius:18px;background:#fff;
  box-shadow:0 7px 24px rgba(20,28,18,.05);transition:.2s ease
}
.plz-breeder-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,28,18,.09);border-color:#ccd8ca}
.plz-breeder-card-main{display:block;height:100%;padding:20px;color:inherit}
.plz-breeder-card-top{display:flex;align-items:center;gap:14px}
.plz-breeder-card-avatar .plz-profile-photo{width:86px;height:86px}
.plz-breeder-card-title{min-width:0}
.plz-breeder-card-title h3{margin:7px 0 7px;font-size:1.18rem;line-height:1.15}
.plz-breeder-location{margin:16px 0 9px;color:#535d53}
.plz-breeder-specialization{min-height:48px;margin:0;color:#313830;font-size:.9rem;line-height:1.45}
.plz-breeder-specialization.is-muted{color:#8a9188}
.plz-breeder-card-footer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:18px;padding-top:15px;border-top:1px solid var(--plzc-line);font-size:.84rem
}
.plz-breeder-profile-link{color:var(--plzc-green);font-weight:850}
.plz-breeders-empty{grid-column:1/-1}
.plz-breeders-community-cta{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:30px;padding:28px 30px;border-radius:19px;background:#082b16;color:#fff
}
.plz-breeders-community-cta h2{margin:0 0 7px;color:#fff}
.plz-breeders-community-cta p{margin:0;max-width:720px;color:#d9eadf}
@media(max-width:980px){
  .plz-breeders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plz-breeders-filters{grid-template-columns:1fr 1fr}
  .plz-filter-actions{align-self:end}
}
@media(max-width:700px){
  .plz-breeders-hero,.plz-breeders-community-cta{align-items:flex-start;flex-direction:column}
  .plz-breeders-stats{grid-template-columns:1fr}
  .plz-breeders-grid{grid-template-columns:1fr}
  .plz-breeders-filters{grid-template-columns:1fr}
  .plz-filter-actions{align-items:flex-start;flex-direction:column}
}


/* Profesionální marketplace Nabídky/Poptávky – Plazírna Core 0.2.3 */
.plz-market-page,.plz-demands-page{margin-top:4px}
.plz-market-intro{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:30px 32px;margin-bottom:18px;border:1px solid var(--plzc-line);border-radius:20px;
  background:linear-gradient(135deg,#fbfdfb 0%,#eef7f1 100%)
}
.plz-market-kicker{
  margin:0 0 8px;color:var(--plzc-green);font-size:.78rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em
}
.plz-market-intro h2{margin:0 0 9px;font-size:clamp(1.55rem,2.7vw,2.4rem);line-height:1.08;letter-spacing:-.035em}
.plz-market-intro p:not(.plz-market-kicker){margin:0;max-width:760px;color:var(--plzc-muted);line-height:1.55}
.plz-market-intro-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.plz-market-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0
}
.plz-market-stats>div{
  padding:18px 20px;border:1px solid var(--plzc-line);border-radius:15px;background:#fff
}
.plz-market-stats strong{display:block;font-size:1.35rem;color:var(--plzc-green);line-height:1}
.plz-market-stats span{display:block;margin-top:6px;color:var(--plzc-muted);font-size:.84rem}
.plz-market-filters{
  display:grid;grid-template-columns:1.25fr 1fr .8fr .8fr .9fr auto;gap:12px;align-items:end;
  padding:18px;margin:22px 0 14px;border:1px solid var(--plzc-line);border-radius:17px;background:#fff;
  box-shadow:0 8px 24px rgba(20,28,18,.04)
}
.plz-market-toolbar{
  display:flex;align-items:center;justify-content:space-between;margin:14px 0;color:var(--plzc-muted);font-size:.88rem
}
.plz-offer-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px
}
.plz-offer-card{
  overflow:hidden;border:1px solid var(--plzc-line);border-radius:18px;background:#fff;
  box-shadow:0 8px 26px rgba(20,28,18,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.plz-offer-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(20,28,18,.1);border-color:#c9d5c7}
.plz-offer-card-link{display:flex;flex-direction:column;height:100%;color:inherit}
.plz-offer-media{position:relative;overflow:hidden;background:#edf4ed;aspect-ratio:4/3}
.plz-offer-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.plz-offer-card:hover .plz-offer-image{transform:scale(1.025)}
.plz-offer-status{
  position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;
  background:#138f43;color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.12)
}
.plz-offer-body{display:flex;flex-direction:column;flex:1;padding:17px}
.plz-offer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plz-offer-heading h3{margin:0;font-size:1.08rem;line-height:1.2}
.plz-offer-morph,.plz-demand-morph{margin:5px 0 0;color:var(--plzc-muted);font-size:.88rem}
.plz-offer-price{white-space:nowrap;color:var(--plzc-green);font-size:1.05rem}
.plz-offer-tags{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 10px}
.plz-offer-tags span{
  padding:5px 8px;border-radius:999px;background:#f1f5f0;color:#536052;font-size:.72rem;font-weight:750
}
.plz-offer-location{margin:3px 0 12px;color:#596359;font-size:.84rem}
.plz-offer-trust{display:grid;gap:5px;margin-top:auto;color:#707a70;font-size:.76rem}
.plz-offer-trust .is-ok{color:#138f43;font-weight:750}
.plz-offer-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:14px;padding-top:13px;border-top:1px solid var(--plzc-line);color:var(--plzc-green);font-size:.82rem;font-weight:850
}
.plz-market-empty{grid-column:1/-1}
.plz-market-bottom-cta{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:30px;padding:28px 30px;border-radius:19px;background:#082b16;color:#fff
}
.plz-market-bottom-cta h2{margin:0 0 7px;color:#fff}
.plz-market-bottom-cta p{margin:0;color:#d9eadf;max-width:720px}
.plz-demand-pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plz-demand-pro-card{
  border:1px solid var(--plzc-line);border-radius:18px;background:#fff;
  box-shadow:0 8px 26px rgba(20,28,18,.05);transition:.2s ease
}
.plz-demand-pro-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,28,18,.09)}
.plz-demand-pro-card>a{display:block;height:100%;padding:20px;color:inherit}
.plz-demand-pro-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.plz-demand-pro-card h3{margin:16px 0 0;font-size:1.2rem}
.plz-demand-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 0}
.plz-demand-details span{padding:10px;border-radius:11px;background:#f8faf7}
.plz-demand-details small{display:block;color:var(--plzc-muted);font-size:.68rem;margin-bottom:2px}
.plz-demand-details strong{font-size:.82rem}
@media(max-width:1180px){
  .plz-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plz-market-filters{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .plz-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plz-demand-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plz-market-filters{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .plz-market-intro,.plz-market-bottom-cta{align-items:flex-start;flex-direction:column}
  .plz-market-intro-actions{justify-content:flex-start}
  .plz-market-stats{grid-template-columns:1fr}
  .plz-market-filters{grid-template-columns:1fr}
  .plz-offer-grid,.plz-demand-pro-grid{grid-template-columns:1fr}
}
