/* Shared Polish calculator accessibility, consent, source and editorial layer. */
:root{
  --pl-link:#b91c1c;
  --pl-link-dark:#7f1d1d;
  --pl-source-bg:#fff8f7;
  --pl-source-border:rgba(185,28,28,.22);
}

.skip-link{
  position:fixed;
  top:12px;
  left:16px;
  z-index:10000;
  transform:translateY(-160%);
  padding:10px 16px;
  border-radius:7px;
  background:#111827;
  color:#fff!important;
  font:700 14px/1.2 Inter,system-ui,sans-serif;
  text-decoration:none!important;
}
.skip-link:focus{transform:translateY(0);outline:3px solid #dc2626;outline-offset:2px;}

a:focus-visible,button:focus-visible,[role="button"]:focus-visible,
input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid #dc2626!important;
  outline-offset:3px;
}

input[aria-invalid="true"],select[aria-invalid="true"]{
  border-color:#b42318!important;
  box-shadow:0 0 0 3px rgba(180,35,24,.12)!important;
}
.field-error{
  display:block;
  min-height:0;
  margin-top:5px;
  color:#9b1c1c;
  font-size:11px;
  font-weight:600;
}
.field-error:empty{display:none;}

.editorial-note{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:24px auto 0;
  padding:12px 16px;
  border:1px solid #dedad2;
  border-radius:8px;
  background:#fff;
  color:#596074;
  font-size:12px;
  line-height:1.55;
  text-align:center;
}
.editorial-note a,
.meth-sources a{
  color:var(--pl-link-dark)!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}

body.pl-calculator :where(.hero-lead,.hero-sub,.section-lead,.ec-body,.meth-note,.faq-a,.faq-body) a{
  color:var(--pl-link)!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}

body.pl-calculator .meth-sources{
  margin-top:20px;
  padding:18px 20px!important;
  border:1px solid var(--pl-source-border)!important;
  border-radius:8px;
  background:var(--pl-source-bg)!important;
  line-height:1.8;
  text-align:center;
}

body.pl-calculator .cookie-banner{
  position:fixed;
  right:0;
  bottom:0;
  left:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  padding:16px 24px;
  background:#0f1117;
  color:#fff;
  font-size:13px;
}
body.pl-calculator .cookie-banner p{max-width:620px;margin:0;text-align:center;color:rgba(255,255,255,.75);}
body.pl-calculator .cookie-banner a{color:#fff!important;text-decoration:underline!important;}
body.pl-calculator .cookie-btn{padding:8px 20px;border-radius:40px;font-size:13px;font-weight:700;cursor:pointer;}
body.pl-calculator .cookie-accept{border:1px solid #dc2626;background:#dc2626;color:#fff;}
body.pl-calculator .cookie-reject{border:1px solid rgba(255,255,255,.35);background:transparent;color:rgba(255,255,255,.8);}

body.pl-calculator .value-positive{color:#2e7d32!important;}
body.pl-calculator .value-neutral{color:#b45309!important;}
body.pl-calculator .value-negative{color:#b42318!important;}

/* One visual form system across every Polish calculator. Page-specific fields and
   calculations stay intact; this layer only removes historic presentation drift. */
body.pl-calculator .calc-section .panel{
  overflow:hidden!important;
  border:1px solid #deded8!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.06)!important;
}
body.pl-calculator .calc-section .panel-head{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:16px 24px!important;
  border-bottom:1px solid #deded8!important;
}
body.pl-calculator .calc-section .panel-head h2{
  margin:0!important;
  color:#64748b!important;
  font:700 13px/1.3 Inter,system-ui,sans-serif!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
body.pl-calculator .calc-section .panel-dot{width:8px!important;height:8px!important;background:#dc2626!important;}
body.pl-calculator .calc-section .panel-body{padding:24px!important;}
body.pl-calculator .calc-section .input-section{margin-bottom:28px!important;}
body.pl-calculator .calc-section .input-section:last-child{margin-bottom:0!important;}
body.pl-calculator .calc-section .input-section-title{
  margin:0 0 14px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid #deded8!important;
  color:#94a3b8!important;
  font:700 10px/1.3 Inter,system-ui,sans-serif!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
body.pl-calculator .mmdai-form-field input[type="number"],
body.pl-calculator .mmdai-form-field select{
  border-color:#deded8!important;
  border-radius:6px!important;
  background:#f5f5f0!important;
}
body.pl-calculator .mmdai-form-field input[type="number"]:focus,
body.pl-calculator .mmdai-form-field select:focus{
  border-color:#dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.10)!important;
  background:#fff!important;
}

/* One footer treatment across Polish calculators, articles and the glossary. */
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer{
  padding:40px 0!important;
  border-top:0!important;
  background:#111!important;
  color:#dc2626!important;
  text-align:center;
}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer>.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer .footer-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
  max-width:none;
  margin:0 0 24px;
}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer .footer-logo{
  color:#fff!important;
  font:800 20px/1 Inter,system-ui,sans-serif;
}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer .footer-logo em{color:#dc2626!important;font-style:normal;}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer .footer-links{
  display:flex;
  justify-content:center;
  gap:12px 24px;
  flex-wrap:wrap;
  margin:0;
  font-family:Inter,system-ui,sans-serif;
  font-size:13px;
  font-weight:400;
}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer .footer-links a{
  color:rgba(255,255,255,.62)!important;
  font:inherit;
  opacity:1;
  text-decoration:none!important;
  transition:color .2s;
}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer .footer-links a:hover{color:#dc2626!important;}
:where(body.pl-calculator,body.pl-article,body.pl-glossary) footer :is(.footer-disc,.footer-disclaimer){
  max-width:860px;
  margin:0 auto;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08)!important;
  color:#dc2626!important;
  font:500 11px/1.7 Inter,system-ui,sans-serif;
  opacity:1;
}

/* Keep the official-source heading readable and separate from source links. */
body.pl-calculator .meth-sources strong{
  display:block;
  margin-bottom:8px;
  color:#111!important;
  font-family:Inter,system-ui,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media(max-width:560px){
  body.pl-calculator .hd-inner{padding-inline:16px;gap:12px;}
  body.pl-calculator .hd-nav{gap:16px;}
  body.pl-calculator .hd-nav a{font-size:12px;}
  body.pl-calculator .editorial-note{margin-inline:0;padding:11px 12px;}
  body.pl-calculator .cookie-banner{flex-direction:column;padding:14px 16px;text-align:center;}
  body.pl-calculator .calc-section .panel-body{padding:16px!important;}
  body.pl-calculator .calc-section .panel-head{padding:16px!important;}
  :where(body.pl-calculator,body.pl-article,body.pl-glossary) footer>.wrap{padding-inline:16px;}
}
