/* ============================================================
   Pro firmy (page-pro-firmy.php) — dle Shop - Pro firmy.dc.html
   Prefix b2bp- (třídy .b2b v main.css patří homepage sekci).
   ============================================================ */

/* ---------- hero ---------- */
.b2bp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-bottom:1px solid var(--c-line)}
.b2bp-hero__copy{padding:64px 52px 52px var(--pad-x);display:flex;flex-direction:column;justify-content:center;gap:22px}
.b2bp-hero__title{font:800 62px/1.0 var(--font-sans);letter-spacing:-.035em;color:var(--c-ink)}
.b2bp-hero__perex{font:400 16px/1.6 var(--font-sans);color:var(--c-text);max-width:440px}
.b2bp-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.b2bp-hero__note{font:500 11.5px var(--font-mono);color:var(--c-muted)}
.b2bp-hero__media{border-left:1px solid var(--c-line);background:var(--c-surface-2);min-height:560px}
.b2bp-hero__media img{width:100%;height:100%;min-height:560px;object-fit:cover}

/* ---------- benefity (A)–(D) ---------- */
.b2bp-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--c-line)}
.b2bp-benefit{padding:28px 32px;border-right:1px solid var(--c-line)}
.b2bp-benefit:last-child{border-right:0}
.b2bp-benefit__id{font:500 11px var(--font-mono);color:var(--c-red)}
.b2bp-benefit__title{font:700 15px var(--font-sans);color:var(--c-ink);margin-top:4px}
.b2bp-benefit__note{font:400 12.5px/1.5 var(--font-sans);color:#777;margin-top:2px}

/* ---------- hlavní blok: kroky + formulář ---------- */
.b2bp-main{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:48px;padding:56px var(--pad-x) 64px}

.b2bp-steps{display:flex;flex-direction:column;gap:26px}
.b2bp-steps__title{font:800 30px var(--font-sans);letter-spacing:-.03em;color:var(--c-ink)}
.b2bp-step{display:flex;gap:16px;border-top:1px solid var(--c-line);padding-top:20px}
.b2bp-step__num{font:500 13px var(--font-mono);color:var(--c-red)}
.b2bp-step__name{font:700 15.5px var(--font-sans);color:var(--c-ink)}
.b2bp-step__text{font:400 13.5px/1.55 var(--font-sans);color:var(--c-text);max-width:420px;margin-top:3px}

.b2bp-quote{background:var(--c-surface-2);border-radius:var(--r-md);padding:22px 24px;display:flex;flex-direction:column;gap:8px;margin-top:6px}
.b2bp-quote__stars{color:var(--c-amber);font-size:13px;letter-spacing:2px}
.b2bp-quote__text{font:500 15px/1.55 var(--font-sans);color:var(--c-ink)}
.b2bp-quote__meta{font:500 10.5px var(--font-mono);letter-spacing:.06em;color:var(--c-muted)}

/* ---------- formulář ---------- */
.b2bp-form{border:1px solid var(--c-line);border-radius:var(--r-md);padding:28px;display:flex;flex-direction:column;gap:12px;height:max-content;scroll-margin-top:20px}
.b2bp-form__title{font:800 22px var(--font-sans);letter-spacing:-.02em;color:var(--c-ink)}
.b2bp-form__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}

.b2bp-field{width:100%;border:1px solid var(--c-line);border-radius:var(--r-md);padding:12px 14px;font:400 13.5px var(--font-sans);color:var(--c-ink);background:var(--c-surface)}
.b2bp-field::placeholder{color:var(--c-muted);opacity:1}
.b2bp-field:focus{outline:none;border-color:var(--c-ink)}
.b2bp-field--area{min-height:76px;resize:vertical}

.b2bp-select{position:relative;display:block}
.b2bp-select select{appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer}
.b2bp-select select:has(option[value=""]:checked){color:var(--c-muted)}
.b2bp-select::after{content:"▾";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--c-muted);font-size:12px;pointer-events:none}

