/* ============================================
   PENSION CALCULATOR — PAGE CSS
   Mirrors Net Pay polish / components
   ============================================ */

/* SECTION WRAPPER */
.calc.calc--pension { background: var(--color-surface); overflow-x: clip; }

/* GRID LAYOUT */
.calc__grid { max-width: var(--max-width); margin:0 auto; display:grid; gap: var(--space-xl); grid-template-columns:1fr; }
.calc__grid > * { min-width:0; }
@media (min-width:1024px){ .calc__grid { grid-template-columns: minmax(0,1fr) minmax(340px,440px); gap: var(--space-2xl); align-items:start; } }

/* FORM */
.calc__form { display:grid; gap: var(--space-lg); align-self:start; }
.calc__form label { display:grid; gap: var(--space-xs); font-weight:600; transition: all var(--transition-fast); }
.calc__form label > span { color: var(--color-text); font-size:.9rem; }
.calc__form input[type="number"], .calc__form input[type="text"], .calc__form input[type="search"], .calc__form select { border:1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(229,240,232,.35); min-height:48px; padding: var(--space-sm) var(--space-md); font-size:1rem; font-variant-numeric: tabular-nums; transition: all var(--transition-fast); }
.calc__form input:focus-visible, .calc__form select:focus-visible { outline:none; box-shadow: var(--shadow-focus); border-color: rgba(182,134,44,.6); background: rgba(255,255,255,.95); transform: translateY(-1px); }
.calc__form input::placeholder { color: var(--color-text-soft); opacity:.6; }

/* SEGMENTS */
.seg { background: rgba(255,255,255,.98); border:1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-lg); display:grid; gap: var(--space-md); box-shadow: var(--shadow-xs); transition: all var(--transition-base); }
.seg:hover{ box-shadow: var(--shadow-sm); }
.seg legend{ font-weight:700; color: var(--color-primary); font-size:.9rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom: var(--space-xs); }

/* DETAILS */
.calc__form details{ background: rgba(255,255,255,.98); border:1px solid var(--color-border); border-radius: var(--radius-lg); padding:0; overflow:hidden; box-shadow: var(--shadow-xs); transition: all var(--transition-base); }
.calc__form details[open]{ box-shadow: var(--shadow-sm); }
.calc__form summary{ cursor:pointer; font-weight:700; font-size:.9rem; list-style:none; padding: var(--space-md) var(--space-lg); background: rgba(0,69,38,.05); color: var(--color-primary); text-transform:uppercase; letter-spacing:.05em; display:flex; align-items:center; justify-content:space-between; transition: background var(--transition-fast); }
.calc__form summary::-webkit-details-marker{ display:none; }
.calc__form summary::after{ content:'+'; font-size:1.5rem; line-height:1; transition: transform var(--transition-base); }
.calc__form details[open] summary::after{ transform: rotate(45deg); }
.calc__form summary:hover{ background: rgba(0,69,38,.08); }
.calc__form details > label{ padding: var(--space-md) var(--space-lg); border-top:1px solid var(--color-border); }
.calc__form details > label:first-of-type{ padding-top: var(--space-lg); }

/* TOGGLES */
.seg--toggles { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-sm); align-items:stretch; padding: var(--space-md); }
@media (max-width:720px){ .seg--toggles { grid-template-columns:1fr; } }
.seg--toggles label{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:600; font-size:.9rem; padding: var(--space-sm) var(--space-md); background: rgba(255,255,255,.9); border:1px solid var(--color-border); border-radius: var(--radius-md); cursor:pointer; transition: all var(--transition-fast); min-height:44px; }
.seg--toggles label:hover{ border-color: var(--color-accent-gold); background: rgba(182,134,44,.05); transform: translateY(-1px); }
.seg--toggles label:has(input:checked){ background: rgba(0,69,38,.12); color: var(--color-primary); border-color: var(--color-primary); box-shadow: var(--shadow-xs); }
.seg--toggles input{ width:20px; height:20px; accent-color: var(--color-accent-gold); cursor:pointer; }

/* SUBMIT */
.calc__form .btn[type="submit"]{ width:100%; min-height:52px; font-weight:700; font-size:1rem; letter-spacing:.02em; box-shadow: var(--shadow-sm); }
.calc__form .btn[type="submit"]:hover{ box-shadow: var(--shadow-md); }

/* RESULTS */
.calc__results{ display:grid; gap: var(--space-lg); align-content:start; }
@media (min-width:1024px){ .calc__results{ position:sticky; top: calc(var(--header-height) + var(--status-banner-height) + var(--space-lg)); } }
.result-summary{ background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(229,240,232,.4)); border:2px solid var(--color-primary); border-radius: var(--radius-lg); padding: var(--space-xl); box-shadow: var(--shadow-md); text-align:center; position:relative; overflow:hidden; }
.result-summary::before{ content:""; position:absolute; top:-50%; right:-20%; width:250px; height:250px; background: radial-gradient(circle, rgba(182,134,44,.12), transparent 70%); border-radius:50%; pointer-events:none; }
.result-summary h2{ margin:0 0 var(--space-sm); font-size:.95rem; font-weight:700; color: var(--color-text-soft); text-transform:uppercase; letter-spacing:.08em; position:relative; z-index:1; }
.result-summary__value{ margin:0; font-weight:800; color: var(--color-primary); font-size: clamp(2.1rem,5vw,2.6rem); font-variant-numeric: tabular-nums; line-height:1.1; position:relative; z-index:1; text-shadow: 0 2px 4px rgba(0,69,38,.1); }
.result-summary__meta{ margin: var(--space-sm) 0 0; color: var(--color-text); position:relative; z-index:1; }

/* MINI RECEIPT */
.mini-receipt{ background: rgba(255,255,255,.98); border:1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-lg); box-shadow: var(--shadow-sm); margin-top: var(--space-sm); }
@media (min-width:640px){ .mini-receipt{ padding: var(--space-xl); } }
.mini-receipt dl{ margin:0; display:grid; gap:0; }
.mini-receipt dl > div{ display:grid; grid-template-columns:1fr auto; gap: var(--space-md); align-items:center; padding: var(--space-sm) 0; border-bottom:1px dotted var(--color-border); transition: background var(--transition-fast); }
.mini-receipt dl > div:hover{ background: rgba(0,69,38,.02); }
.mini-receipt dl > div:last-child{ border-bottom:none; }
.mini-receipt dt{ font-weight:600; color: var(--color-text); font-size:.95rem; }
.mini-receipt dd{ margin:0; text-align:right; font-weight:700; color: var(--color-text); font-variant-numeric: tabular-nums; font-size:.95rem; }
.mini-receipt__total{ padding-top: var(--space-md); margin-top: var(--space-sm); border-top:2px solid var(--color-border-strong) !important; background: rgba(0,69,38,.06); }
.mini-receipt__total dt, .mini-receipt__total dd{ color: var(--color-primary); font-weight:800; font-size:1.05rem; }

/* OPTIONAL PANELS */
[data-relief-panel]{ display:grid; }

/* CALC ACTIONS */
.calc-actions{ max-width: var(--max-width); margin: var(--space-xl) auto 0; display:grid; gap: var(--space-md); grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); }
@media (max-width:420px){ .calc-actions{ grid-template-columns:1fr; } }
.calc-actions .btn{ width:100%; justify-content:center; }