.b2bp-form__submit{background:var(--c-red);color:#fff;font:700 14.5px var(--font-sans);padding:15px 0;text-align:center;border-radius:var(--r-sm);width:100%;transition:background .15s}
.b2bp-form__submit:hover{background:var(--c-ink)}
.b2bp-form__note{font:500 10.5px var(--font-mono);letter-spacing:.04em;color:var(--c-muted);text-align:center}

/* honeypot */
.b2bp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* potvrzení / chyba */
.b2bp-notice{border-radius:var(--r-md);padding:13px 16px;font:500 13.5px/1.5 var(--font-sans)}
.b2bp-notice--ok{background:var(--c-surface-2);border:1px solid var(--c-line);color:var(--c-ink)}
.b2bp-notice--err{background:#FBEEEE;border:1px solid var(--c-red);color:var(--c-red)}

/* ---------- mobil ---------- */
@media (max-width:1024px){
  .b2bp-hero{grid-template-columns:1fr}
  .b2bp-hero__copy{padding:44px var(--pad-x) 36px}
  .b2bp-hero__title{font-size:36px}
  .b2bp-hero__media{border-left:0;min-height:300px}
  .b2bp-hero__media img{min-height:300px}
  .b2bp-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .b2bp-benefit{border-bottom:1px solid var(--c-line);padding:22px var(--pad-x)}
  .b2bp-benefit:nth-child(even){border-right:0}
  .b2bp-benefit:nth-last-child(-n+2){border-bottom:0}
  .b2bp-main{grid-template-columns:1fr;gap:36px;padding:40px var(--pad-x) 48px}
  .b2bp-field{min-height:48px}
  .b2bp-form__submit{min-height:48px;font-size:16px}
  .b2bp-form__perex{font-size:16px}   /* souvislý text nad formulářem */
}
@media (max-width:560px){
  .b2bp-benefits{grid-template-columns:1fr}
  .b2bp-benefit{border-right:0;border-bottom:1px solid var(--c-line)}
  .b2bp-benefit:last-child{border-bottom:0}
  .b2bp-form{padding:20px}
  .b2bp-form__grid{grid-template-columns:1fr}
  .b2bp-hero__cta .btn{flex:1 1 100%}
}

/* ---------- poptávkový formulář: přívětivější ---------- */
.b2bp-form{background:var(--c-surface);border:1px solid var(--c-line);border-radius:14px;
  padding:30px 30px 26px;gap:0;box-shadow:0 8px 28px rgba(51,34,28,.06)}
.b2bp-form__title{font:800 24px/1.2 var(--font-sans);letter-spacing:-.025em;margin-bottom:6px}
.b2bp-form__perex{font:400 14.5px/1.6 var(--font-sans);color:var(--c-text);margin-bottom:20px}

.b2bp-form__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 16px}
.b2bp-row{display:flex;flex-direction:column;gap:6px;margin:0}
.b2bp-row--full{margin-top:14px}
.b2bp-row label{font:600 12.5px var(--font-sans);color:var(--c-ink);letter-spacing:.01em}
.b2bp-req{color:var(--c-red);margin-left:3px}

/* pole ve stejné řeči jako pokladna — šedý podklad, tmavý obrys při psaní */
.b2bp-field{width:100%;background:#FAF9F6;border:1.5px solid #D9D4CC;border-radius:var(--r-md);
  padding:12px 14px;font:500 14.5px var(--font-sans);color:var(--c-ink);
  transition:border-color .15s,background .15s,box-shadow .15s;min-height:46px}
.b2bp-field:hover{border-color:#BFB8AE}
.b2bp-field:focus{outline:0;border-color:var(--c-ink);background:var(--c-surface);
  box-shadow:0 0 0 3px rgba(51,34,28,.08)}
.b2bp-field::placeholder{color:#A79E97}
.b2bp-field--area{min-height:110px;resize:vertical;line-height:1.55}
.b2bp-hint{font:400 12px/1.45 var(--font-sans);color:var(--c-muted)}

.b2bp-select{position:relative;display:block}
.b2bp-select select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer}
.b2bp-select::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;
  border-right:2px solid var(--c-ink);border-bottom:2px solid var(--c-ink);
  transform:translateY(-70%) rotate(45deg);pointer-events:none}

.b2bp-form__submit{margin-top:22px;padding:17px 0;font:700 15.5px var(--font-sans);
  border-radius:var(--r-sm);min-height:54px}
.b2bp-form__note{font:500 12px var(--font-sans);letter-spacing:0;color:var(--c-muted);
  text-transform:none;margin-top:10px}

.b2bp-notice{border-radius:var(--r-md);padding:14px 16px;font:500 14px var(--font-sans);margin-bottom:16px}
.b2bp-notice--ok{background:#EAF5EC;color:var(--c-green);border:1px solid #BFDFC7}
.b2bp-notice--err{background:#FBEEEE;color:var(--c-red);border:1px solid #E8C4C3}

@media (max-width:640px){
  .b2bp-form{padding:22px 18px}
  .b2bp-form__grid{grid-template-columns:1fr}
}

/* ---------- mobil: doladění po auditu (9. 8. 2026) ----------
   Na konci souboru — pravidla výš přebíjely pozdější definice. */
@media (max-width:1024px){
  .b2bp-field,
  select.b2bp-field,
  textarea.b2bp-field{font-size:16px}      /* pod 16 px iOS zoomuje */
  textarea.b2bp-field{min-height:110px}
  .b2bp-form__perex{font-size:16px}
  .b2bp-form__submit{font-size:16px}
}