/* NOTES SECTION */
.calc-notes{ background: var(--color-bg-soft); padding: var(--space-3xl) var(--gutter); }
.calc-notes .calculator-briefing__grid{ max-width: var(--max-width); margin:0 auto; display:grid; gap: var(--space-lg); grid-template-columns:1fr; }
@media (min-width:640px){ .calc-notes .calculator-briefing__grid{ grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .calc-notes .calculator-briefing__grid{ grid-template-columns: repeat(3,1fr); } }
.calc-notes .calculator-briefing__grid article{ background: rgba(255,255,255,.98); border:1px solid var(--color-border); color: var(--color-text); padding: var(--space-lg); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); display:grid; gap: var(--space-md); transition: all var(--transition-base); }
.calc-notes .calculator-briefing__grid article:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }
.calc-notes .calculator-briefing__grid article header{ display:flex; align-items:center; gap: var(--space-sm); flex-wrap:wrap; }
.calc-notes .calculator-briefing__grid h3{ color: var(--color-primary); margin:0; font-size:1.1rem; font-weight:700; }
.calc-notes .calculator-briefing__grid p{ color: var(--color-text-muted); margin:0; }
.calc-notes .calculator-briefing__meta{ margin:0; border:1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(229,240,232,.35); overflow:hidden; font-size:.9rem; }
.calc-notes .calculator-briefing__meta > div{ display:grid; grid-template-columns:1fr auto; gap: var(--space-md); padding: var(--space-sm) var(--space-md); border-bottom:1px dotted rgba(0,69,38,.28); align-items:baseline; }
.calc-notes .calculator-briefing__meta > div:last-child{ border-bottom:0; }
.calc-notes .calculator-briefing__meta dt{ color: var(--color-text); font-weight:600; }
.calc-notes .calculator-briefing__meta dd{ margin:0; color: var(--color-text); text-align:right; font-weight:700; font-variant-numeric: tabular-nums; }
.calc-notes .briefing-total{ border-top:2px solid rgba(0,69,38,.35) !important; background: rgba(0,69,38,.08); font-weight:700; }
.calc-notes .briefing-total dt, .calc-notes .briefing-total dd{ color: var(--color-primary); font-weight:800; }
.calc-notes .tag{ background: rgba(0,69,38,.12); color: var(--color-primary); padding:.3rem .65rem; border-radius: var(--radius-pill); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.calc-notes .chip{ background: rgba(0,69,38,.06); border:1px solid var(--color-border); color: var(--color-text); padding:.3rem .65rem; }
.calc-notes article ul.calculator-briefing__meta{ list-style:none; margin:0; padding: var(--space-md); border:1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(229,240,232,.35); display:grid; gap: var(--space-sm); }

/* EXAMPLES */
.examples{ background: var(--color-surface); padding: var(--space-3xl) var(--gutter); }
.examples__grid{ max-width: var(--max-width); margin:0 auto; display:grid; gap: var(--space-lg); grid-template-columns:1fr; }
@media (min-width:640px){ .examples__grid{ grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .examples__grid{ grid-template-columns: repeat(3,1fr); } }
.examples .example-card{ min-height:240px; display:grid; grid-template-rows:auto auto 1fr auto; padding: var(--space-lg); background:#fff; border:1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); transition: all var(--transition-base); }
.examples .example-card:hover{ box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: rgba(0,69,38,.25); }
.examples .example-card:focus-within{ box-shadow: var(--shadow-focus); }
.examples .example-card h3{ margin:0 0 var(--space-xs); font-size:1.15rem; line-height:1.3; color: var(--color-primary); font-weight:700; }
.examples .example-card .example-card__meta{ margin:0 0 var(--space-sm); color: var(--color-text-muted); font-size:.9rem; }
.example-card__panel{ background: rgba(229,240,232,.35); border:1px solid var(--color-border); border-radius: var(--radius-md); overflow:hidden; margin: var(--space-sm) 0 var(--space-md); }
.example-card__panel p{ padding: var(--space-sm) var(--space-md); border-bottom:1px dotted rgba(0,69,38,.28); margin:0; font-size:.9rem; }
.example-card__panel p:last-child{ border-bottom:0; }
.example-card__peek{ color: var(--color-text-soft); }
.example-card__peek strong{ color: var(--color-primary); font-weight:800; font-size:1.1rem; display:block; margin-top:4px; font-variant-numeric: tabular-nums; }
.example-card__actions{ display:flex; align-items:center; justify-content:flex-start; gap: var(--space-sm); margin-top: var(--space-sm); flex-wrap:nowrap; }
.example-card__tags{ display:inline-flex; gap:.4rem; flex-wrap:wrap; margin:0; }
.example-card__tags .chip{ background: rgba(0,69,38,.06); border:1px solid var(--color-border); padding:.2rem .5rem; font-size:.75rem; }
.example-card__tags .chip--soft{ background: rgba(201,145,55,.12); border-color: rgba(201,145,55,.3); color:#a86b1f; }
.examples .example-card .btn{ min-height:32px; padding:.35rem .7rem; font-size:.85rem; white-space:nowrap; justify-self:start; width:auto; flex:0 0 auto; }
@media (max-width:640px){ .examples .example-card .btn{ justify-self:start; width:auto; } .example-card__actions{ flex-direction:row; align-items:center; flex-wrap:nowrap; } }

/* CHIPS & INTRO META */
.calc-intro-meta { display:flex; justify-content:center; margin-top:.5rem; }
.chip { display:inline-flex; align-items:center; justify-content:center; padding:.35rem .7rem; border-radius:var(--radius-pill); border:1px solid var(--color-border); font-size:.88rem; line-height:1; white-space:nowrap; }
.chip--soft { background: rgba(0,69,38,.06); color: var(--color-text); }
.chip--updated { background: rgba(182,134,44,.12); border-color: rgba(182,134,44,.45); color: var(--color-text); }

/* SECTION HEADINGS */
.calc.calc--pension .section-heading h1{ color: var(--color-primary); font-weight:800; line-height:1.15; font-size: clamp(1.9rem,3.5vw,2.5rem); letter-spacing:-.02em; }
@media (max-width:420px){ .calc.calc--pension .section-heading h1{ overflow-wrap:anywhere; } }
.calc.calc--pension .section-heading p{ color: var(--color-text-muted); max-width:65ch; margin-inline:auto; background: rgba(0,69,38,.05); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); border:1px solid rgba(0,69,38,.1); line-height:1.6; }
.calc-notes .section-heading p, .faq .section-heading p{ color: var(--color-text-muted); background: rgba(0,69,38,.05); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); border:1px solid rgba(0,69,38,.1); max-width:65ch; margin-inline:auto; }

/* RESULTS PLACEHOLDER */
.calc__results [data-out]:empty::after{ content:"—"; color: var(--color-text-soft); }

/* TOAST */
.toast{ position:fixed; top:20px; right:20px; z-index:9999; max-width:400px; width:auto; opacity:0; visibility:hidden; transform: translateX(400px); transition: all .3s cubic-bezier(0.4,0,0.2,1); }
.toast.show{ opacity:1; visibility:visible; transform: translateX(0); }
.toast__content{ display:flex; align-items:center; gap:12px; padding:16px 20px; background:#10b981; color:#fff; border-radius:8px; box-shadow:0 10px 25px rgba(0,0,0,.15), 0 4px 12px rgba(0,0,0,.1); font-size:.95rem; font-weight:500; line-height:1.4; }
.toast__icon{ font-size:1.25rem; flex-shrink:0; }
.toast__message{ flex:1; }
@media (max-width:640px){ .toast{ left:10px; right:10px; max-width:none; top:10px; } .toast__content{ padding:14px 16px; font-size:.9rem; } }

/* RESULTS VISIBILITY */
.calc__results[data-calculated="false"]{ opacity:.5; pointer-events:none; filter: grayscale(.2); }
.calc__results[data-calculated="true"]{ opacity:1; pointer-events:auto; filter:none; }

/* PRINT */
@media print{
  .site-header, .site-footer, .status-banner, .mobile-drawer, .calc-actions, .back-to-top{ display:none !important; }
  main>section{ padding:0; }
  .calc__grid{ grid-template-columns:1fr !important; gap: var(--space-lg); }
  .calc__form{ display:none !important; }
  .result-summary{ text-align:left; box-shadow:none; border:2px solid #000; }
  .mini-receipt{ break-inside:avoid; page-break-inside:avoid; }
}

/* SMALL DEVICES */
@media (max-width:374px){ .result-summary__value{ font-size:2rem; } .seg{ padding: var(--space-md); } .mini-receipt{ padding: var(--space-md); } }
@media (max-height:600px) and (orientation:landscape){ .calc__results{ position:static; } }

/* ============================================
   END OF PENSION CSS
   ============================================ */
