/* WYGENEROWANE z makiety wycena/styles.css przez scripts/build_wycena.py - NIE EDYTUJ recznie. */
/* Scope: wszystkie reguly pod .wycena-app; keyframes z prefiksem wyc-; tokeny :root/html.dark globalne (identyczne z app.css + dodatkowe). */

:root {
  --navy: #1e2a3a;
  --navy-deep: #141d29;
  --blue: #4c9ecf;
  --blue-light: #6bb4df;
  --blue-dark: #3a7fad;
  --blue-darker: #2d6a94;
  --white: #FFFFFF;
  --light: #F4F6F9;
  --gray: #9BA3AF;
  --gray-dark: #6B7280;
  --text: #273043;
  --text-light: #E8ECF1;
  --gold: #F5A623;
  --green: #22c55e;
  --red: #ef4444;
  --radius: 10px;
  --radius-sm: 8px;
  --radius-lg: 16px;
  --gutter: clamp(16px, 4vw, 32px);
  --transition: 0.35s cubic-bezier(.4,0,.2,1);
  --shadow: 0 4px 24px rgba(30,42,58,.12);
  --shadow-lg: 0 12px 48px rgba(30,42,58,.18);
  --shadow-hover: 0 8px 32px rgba(76,158,207,.25);
  --font-heading: 'Sora', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}
html.dark {
  --white: #0f1722;
  --light: #1a2332;
  --text: #E8ECF1;
  --gray: #7a8494;
  --gray-dark: #9BA3AF;
  --shadow: 0 4px 24px rgba(0,0,0,.3);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.4);
  --shadow-hover: 0 8px 32px rgba(76,158,207,.3);
}
@keyframes wyc-fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
html.dark .dark-toggle { background: var(--light); }
html.dark .dark-toggle { color: var(--text); }
@keyframes wyc-pulseGreen {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(34,197,94,.6); }
  50% { opacity: .6; box-shadow: 0 0 8px 4px rgba(34,197,94,.3); }
}
@keyframes wyc-pulseGlow {
  0%, 100% { box-shadow: 0 0 0 4px rgba(76,158,207,.2); }
  50% { box-shadow: 0 0 0 8px rgba(76,158,207,.1); }
}
@keyframes wyc-fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes wyc-pulse-shadow {
  0% { box-shadow: 0 0 0 0 rgba(76,158,207,.5); }
  70% { box-shadow: 0 0 0 16px rgba(76,158,207,0); }
  100% { box-shadow: 0 0 0 0 rgba(76,158,207,0); }
}
@keyframes wyc-pulseHelp {
  0%,100% { box-shadow: 0 0 0 0 rgba(76,158,207,.5); }
  50%     { box-shadow: 0 0 0 10px rgba(76,158,207,0); }
}
@keyframes wyc-pulseHelpLg {
  0%,100% { box-shadow: 0 4px 16px rgba(76,158,207,.35), 0 0 0 0 rgba(76,158,207,.45); }
  50%     { box-shadow: 0 4px 16px rgba(76,158,207,.35), 0 0 0 14px rgba(76,158,207,0); }
}
@keyframes wyc-btnShake {
  0%, 100%   { transform: translateX(0); }
  15%, 45%   { transform: translateX(-6px) rotate(-1deg); }
  30%, 60%   { transform: translateX(6px) rotate(1deg); }
  75%        { transform: translateX(-3px); }
  90%        { transform: translateX(3px); }
}
@keyframes wyc-processPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(76,158,207,.5); }
  50% { box-shadow: 0 0 0 12px rgba(76,158,207,0); }
}
@keyframes wyc-fadeInProcess {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.wycena-app {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.wycena-app img { max-width: 100%; display: block; }
.wycena-app a { color: var(--blue); text-decoration: none; transition: color var(--transition); }
.wycena-app a:hover { color: var(--blue-light); }
.wycena-app .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.wycena-app .container--narrow { max-width: 900px; }
.wycena-app h1, .wycena-app h2, .wycena-app h3, .wycena-app h4 { font-family: var(--font-heading); line-height: 1.2; color: var(--text); }
.wycena-app h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); font-weight: 700; }
.wycena-app h2 { font-size: clamp(1.4rem, 3.5vw, 2.2rem); font-weight: 700; }
.wycena-app h3 { font-size: 1.15rem; font-weight: 600; }
.wycena-app h4 { font-size: 1rem; font-weight: 600; }
.wycena-app .highlight {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.wycena-app .section { padding: 64px 0; }
.wycena-app .section--light { background: var(--light); }
.wycena-app .section--dark { background: var(--navy-deep); color: var(--text-light); }
.wycena-app .section-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--blue);
  margin-bottom: 12px;
}
.wycena-app .section-label::before {
  content: '';
  width: 24px;
  height: 2px;
  background: var(--blue);
  border-radius: 2px;
}
.wycena-app .section-desc {
  font-size: 1.05rem;
  color: var(--gray-dark);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: 32px;
}
.wycena-app .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: .95rem;
  font-family: var(--font-body);
  cursor: pointer;
  border: none;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.wycena-app .btn svg { width: 18px; height: 18px; fill: currentColor; flex-shrink: 0; }
.wycena-app .btn-primary {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff;
  box-shadow: 0 4px 20px rgba(76,158,207,.35);
}
.wycena-app .btn-primary:hover {
  background: linear-gradient(135deg, var(--blue-dark), var(--blue-darker));
  box-shadow: 0 6px 28px rgba(76,158,207,.45);
  transform: translateY(-1px);
}
.wycena-app .btn-outline {
  background: transparent;
  color: var(--blue);
  border: 2px solid var(--blue);
}
.wycena-app .btn-outline:hover {
  background: var(--blue);
  color: #fff;
}
.wycena-app .btn-light {
  background: rgba(76,158,207,.08);
  color: var(--blue);
  border: 1px solid rgba(76,158,207,.15);
}
.wycena-app .btn-light:hover {
  background: var(--blue);
  color: #fff;
}
.wycena-app .btn-white {
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px);
}
.wycena-app .btn-white:hover { background: rgba(255,255,255,.22); }
.wycena-app .btn--full { width: 100%; }
.wycena-app .btn--sm { padding: 10px 20px; font-size: .88rem; }
.wycena-app .btn--lg { padding: 16px 36px; font-size: 1rem; }
.wycena-app .hero {
  padding: 100px 0 60px;
  position: relative;
  overflow: hidden;
  background: var(--light);
}
.wycena-app .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(rgba(76,158,207,.07) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
.wycena-app .hero-content { position: relative; z-index: 1; text-align: center; max-width: 900px; margin: 0 auto; }
.wycena-app .hero .badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--blue);
  margin-bottom: 20px;
  animation: wyc-fadeInUp .6s ease both;
}
.wycena-app .hero .badge .dot {
  width: 8px; height: 8px;
  background: var(--green);
  border-radius: 50%;
  animation: wyc-pulseGreen 2s infinite;
}
.wycena-app .hero h1 { margin-bottom: 16px; animation: wyc-fadeInUp .6s ease .15s both; }
.wycena-app .hero .section-desc { margin: 0 auto 32px; animation: wyc-fadeInUp .6s ease .3s both; }
.wycena-app .hero-stats {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 32px;
  animation: wyc-fadeInUp .6s ease .6s both;
}
.wycena-app .hero-stat { text-align: center; }
.wycena-app .hero-stat .stat-value { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; color: var(--blue); }
.wycena-app .hero-stat .stat-label { font-size: .8rem; color: var(--gray-dark); }
.wycena-app .hero-cta { animation: wyc-fadeInUp .6s ease .45s both; }
.wycena-app .calc-tabs {
  display: flex;
  gap: 8px;
  padding: 6px;
  background: var(--light);
  border-radius: var(--radius-lg);
  margin-bottom: 32px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.wycena-app .calc-tabs::-webkit-scrollbar { display: none; }
.wycena-app .calc-tab {
  flex: 1;
  min-width: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: var(--transition);
  font-family: var(--font-body);
  font-size: .82rem;
  font-weight: 500;
  color: var(--gray-dark);
  white-space: nowrap;
}
.wycena-app .calc-tab svg { width: 28px; height: 28px; stroke: var(--gray); fill: none; transition: var(--transition); }
.wycena-app .calc-tab:hover { background: var(--white); color: var(--text); }
.wycena-app .calc-tab:hover svg { stroke: var(--blue); }
.wycena-app .calc-tab.active {
  background: var(--white);
  color: var(--blue);
  border-color: var(--blue);
  box-shadow: var(--shadow);
  font-weight: 600;
}
.wycena-app .calc-tab.active svg { stroke: var(--blue); }
.wycena-app .progress-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 40px;
}
.wycena-app .progress-step {
  display: flex;
  align-items: center;
  gap: 0;
  cursor: pointer;
}
.wycena-app .progress-step:not(:last-child)::after {
  content: '';
  width: 40px;
  height: 2px;
  background: rgba(76,158,207,.15);
  transition: var(--transition);
}
.wycena-app .progress-step:not(:last-child).done::after { background: var(--blue); }
.wycena-app .step-dot {
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: .82rem;
  font-weight: 600;
  color: var(--gray);
  background: var(--light);
  border: 2px solid rgba(76,158,207,.15);
  transition: var(--transition);
  position: relative;
}
.wycena-app .progress-step.active .step-dot {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff;
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(76,158,207,.2);
  animation: wyc-pulseGlow 3s infinite;
}
.wycena-app .progress-step.done .step-dot {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}
.wycena-app .step-label {
  display: none;
  font-size: .72rem;
  color: var(--gray-dark);
  margin-top: 4px;
}
@media (min-width: 768px) {
.wycena-app .progress-step { flex-direction: column; align-items: center; }
.wycena-app .step-label { display: block; }
.wycena-app .progress-step:not(:last-child)::after { margin: 0 8px; margin-top: -20px; }
.wycena-app .progress-step { position: relative; }
.wycena-app .progress-step:not(:last-child)::after {
    position: absolute;
    left: calc(50% + 22px);
    top: 18px;
    width: calc(100% - 8px);
  }
.wycena-app .progress-bar { gap: 40px; }
}
.wycena-app .calc-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 1024px) {
.wycena-app .calc-layout { grid-template-columns: 1fr 320px; }
}
.wycena-app .calc-main { min-width: 0; }
.wycena-app .step-content {
  display: none;
  animation: wyc-fadeIn .35s ease;
}
.wycena-app .step-content.active { display: block; }
.wycena-app .step-title {
  font-size: 1.2rem;
  margin-bottom: 8px;
}
.wycena-app .step-subtitle {
  font-size: .92rem;
  color: var(--gray-dark);
  margin-bottom: 24px;
}
.wycena-app .options-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 24px;
}
.wycena-app .options-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) {
.wycena-app .options-grid { grid-template-columns: repeat(2, 1fr); }
.wycena-app .options-grid--3 { grid-template-columns: repeat(3, 1fr); }
.wycena-app .options-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.wycena-app .options-grid--4 { grid-template-columns: repeat(4, 1fr); }
.wycena-app .options-grid--3 { grid-template-columns: repeat(3, 1fr); }
.wycena-app .options-grid--5 { grid-template-columns: repeat(5, 1fr); }
}
.wycena-app .option-card {
  position: relative;
  border: 2px solid rgba(76,158,207,.12);
  border-radius: var(--radius);
  padding: 20px;
  cursor: pointer;
  transition: var(--transition);
  background: var(--white);
  text-align: center;
}
.wycena-app .option-card:hover {
  border-color: rgba(76,158,207,.25);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.wycena-app .option-card.selected {
  border-color: var(--blue);
  background: rgba(76,158,207,.04);
  box-shadow: var(--shadow-hover);
}
.wycena-app .option-card .card-check {
  position: absolute;
  top: 10px; right: 10px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.5);
  transition: var(--transition);
}
.wycena-app .option-card.selected .card-check { opacity: 1; transform: scale(1); }
.wycena-app .option-card .card-icon {
  width: 48px; height: 48px;
  margin: 0 auto 12px;
  background: linear-gradient(135deg, rgba(76,158,207,.12), rgba(76,158,207,.06));
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}
.wycena-app .option-card.selected .card-icon, .wycena-app .option-card:hover .card-icon {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
}
.wycena-app .option-card .card-icon svg { width: 24px; height: 24px; stroke: var(--blue); fill: none; transition: var(--transition); }
.wycena-app .option-card.selected .card-icon svg, .wycena-app .option-card:hover .card-icon svg { stroke: #fff; }
.wycena-app .option-card .card-name { font-weight: 600; font-size: .92rem; margin-bottom: 4px; }
.wycena-app .option-card .card-price { font-size: .82rem; color: var(--blue); font-weight: 600; }
.wycena-app .option-card .card-desc { font-size: .78rem; color: var(--gray-dark); margin-top: 6px; line-height: 1.4; }
.wycena-app .addon-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.wycena-app .addon-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  border: 1px solid rgba(76,158,207,.1);
  border-left: 3px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
  background: var(--white);
}
.wycena-app .addon-card:hover {
  border-color: rgba(76,158,207,.2);
  border-left-color: rgba(76,158,207,.3);
  background: rgba(76,158,207,.02);
}
.wycena-app .addon-card.selected {
  border-left-color: var(--blue);
  background: rgba(76,158,207,.04);
}
.wycena-app .addon-check {
  width: 22px; height: 22px;
  border: 2px solid rgba(76,158,207,.25);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  transition: var(--transition);
}
.wycena-app .addon-card.selected .addon-check {
  background: var(--blue);
  border-color: var(--blue);
}
.wycena-app .addon-check svg { width: 14px; height: 14px; stroke: #fff; fill: none; opacity: 0; transition: var(--transition); }
.wycena-app .addon-card.selected .addon-check svg { opacity: 1; }
.wycena-app .addon-info { flex: 1; min-width: 0; }
.wycena-app .addon-name { font-weight: 600; font-size: .9rem; }
.wycena-app .addon-desc { font-size: .78rem; color: var(--gray-dark); margin-top: 2px; line-height: 1.4; }
.wycena-app .addon-price { font-weight: 600; font-size: .88rem; color: var(--blue); white-space: nowrap; flex-shrink: 0; }
.wycena-app .range-group { margin-bottom: 24px; }
.wycena-app .range-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.wycena-app .range-label { font-weight: 600; font-size: .92rem; }
.wycena-app .range-value {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--blue);
  min-width: 60px;
  text-align: right;
}
.wycena-app input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: rgba(76,158,207,.15);
  outline: none;
  transition: var(--transition);
}
.wycena-app input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(76,158,207,.4);
  transition: var(--transition);
}
.wycena-app input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 3px 12px rgba(76,158,207,.5);
}
.wycena-app input[type="range"]::-moz-range-thumb {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 8px rgba(76,158,207,.4);
}
.wycena-app .range-ticks {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: .72rem;
  color: var(--gray);
}
.wycena-app .form-group { margin-bottom: 20px; }
.wycena-app .form-label {
  display: block;
  font-weight: 600;
  font-size: .88rem;
  margin-bottom: 6px;
  color: var(--text);
}
.wycena-app .form-label .required { color: var(--red); margin-left: 2px; }
.wycena-app .form-input, .wycena-app .form-select, .wycena-app .form-textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid rgba(76,158,207,.15);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--text);
  background: var(--white);
  transition: var(--transition);
  outline: none;
}
.wycena-app .form-input:focus, .wycena-app .form-select:focus, .wycena-app .form-textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(76,158,207,.1);
}
.wycena-app .form-input::placeholder, .wycena-app .form-textarea::placeholder { color: var(--gray); }
.wycena-app .form-textarea { resize: vertical; min-height: 100px; }
.wycena-app .form-select { cursor: pointer; }
.wycena-app .form-hint { font-size: .78rem; color: var(--gray-dark); margin-top: 4px; }
.wycena-app .form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: .85rem;
  color: var(--gray-dark);
  line-height: 1.4;
}
.wycena-app .form-checkbox input { display: none; }
.wycena-app .form-checkbox .checkmark {
  width: 20px; height: 20px;
  border: 2px solid rgba(76,158,207,.25);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}
.wycena-app .form-checkbox input:checked + .checkmark {
  background: var(--blue);
  border-color: var(--blue);
}
.wycena-app .form-checkbox .checkmark svg { width: 14px; height: 14px; stroke: #fff; opacity: 0; transition: var(--transition); }
.wycena-app .form-checkbox input:checked + .checkmark svg { opacity: 1; }
.wycena-app .tooltip-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(76,158,207,.1);
  color: var(--blue);
  font-size: .72rem;
  font-weight: 700;
  cursor: help;
  margin-left: 6px;
  position: relative;
  vertical-align: middle;
}
.wycena-app .tooltip-content {
  display: none;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  padding: 16px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.15);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  font-size: .82rem;
  font-weight: 400;
  color: var(--text);
  line-height: 1.5;
  z-index: 100;
}
.wycena-app .tooltip-content::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--white);
}
.wycena-app .tooltip-trigger.active .tooltip-content { display: block; animation: wyc-fadeIn .2s ease; }
.wycena-app .tooltip-content a { font-weight: 600; }
.wycena-app .calc-sidebar {
  display: none;
}
@media (min-width: 1024px) {
.wycena-app .calc-sidebar {
    display: block;
    position: sticky;
    top: 100px;
    align-self: start;
  }
}
.wycena-app .sidebar-card {
  background: var(--white);
  border: 1px solid rgba(76,158,207,.12);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow);
}
.wycena-app .sidebar-title {
  font-size: .92rem;
  font-weight: 700;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wycena-app .sidebar-title svg { width: 20px; height: 20px; stroke: var(--blue); fill: none; }
.wycena-app .sidebar-items { list-style: none; margin-bottom: 16px; }
.wycena-app .sidebar-item {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: .85rem;
  border-bottom: 1px solid rgba(76,158,207,.06);
}
.wycena-app .sidebar-item:last-child { border-bottom: none; }
.wycena-app .sidebar-item .item-name { color: var(--gray-dark); }
.wycena-app .sidebar-item .item-price { font-weight: 600; }
.wycena-app .sidebar-discount {
  display: flex;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(34,197,94,.08);
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
  font-size: .85rem;
  color: var(--green);
  font-weight: 600;
}
.wycena-app .sidebar-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 2px solid rgba(76,158,207,.15);
  margin-bottom: 20px;
}
.wycena-app .sidebar-total .total-label { font-size: .88rem; font-weight: 600; }
.wycena-app .sidebar-total .total-price {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--blue);
  transition: var(--transition);
}
.wycena-app .sidebar-total .total-prefix { font-size: .78rem; color: var(--gray-dark); font-weight: 400; }
.wycena-app .sticky-price-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 998;
  background: rgba(20,29,41,.96);
  backdrop-filter: blur(16px);
  border-top: 1px solid rgba(255,255,255,.08);
  transform: translateY(100%);
  transition: transform .3s ease;
  box-shadow: 0 -8px 30px rgba(0,0,0,.2);
}
.wycena-app .sticky-price-bar.visible { transform: translateY(0); }
.wycena-app .sticky-price-bar__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px var(--gutter);
}
.wycena-app .sticky-price-bar__price { flex-shrink: 0; }
.wycena-app .sticky-price-bar__price .price-text { color: rgba(255,255,255,.7); font-size: .78rem; }
.wycena-app .sticky-price-bar__price .price-amount {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--blue-light);
  line-height: 1.1;
}
.wycena-app .sticky-price-bar__info { display: none; flex: 1; min-width: 0; }
.wycena-app .sticky-help-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  color: var(--text-light);
  font-weight: 600;
  font-size: .82rem;
  padding: 7px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
}
.wycena-app .sticky-help-link:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.35); }
.wycena-app .sticky-help-hint {
  margin-top: 4px;
  color: rgba(255,255,255,.6);
  font-size: .72rem;
  line-height: 1.4;
}
.wycena-app .sticky-help-hint .help-chip--xs { vertical-align: middle; }
.wycena-app .sticky-price-bar__cta { padding: 10px 18px; font-size: .85rem; flex-shrink: 0; }
@media (min-width: 1024px) {
.wycena-app .sticky-price-bar__inner { padding: 14px var(--gutter); gap: 24px; }
.wycena-app .sticky-price-bar__info { display: block; }
.wycena-app .sticky-price-bar__price .price-amount { font-size: 1.5rem; }
.wycena-app .sticky-price-bar__cta { padding: 12px 24px; font-size: .9rem; }
}
.wycena-app .mobile-price-bar { display: none; }
.wycena-app .cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
}
.wycena-app .summary { display: none; }
.wycena-app .summary.active { display: block; }
.wycena-app .summary-card {
  background: var(--white);
  border: 1px solid rgba(76,158,207,.12);
  border-radius: var(--radius-lg);
  padding: 32px;
  margin-bottom: 24px;
}
.wycena-app .summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid rgba(76,158,207,.1);
}
.wycena-app .summary-group { margin-bottom: 24px; }
.wycena-app .summary-group-title {
  font-size: .95rem;
  font-weight: 700;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wycena-app .summary-group-title .group-icon {
  width: 28px; height: 28px;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  display: flex;
  align-items: center;
  justify-content: center;
}
.wycena-app .summary-group-title .group-icon svg { width: 16px; height: 16px; stroke: #fff; fill: none; }
.wycena-app .summary-line {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: .88rem;
}
.wycena-app .summary-line .line-label { color: var(--gray-dark); }
.wycena-app .summary-line .line-price { font-weight: 600; }
.wycena-app .summary-divider {
  height: 1px;
  background: rgba(76,158,207,.1);
  margin: 16px 0;
}
.wycena-app .summary-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-top: 2px solid rgba(76,158,207,.15);
  margin-top: 8px;
}
.wycena-app .summary-total-row .total-label { font-size: 1rem; font-weight: 700; }
.wycena-app .summary-total-row .total-amount {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--blue);
}
.wycena-app .summary-notes {
  padding: 16px 20px;
  background: rgba(76,158,207,.04);
  border-radius: var(--radius-sm);
  font-size: .82rem;
  color: var(--gray-dark);
  line-height: 1.6;
  margin-top: 16px;
}
.wycena-app .summary-notes ul { list-style: none; }
.wycena-app .summary-notes li { padding: 4px 0; padding-left: 16px; position: relative; }
.wycena-app .summary-notes li::before { content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); opacity: .4; }
.wycena-app .summary-discount-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: rgba(34,197,94,.08);
  border: 1px solid rgba(34,197,94,.2);
  border-radius: var(--radius-sm);
  color: var(--green);
  font-weight: 600;
  font-size: .88rem;
  margin-bottom: 16px;
}
.wycena-app .summary-discount-badge svg { width: 18px; height: 18px; stroke: var(--green); fill: none; }
.wycena-app .summary-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.wycena-app .summary-actions .btn { flex: 1; min-width: 180px; }
.wycena-app .timeline { position: relative; padding: 32px 0; }
.wycena-app .timeline::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0; bottom: 0;
  width: 2px;
  background: rgba(76,158,207,.15);
}
@media (min-width: 768px) {
.wycena-app .timeline::before { left: 50%; transform: translateX(-50%); }
}
.wycena-app .timeline-item {
  position: relative;
  padding-left: 56px;
  margin-bottom: 40px;
}
.wycena-app .timeline-item:last-child { margin-bottom: 0; }
.wycena-app .timeline-dot {
  position: absolute;
  left: 8px;
  top: 0;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: .72rem;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 2px 8px rgba(76,158,207,.3);
}
.wycena-app .timeline-item:first-child .timeline-dot { animation: wyc-pulseGlow 3s infinite; }
.wycena-app .timeline-card {
  background: var(--white);
  border: 1px solid rgba(76,158,207,.1);
  border-radius: var(--radius);
  padding: 20px 24px;
  transition: var(--transition);
}
.wycena-app .timeline-card:hover {
  border-color: rgba(76,158,207,.2);
  box-shadow: var(--shadow);
}
.wycena-app .timeline-card h4 { margin-bottom: 6px; font-size: .95rem; }
.wycena-app .timeline-card p { font-size: .85rem; color: var(--gray-dark); line-height: 1.5; }
.wycena-app .timeline-card .timeline-time {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  font-size: .78rem;
  color: var(--blue);
  font-weight: 600;
}
@media (min-width: 768px) {
.wycena-app .timeline::before { left: 20px; transform: none; }
.wycena-app .timeline-item {
    width: 100%;
    padding-left: 72px;
    padding-right: 0;
    max-width: 760px;
  }
.wycena-app .timeline-dot {
    left: 8px;
    right: auto;
  }
}
.wycena-app .faq-list { max-width: 760px; margin: 0 auto; }
.wycena-app .faq-item {
  border: 1px solid rgba(76,158,207,.1);
  border-radius: var(--radius);
  margin-bottom: 8px;
  overflow: hidden;
  transition: var(--transition);
}
.wycena-app .faq-item:hover { border-color: rgba(76,158,207,.2); }
.wycena-app .faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  cursor: pointer;
  font-weight: 600;
  font-size: .92rem;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  color: var(--text);
  font-family: var(--font-body);
  transition: var(--transition);
}
.wycena-app .faq-q:hover { color: var(--blue); }
.wycena-app .faq-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(76,158,207,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: var(--transition);
}
.wycena-app .faq-icon svg {
  width: 16px;
  height: 16px;
  stroke: var(--blue);
  fill: none;
  stroke-width: 2.5;
  transition: var(--transition);
}
.wycena-app .faq-item.open .faq-icon { background: var(--blue); }
.wycena-app .faq-item.open .faq-icon svg { stroke: #fff; transform: rotate(45deg); }
.wycena-app .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.wycena-app .faq-a-inner {
  padding: 0 22px 18px;
  font-size: .88rem;
  color: var(--gray-dark);
  line-height: 1.6;
}
.wycena-app .cta-section {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  padding: 64px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.wycena-app .cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top left, rgba(255,255,255,.08), transparent 50%),
              radial-gradient(ellipse at bottom right, rgba(14,20,30,.35), transparent 60%);
  pointer-events: none;
}
.wycena-app .cta-section h2 { color: #fff; margin-bottom: 12px; position: relative; }
.wycena-app .cta-section p { color: rgba(255,255,255,.8); margin-bottom: 28px; position: relative; font-size: 1.05rem; }
.wycena-app .cta-section .cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; position: relative; }
.wycena-app .cta-section .cta-stats {
  display: flex;
  gap: 32px;
  justify-content: center;
  margin-top: 32px;
  position: relative;
  flex-wrap: wrap;
}
.wycena-app .cta-section .cta-stat { color: rgba(255,255,255,.7); font-size: .88rem; }
.wycena-app .cta-section .cta-stat strong { color: #fff; font-size: 1.1rem; display: block; }
.wycena-app .step-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(76,158,207,.1);
}
.wycena-app .step-nav .btn { min-width: 140px; }
.wycena-app .palette-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
@media (min-width: 640px) {
.wycena-app .palette-grid { grid-template-columns: repeat(6, 1fr); }
}
.wycena-app .palette-card {
  border: 2px solid rgba(76,158,207,.12);
  border-radius: var(--radius-sm);
  padding: 8px;
  cursor: pointer;
  transition: var(--transition);
  text-align: center;
}
.wycena-app .palette-card:hover { border-color: rgba(76,158,207,.25); }
.wycena-app .palette-card.selected { border-color: var(--blue); box-shadow: var(--shadow); }
.wycena-app .palette-colors {
  display: flex;
  height: 32px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 6px;
}
.wycena-app .palette-colors span { flex: 1; }
.wycena-app .palette-card .palette-name { font-size: .7rem; color: var(--gray-dark); font-weight: 500; }
.wycena-app .file-upload {
  border: 2px dashed rgba(76,158,207,.2);
  border-radius: var(--radius);
  padding: 24px;
  text-align: center;
  cursor: pointer;
  transition: var(--transition);
}
.wycena-app .file-upload:hover { border-color: rgba(76,158,207,.4); background: rgba(76,158,207,.02); }
.wycena-app .file-upload svg { width: 32px; height: 32px; stroke: var(--gray); margin: 0 auto 8px; }
.wycena-app .file-upload p { font-size: .85rem; color: var(--gray-dark); }
.wycena-app .file-upload .file-types { font-size: .72rem; color: var(--gray); margin-top: 4px; }
.wycena-app .dark-toggle {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 999;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--navy);
  border: 1px solid rgba(255,255,255,.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}
.wycena-app .dark-toggle { color: #fff; font-size: 1rem; line-height: 1; }
.wycena-app .btn-pulse { animation: wyc-pulse-shadow 2s ease-out infinite; }
.wycena-app .reveal { opacity: 0; transform: translateY(30px); transition: opacity .7s, transform .7s; }
.wycena-app .reveal.visible { opacity: 1; transform: translateY(0); }
.wycena-app .text-center { text-align: center; }
.wycena-app .mb-8 { margin-bottom: 8px; }
.wycena-app .mb-16 { margin-bottom: 16px; }
.wycena-app .mb-24 { margin-bottom: 24px; }
.wycena-app .mb-32 { margin-bottom: 32px; }
.wycena-app .mb-48 { margin-bottom: 48px; }
.wycena-app .mt-16 { margin-top: 16px; }
.wycena-app .mt-32 { margin-top: 32px; }
.wycena-app .gap-12 { gap: 12px; }
.wycena-app .flex { display: flex; }
.wycena-app .flex-wrap { flex-wrap: wrap; }
.wycena-app .items-center { align-items: center; }
.wycena-app .justify-between { justify-content: space-between; }
.wycena-app .hidden { display: none !important; }
.wycena-app { padding-bottom: 72px; }
@media (min-width: 1024px) {
.wycena-app { padding-bottom: 0; }
}
.wycena-app .help-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 2px 10px;
  background: var(--blue);
  color: var(--white);
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
  animation: wyc-pulseHelp 2.2s infinite;
}
.wycena-app .help-chip--xs { width: 18px; height: 18px; padding: 0; font-size: .7rem; }
.wycena-app .help-chip--sm { width: 22px; height: 22px; padding: 0; font-size: .85rem; }
.wycena-app .help-chip--lg {
  width: 44px; height: 44px; padding: 0;
  font-size: 1.3rem;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(76,158,207,.35);
}
.wycena-app .help-chip--lg {
  animation: wyc-pulseHelpLg 2s infinite;
}
.wycena-app .hero-help-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px 18px;
  max-width: 780px;
  margin: 0 auto;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(76,158,207,.08), rgba(76,158,207,.14));
  border: 1px solid rgba(76,158,207,.22);
  border-radius: var(--radius-lg);
  text-align: left;
  animation: wyc-fadeInUp .6s ease .45s both;
  box-shadow: 0 6px 24px rgba(76,158,207,.08);
}
.wycena-app .hero-help-banner .help-chip--lg {
  margin-top: 2px;
}
.wycena-app .hero-help-banner__text {
  width: 100%;
  font-size: .92rem;
  line-height: 1.65;
  color: var(--gray-dark);
}
.wycena-app .hero-help-banner__text strong {
  display: block;
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.3;
  margin-bottom: 6px;
}
.wycena-app .hero-help-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  grid-column: 1 / -1;
  width: 100%;
  min-height: 52px;
  padding: 12px 18px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.3);
  color: var(--blue);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: .9rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
  white-space: normal;
  text-align: center;
}
.wycena-app .hero-help-banner__btn:hover { background: var(--blue); color: var(--white); }
.wycena-app .hero-help-banner__btn svg { width: 16px; height: 16px; transition: transform .3s; }
.wycena-app .hero-help-banner__btn.is-open svg { transform: rotate(180deg); }
.wycena-app .hero-help-banner__btn small {
  display: inline-block;
  margin-left: 4px;
  font-size: .78em;
  font-weight: 500;
}
@media (max-width: 640px) {
.wycena-app .hero-help-banner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 18px 16px;
  }
.wycena-app .hero-help-banner .help-chip--lg {
    margin: 0 auto;
  }
}
@media (max-width: 420px) {
.wycena-app .hero-help-banner__btn small {
    display: block;
    margin: 4px 0 0;
  }
}
.wycena-app .section--intro { padding: 56px 0; }
.wycena-app .how-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 640px) {
.wycena-app .how-steps { grid-template-columns: repeat(2,1fr); }
}
@media (min-width: 1024px) {
.wycena-app .how-steps { grid-template-columns: repeat(4,1fr); }
}
.wycena-app .how-step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 20px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.12);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm, 0 2px 10px rgba(0,0,0,.04));
  transition: var(--transition);
}
.wycena-app .how-step:hover { transform: translateY(-3px); border-color: rgba(76,158,207,.3); }
.wycena-app .how-step__icon {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(76,158,207,.12), rgba(76,158,207,.22));
  color: var(--blue);
  flex-shrink: 0;
}
.wycena-app .how-step__icon svg { width: 22px; height: 22px; stroke: currentColor; }
.wycena-app .how-step__num {
  position: absolute;
  top: 16px; right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--blue);
  color: var(--white);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .9rem;
}
.wycena-app .how-step h3 { font-size: 1rem; margin: 0; padding-right: 36px; }
.wycena-app .how-step p { font-size: .88rem; color: var(--gray-dark); line-height: 1.6; margin: 0; }
.wycena-app .how-close-wrap { margin-top: 20px; text-align: center; }
.wycena-app .how-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 220px;
  padding: 14px 28px;
  background: transparent;
  border: 2px solid var(--blue);
  border-radius: var(--radius);
  cursor: pointer;
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  color: var(--blue);
  line-height: 1;
  transition: var(--transition);
}
.wycena-app .how-close-btn:hover {
  border-color: var(--blue);
  color: var(--blue);
  background: var(--blue);
  color: var(--white);
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}
.wycena-app .how-close-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media (max-width: 640px) {
.wycena-app .how-close-btn {
    width: 100%;
    min-width: 0;
    padding: 10px 18px;
    font-size: .88rem;
  }
}
.wycena-app .summary-process-cta {
  margin-top: 24px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 20px 22px;
  background: linear-gradient(135deg, rgba(76,158,207,.08), rgba(76,158,207,.02));
  border: 2px solid rgba(76,158,207,.22);
  border-radius: 16px;
}
.wycena-app .summary-process-cta__icon {
  display: grid;
  place-items: center;
  width: 48px; height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(76,158,207,.28);
}
.wycena-app .summary-process-cta__icon svg {
  stroke: currentColor;
}
.wycena-app .summary-process-cta__text strong { display: block; margin-bottom: 4px; font-size: 1rem; }
.wycena-app .summary-process-cta__text p { margin: 0; font-size: .88rem; color: var(--gray-dark); line-height: 1.5; }
.wycena-app .summary-process-cta__btn { white-space: nowrap; }
@media (max-width: 720px) {
.wycena-app .summary-process-cta { grid-template-columns: 1fr; text-align: center; }
.wycena-app .summary-process-cta__icon { margin: 0 auto; }
.wycena-app .summary-process-cta__btn { width: 100%; justify-content: center; }
}
.wycena-app .btn-nudge {
  animation: wyc-btnShake 1s ease-in-out;
  box-shadow: 0 0 0 4px rgba(76,158,207,.18), 0 10px 24px rgba(76,158,207,.28) !important;
  position: relative;
}
.wycena-app .how-note {
  margin-top: 28px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 20px;
  background: rgba(34,197,94,.06);
  border: 1px solid rgba(34,197,94,.2);
  border-radius: var(--radius);
  font-size: .9rem;
  line-height: 1.6;
}
.wycena-app .how-note svg { width: 22px; height: 22px; stroke: var(--green); flex-shrink: 0; margin-top: 2px; }
.wycena-app .how-note strong { color: var(--text); }
.wycena-app .factors-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 640px) {
.wycena-app .factors-grid { grid-template-columns: repeat(2,1fr); }
}
@media (min-width: 1024px) {
.wycena-app .factors-grid { grid-template-columns: repeat(3,1fr); }
}
.wycena-app .factor-card {
  padding: 22px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.1);
  border-radius: var(--radius);
  transition: var(--transition);
}
.wycena-app .factor-card:hover { border-color: rgba(76,158,207,.25); transform: translateY(-2px); }
.wycena-app .factor-card h3 { font-size: 1rem; margin: 0 0 8px; color: var(--blue); }
.wycena-app .factor-card p { font-size: .88rem; color: var(--gray-dark); line-height: 1.65; margin: 0; }
.wycena-app .factor-card strong { color: var(--text); }
.wycena-app .price-summary {
  margin-top: 32px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.15);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow);
}
.wycena-app .price-summary__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(76,158,207,.1);
}
.wycena-app .price-summary__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.05rem;
}
.wycena-app .price-summary__title svg { width: 20px; height: 20px; stroke: var(--blue); }
.wycena-app .price-summary__meta { font-size: .78rem; color: var(--gray-dark); }
.wycena-app .price-summary__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 768px) {
.wycena-app .price-summary__grid { grid-template-columns: 1.3fr 1fr; gap: 32px; }
.wycena-app .price-summary__grid--solo { grid-template-columns: 1fr !important; }
}
.wycena-app .price-summary__col--aside {
  padding-left: 0;
  padding-top: 20px;
  border-top: 1px dashed rgba(76,158,207,.2);
}
@media (min-width: 768px) {
.wycena-app .price-summary__col--aside {
    padding-left: 24px;
    padding-top: 0;
    border-top: none;
    border-left: 1px dashed rgba(76,158,207,.2);
  }
}
.wycena-app .price-summary__subtitle {
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--gray-dark);
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wycena-app .badge-info {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(34,197,94,.12);
  color: var(--green);
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}
.wycena-app .price-summary__totals {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 2px solid rgba(76,158,207,.15);
  display: grid;
  gap: 8px;
}
.wycena-app .price-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}
.wycena-app .price-total-row .total-label { font-size: .9rem; font-weight: 600; }
.wycena-app .price-total-row .total-price {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--blue);
}
.wycena-app .price-total-row--muted .total-label { font-weight: 500; color: var(--gray-dark); font-size: .85rem; }
.wycena-app .price-total-row--muted .total-price--muted {
  font-size: 1rem;
  color: var(--gray-dark);
  font-weight: 600;
}
.wycena-app .price-summary__note {
  margin-top: 14px;
  padding: 12px 14px;
  background: rgba(76,158,207,.05);
  border-radius: var(--radius-sm);
  font-size: .82rem;
  color: var(--gray-dark);
  line-height: 1.55;
}
.wycena-app .price-summary__note strong { color: var(--blue); }
@media (min-width: 1024px) {
.wycena-app .calc-layout { grid-template-columns: 1fr; }
}
.wycena-app .calc-sidebar { display: none !important; }
.wycena-app .option-card { position: relative; padding-bottom: 56px !important; }
.wycena-app .card-help {
  position: absolute;
  left: 10px; right: 10px; bottom: 10px;
  display: flex;
  width: auto;
  height: auto;
  min-height: 40px;
  padding: 7px 12px 7px 8px;
  margin-left: 0;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(76,158,207,.10), rgba(76,158,207,.04));
  border: 1px solid rgba(76,158,207,.2);
  color: var(--blue);
  font-size: .8rem;
  font-weight: 600;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  z-index: 3;
  transition: var(--transition);
  box-shadow: 0 4px 14px rgba(30,42,58,.06);
  text-align: center;
  font-size: 0;
  line-height: 1;
  vertical-align: initial;
}
.wycena-app .card-help::before {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: var(--white);
  font-size: .76rem;
  font-weight: 700;
  animation: wyc-pulseHelp 2.2s infinite;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(76,158,207,.3);
}
.wycena-app .card-help::after {
  content: "Zobacz wyjasnienie";
  font-size: .8rem;
  line-height: 1.2;
}
.wycena-app .card-help:hover {
  background: linear-gradient(135deg, rgba(76,158,207,.16), rgba(76,158,207,.08));
  border-color: var(--blue);
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}
.wycena-app .card-help.active {
  border-color: var(--blue);
  background: linear-gradient(135deg, rgba(76,158,207,.18), rgba(76,158,207,.09));
}
.wycena-app .card-help .tooltip-content {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px); left: 0; right: 0;
  min-width: 260px;
  padding: 14px 16px;
  background: var(--text);
  color: var(--white);
  border-radius: var(--radius-sm);
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
  box-shadow: 0 12px 32px rgba(0,0,0,.2);
  z-index: 100;
}
.wycena-app .card-help .tooltip-content a { color: var(--blue-light); }
.wycena-app .card-help.active .tooltip-content { display: block; animation: wyc-fadeIn .2s ease; }
@media (max-width: 640px) {
.wycena-app .option-card { padding-bottom: 52px !important; }
.wycena-app .card-help {
    left: 8px;
    right: 8px;
    bottom: 8px;
    width: auto;
    height: auto;
    min-height: 36px;
    padding: 6px 10px 6px 8px;
    margin-left: 0;
    font-size: 0;
  }
.wycena-app .card-help::after {
    content: "Wyjasnienie";
    font-size: .76rem;
  }
}
.wycena-app .chip-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.2);
  border-radius: 999px;
  cursor: pointer;
  font-size: .82rem;
  transition: var(--transition);
  user-select: none;
}
.wycena-app .chip-check input[type="checkbox"] { accent-color: var(--blue); cursor: pointer; }
.wycena-app .chip-check:hover { border-color: var(--blue); background: rgba(76,158,207,.04); }
.wycena-app .chip-check:has(input:checked) {
  background: var(--blue);
  color: var(--white);
  border-color: var(--blue);
}
.wycena-app .chip-check:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.wycena-app .subpage-types {
  margin-top: 16px;
  padding: 14px;
  background: rgba(76,158,207,.04);
  border-radius: var(--radius-sm);
}
.wycena-app .subpage-types__label {
  display: block;
  margin-bottom: 10px;
  font-size: .82rem;
  color: var(--gray-dark);
  font-weight: 600;
}
.wycena-app .subpage-types__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wycena-app .range-plus {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.wycena-app .range-plus label { font-size: .82rem; color: var(--gray-dark); }
.wycena-app .range-plus__input { max-width: 120px; padding: 8px 12px; font-size: .88rem; }
.wycena-app .lang-extras {
  margin-top: 12px;
  padding: 14px;
  background: rgba(76,158,207,.04);
  border-radius: var(--radius-sm);
  border: 1px dashed rgba(76,158,207,.2);
}
.wycena-app .lang-extras__label {
  display: block;
  margin-bottom: 10px;
  font-size: .82rem;
  color: var(--gray-dark);
  font-weight: 600;
}
.wycena-app .lang-extras__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wycena-app .hosting-list {
  margin-top: 14px;
  padding: 18px;
  background: rgba(76,158,207,.04);
  border-radius: var(--radius);
  border: 1px dashed rgba(76,158,207,.25);
}
.wycena-app .hosting-list__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(76,158,207,.12);
  flex-wrap: wrap;
  gap: 8px;
  font-size: .9rem;
}
.wycena-app .hosting-list__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 768px) {
.wycena-app .hosting-list__grid { grid-template-columns: repeat(2,1fr); }
}
.wycena-app .hosting-card {
  padding: 14px 16px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.15);
  border-radius: var(--radius-sm);
  transition: var(--transition);
}
.wycena-app .hosting-card--featured {
  border-color: rgba(76,158,207,.4);
  background: linear-gradient(135deg, var(--white), rgba(76,158,207,.04));
}
.wycena-app .hosting-card:hover { border-color: var(--blue); transform: translateY(-2px); }
.wycena-app .hosting-card__name {
  font-weight: 700;
  font-size: .95rem;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wycena-app .hosting-card__tag {
  display: inline-block;
  padding: 2px 8px;
  background: var(--blue);
  color: var(--white);
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.wycena-app .hosting-card__price { font-size: .85rem; color: var(--gray-dark); margin-bottom: 6px; }
.wycena-app .hosting-card__price strong { color: var(--text); }
.wycena-app .hosting-card__desc { font-size: .8rem; color: var(--gray-dark); margin-bottom: 10px; line-height: 1.5; }
.wycena-app .hosting-card__link { display: flex; gap: 6px; align-items: center; }
.wycena-app .form-input--copy {
  flex: 1;
  font-family: monospace;
  font-size: .78rem;
  padding: 8px 10px;
  background: var(--light);
  cursor: pointer;
}
.wycena-app .btn--sm { padding: 8px 14px; font-size: .78rem; }
.wycena-app .hosting-list__note {
  margin-top: 14px;
  padding: 10px 12px;
  background: rgba(34,197,94,.06);
  border-left: 3px solid var(--green);
  border-radius: var(--radius-sm);
  font-size: .8rem;
  color: var(--gray-dark);
  line-height: 1.55;
}
.wycena-app .addon-included {
  margin-bottom: 16px;
  padding: 14px 16px;
  background: rgba(34,197,94,.06);
  border: 1px solid rgba(34,197,94,.2);
  border-radius: var(--radius-sm);
}
.wycena-app .addon-included__header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  color: var(--text);
}
.wycena-app .addon-included__header svg { width: 20px; height: 20px; stroke: var(--green); flex-shrink: 0; }
.wycena-app .addon-included__text { margin: 6px 0 0 28px; font-size: .82rem; color: var(--gray-dark); }
.wycena-app .addon-included .help-text { display: block; margin-top: 6px; font-size: .82rem; color: var(--gray-dark); font-weight: 400; }
.wycena-app .addon-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  vertical-align: middle;
  letter-spacing: .02em;
}
.wycena-app .addon-badge--once { background: rgba(76,158,207,.12); color: var(--blue); }
.wycena-app .addon-badge--monthly { background: rgba(245,158,11,.12); color: #d97706; }
.wycena-app .process-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}
@media (max-width: 900px) {
.wycena-app .process-tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
.wycena-app .process-tiles { grid-template-columns: 1fr; }
}
.wycena-app .process-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px 18px;
  background: var(--surface);
  border: 2px solid var(--border);
  border-radius: 16px;
  cursor: pointer;
  transition: all .25s ease;
  text-align: center;
  font-family: inherit;
}
.wycena-app .process-tile:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.wycena-app .process-tile__icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(76,158,207,.12), rgba(76,158,207,.04));
  color: var(--accent);
  margin-bottom: 4px;
}
.wycena-app .process-tile__label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
}
.wycena-app .process-tile__hint {
  font-size: .78rem;
  color: var(--text-muted);
}
.wycena-app .process-tile--active {
  border-color: var(--accent);
  background: linear-gradient(135deg, rgba(76,158,207,.08), rgba(76,158,207,.02));
  box-shadow: 0 8px 24px rgba(76,158,207,.18);
}
.wycena-app .process-tile--active .process-tile__icon {
  background: var(--accent);
  color: #fff;
  animation: wyc-processPulse 2s ease-in-out infinite;
}
.wycena-app .process-tile--active::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 18px;
  height: 18px;
  background: inherit;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  background: var(--surface);
}
.wycena-app .process-tile--disabled {
  opacity: .55;
  cursor: pointer;
}
.wycena-app .process-tile--disabled:hover {
  opacity: .85;
  border-color: var(--border);
  transform: none;
  box-shadow: none;
}
.wycena-app .process-content { animation: wyc-fadeInProcess .35s ease; }
.wycena-app .process-soon {
  max-width: 600px;
  margin: 0 auto;
  padding: 48px 32px;
  text-align: center;
  background: linear-gradient(135deg, rgba(245,158,11,.06), rgba(245,158,11,.02));
  border: 2px dashed rgba(245,158,11,.35);
  border-radius: 16px;
}
.wycena-app .process-soon__icon {
  display: inline-grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 18px;
  background: rgba(245,158,11,.14);
  color: #d97706;
  margin-bottom: 16px;
}
.wycena-app .process-soon h4 { margin: 0 0 8px; font-size: 1.2rem; }
.wycena-app .process-soon p { margin: 0; color: var(--text-muted); }
.wycena-app .palette-block__info {
  margin: 0 0 12px;
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.5;
}
.wycena-app .btn-generator {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: linear-gradient(135deg, rgba(76,158,207,.08), rgba(134,92,204,.06));
  border: 2px solid rgba(76,158,207,.3);
  border-radius: 14px;
  text-decoration: none;
  color: var(--text);
  transition: all .25s ease;
  position: relative;
  overflow: hidden;
}
.wycena-app .btn-generator:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(76,158,207,.22);
}
.wycena-app .btn-generator::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform: translateX(-100%);
  transition: transform .6s ease;
}
.wycena-app .btn-generator:hover::before { transform: translateX(100%); }
.wycena-app .btn-generator__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--accent);
  color: #fff;
  flex-shrink: 0;
}
.wycena-app .btn-generator > span:nth-of-type(2) {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wycena-app .btn-generator strong { font-size: 1rem; font-weight: 700; }
.wycena-app .btn-generator small { font-size: .82rem; color: var(--text-muted); }
.wycena-app .btn-generator__arrow { color: var(--accent); flex-shrink: 0; }
.wycena-app .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 640px) {
.wycena-app .form-row { grid-template-columns: 1fr; gap: 0; }
}
.wycena-app #scrollTop {
  position: fixed; bottom: 84px; right: 20px; z-index: 997;
  width: 44px; height: 44px; border-radius: var(--radius);
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: translateY(8px);
  transition: opacity .3s, transform .3s;
  box-shadow: 0 4px 16px rgba(76,158,207,.35);
}
.wycena-app #scrollTop.visible { opacity: 1; transform: translateY(0); }
.wycena-app .hub-section { background: var(--light); }
.wycena-app .hub-links {
  display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 20px;
}
@media (min-width: 640px) {
.wycena-app .hub-links { grid-template-columns: repeat(2,1fr); }
}
.wycena-app .hub-link {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--white);
  border: 1px solid rgba(76,158,207,.12);
  border-radius: var(--radius);
  text-decoration: none; color: var(--text);
  transition: var(--transition);
}
.wycena-app .hub-link:hover { border-color: var(--blue); box-shadow: var(--shadow); color: var(--text); }
.wycena-app .hub-link__icon {
  width: 44px; height: 44px; border-radius: 10px;
  background: rgba(76,158,207,.1);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wycena-app .hub-link__icon svg { stroke: var(--blue); }
.wycena-app .hub-link__body { flex: 1; }
.wycena-app .hub-link__body strong { display: block; font-size: .92rem; margin-bottom: 2px; }
.wycena-app .hub-link__body span { font-size: .78rem; color: var(--gray-dark); }
.wycena-app .hub-link__arrow { flex-shrink: 0; color: var(--gray); transition: var(--transition); }
.wycena-app .hub-link:hover .hub-link__arrow { color: var(--blue); transform: translateX(3px); }
.wycena-app .hub-master-note {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px;
  background: rgba(76,158,207,.06);
  border: 1px solid rgba(76,158,207,.15);
  border-radius: var(--radius-sm);
  font-size: .88rem; color: var(--gray-dark); line-height: 1.5;
}
.wycena-app .hub-master-note svg { flex-shrink: 0; stroke: var(--blue); }
.wycena-app .step-microcopy {
  padding: 10px 14px;
  background: rgba(76,158,207,.05);
  border-left: 3px solid var(--blue);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: .88rem; color: var(--gray-dark); line-height: 1.55;
  margin-bottom: 20px;
}
.wycena-app .hosting-friendly {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 16px;
  background: rgba(34,197,94,.06);
  border: 1px solid rgba(34,197,94,.2);
  border-radius: var(--radius-sm);
}
.wycena-app .hosting-friendly svg { stroke: var(--green); flex-shrink: 0; margin-top: 2px; }
.wycena-app .hosting-friendly strong { display: block; color: var(--text); margin-bottom: 4px; }
.wycena-app .hosting-friendly p { font-size: .88rem; color: var(--gray-dark); line-height: 1.5; margin: 0; }
.wycena-app .upsell-banner {
  margin-top: 16px; padding: 14px 16px;
  background: linear-gradient(135deg, rgba(76,158,207,.08), rgba(76,158,207,.03));
  border: 1.5px solid rgba(76,158,207,.25);
  border-radius: var(--radius);
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.wycena-app .upsell-banner__icon {
  width: 40px; height: 40px; border-radius: 10px;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wycena-app .upsell-banner__icon svg { stroke: #fff; }
.wycena-app .upsell-banner__text { flex: 1; min-width: 160px; }
.wycena-app .upsell-banner__text strong { display: block; font-size: .92rem; color: var(--text); margin-bottom: 2px; }
.wycena-app .upsell-banner__text p { font-size: .82rem; color: var(--gray-dark); margin: 0; }
.wycena-app .upsell-banner__btn { flex-shrink: 0; }
.wycena-app .form-reassurance {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 14px;
  background: rgba(34,197,94,.06);
  border: 1px solid rgba(34,197,94,.18);
  border-radius: var(--radius-sm);
  font-size: .85rem; color: var(--gray-dark); line-height: 1.5;
  margin-bottom: 16px;
}
.wycena-app .form-reassurance svg { flex-shrink: 0; stroke: var(--green); margin-top: 1px; }
.wycena-app .optional-fields { margin-bottom: 20px; }
.wycena-app .optional-toggle {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px; width: 100%; text-align: left;
  background: rgba(76,158,207,.05);
  border: 1px solid rgba(76,158,207,.15);
  border-radius: var(--radius-sm);
  cursor: pointer; font-family: var(--font-body);
  font-size: .88rem; font-weight: 500; color: var(--blue);
  transition: var(--transition); margin-bottom: 0;
}
.wycena-app .optional-toggle:hover { background: rgba(76,158,207,.1); }
.wycena-app .optional-toggle svg { transition: transform .3s; flex-shrink: 0; }
.wycena-app .optional-toggle.is-open svg { transform: rotate(180deg); }
.wycena-app .optional-fields__body { display: none; padding-top: 12px; }
.wycena-app .optional-fields__body.is-open { display: block; }
.wycena-app .advanced-badge {
  display: inline-flex; align-items: center;
  margin-left: 8px; padding: 2px 8px;
  background: rgba(245,158,11,.1); color: #d97706;
  border-radius: 999px; font-size: .65rem; font-weight: 700;
  vertical-align: middle; letter-spacing: .02em;
}
@media (max-width: 639px) {
.wycena-app .step-nav {
    flex-direction: column-reverse;
    gap: 10px;
  }
.wycena-app .step-nav .btn {
    width: 100%;
    justify-content: center;
    min-width: unset;
  }
}
.wycena-app .scroll-top-bar {
  display: none; 
  width: 38px; height: 38px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  cursor: pointer;
  align-items: center; justify-content: center;
  color: rgba(255,255,255,.9);
  transition: var(--transition);
  flex-shrink: 0;
}
.wycena-app .scroll-top-bar:hover { background: rgba(255,255,255,.2); }
@media (min-width: 1024px) {
.wycena-app #scrollTop { bottom: 86px; }
.wycena-app .scroll-top-bar { display: flex; }
}
@media (max-width: 1023px) {
.wycena-app .scroll-top-bar { display: none !important; }
}
.wycena-app .hosting-promo-section {
  margin-top: 16px;
  border: 1px solid rgba(76,158,207,.18);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.wycena-app .hosting-promo-toggle {
  display: flex; align-items: center; gap: 8px;
  width: 100%; padding: 12px 14px;
  background: rgba(76,158,207,.05);
  border: none; cursor: pointer;
  font-family: var(--font-body); font-size: .88rem; font-weight: 600;
  color: var(--blue); text-align: left; transition: var(--transition);
}
.wycena-app .hosting-promo-toggle:hover { background: rgba(76,158,207,.1); }
.wycena-app .hosting-promo-toggle svg:last-child { transition: transform .3s; }
.wycena-app .hosting-promo-toggle.is-open svg:last-child { transform: rotate(180deg); }
.wycena-app .hosting-promo-body { display: none; padding: 14px; }
.wycena-app .hosting-promo-body.is-open { display: block; }
.wycena-app .hosting-promo-grid {
  display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 12px;
}
@media (min-width: 500px) {
.wycena-app .hosting-promo-grid { grid-template-columns: repeat(2,1fr); }
}
.wycena-app .hosting-promo-card {
  padding: 12px; border-radius: var(--radius-sm);
  border: 1px solid rgba(76,158,207,.1); background: var(--white);
}
.wycena-app .hosting-promo-card--featured { border-color: rgba(76,158,207,.25); }
.wycena-app .hpc-name { font-size: .88rem; font-weight: 700; color: var(--text); margin-bottom: 3px; }
.wycena-app .hpc-tag { display: inline-block; margin-left: 6px; padding: 1px 6px; font-size: .65rem; font-weight: 700; background: rgba(76,158,207,.12); color: var(--blue); border-radius: 999px; vertical-align: middle; }
.wycena-app .hpc-price { font-size: .82rem; color: var(--gray-dark); margin-bottom: 4px; }
.wycena-app .hpc-desc { font-size: .78rem; color: var(--gray-dark); line-height: 1.45; margin-bottom: 8px; }
.wycena-app .hpc-link { font-size: .78rem; padding: 5px 10px; }
.wycena-app .hosting-promo-note { font-size: .78rem; color: var(--gray-dark); margin: 0; padding-top: 4px; }

/* ===================== STANDALONE: nadpisania dla nowego kalkulatora (10 kategorii, layout pionowy) ===================== */
body{margin:0;background:var(--light);font-family:var(--font-body,'DM Sans',sans-serif);color:var(--text)}
.wycena-app{display:block;padding-bottom:120px}
.wycena-app .section{padding:40px 0}
.wycena-app .section--light{background:linear-gradient(180deg,rgba(76,158,207,.05),transparent)}
[hidden]{display:none!important}
/* kafle kategorii: 10 sztuk w maks 2 wierszach, bez poziomego scrolla */
.wycena-app .calc-tabs{flex-wrap:wrap;overflow:visible;justify-content:center}
.wycena-app .calc-tab{flex:0 1 158px;min-width:140px}
/* przyciski pomocnicze */
.wycena-app .btn-ghost{background:transparent;color:var(--blue);border:1px solid rgba(76,158,207,.32)}
.wycena-app .btn-soft{background:rgba(76,158,207,.1);color:var(--blue-dark)}
/* opcje stepBody: zawsze pełna szerokość (jeden wiersz na opcję) */
.wycena-app .addon-list{display:grid;gap:10px}
/* raport podsumowania */
.wycena-app .qs-group{margin-bottom:12px;padding:14px 16px;border:1px solid rgba(76,158,207,.16);border-radius:12px;background:rgba(244,246,249,.55)}
.wycena-app .qs-group--draft{border-style:dashed;background:rgba(76,158,207,.05)}
.wycena-app .qs-group__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.wycena-app .qs-group__head h4{margin:0;font-size:1rem;font-family:var(--font-heading,'Sora',sans-serif)}
.wycena-app .qs-group__head .qs-price{color:var(--blue);font-weight:700;white-space:nowrap}
.wycena-app .qs-remove{border:0;border-radius:99px;cursor:pointer;color:var(--red,#ef4444);background:rgba(239,68,68,.1);width:24px;height:24px;font-weight:900;margin-left:8px}
.wycena-app .pages-note{margin-top:10px;padding:10px 13px;border-radius:8px;background:rgba(76,158,207,.08);color:var(--gray-dark);font-size:.85rem}
.wycena-app .pages-note b{color:var(--text)}
html.dark .wycena-app .qs-group{background:rgba(255,255,255,.03)}

/* ===================== POPRAWKI 2 (układ jak /wycena/, mobile, ramki, animacje) ===================== */
/* kategorie: 5 w wierszu (desktop), 2 (mobile) */
.wycena-app .calc-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;overflow:visible}
.wycena-app .calc-tab{flex:none;min-width:0;padding:14px 8px}
@media(max-width:760px){.wycena-app .calc-tabs{grid-template-columns:repeat(2,1fr)}}

/* addon-card: BEZ akcentu border-left, wyraźniejsza pełna ramka */
.wycena-app .addon-card{border:1px solid rgba(76,158,207,.18);border-left-width:1px}
.wycena-app .addon-card:hover{border-color:rgba(76,158,207,.42);border-left-color:rgba(76,158,207,.42)}
.wycena-app .addon-card.selected{border:1.5px solid var(--blue);border-left-color:var(--blue);background:rgba(76,158,207,.06)}
.wycena-app .addon-card.is-locked{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.35)}
.wycena-app .addon-card.is-locked .addon-check{background:var(--green,#22c55e);border-color:var(--green,#22c55e)}
.wycena-app .addon-card.is-locked .addon-check svg{opacity:1}

/* podsumowanie jako pełnoszerokościowy price-summary (statyczny, nie sidebar) */
.wycena-app #summary .price-summary{position:static;width:100%;max-width:none;margin:0}
.wycena-app .price-summary__subtitle{margin:16px 0 6px;font-size:.95rem;color:var(--text)}
.wycena-app .price-summary__subtitle:first-child{margin-top:0}
.wycena-app .qs-remove{border:0;border-radius:99px;cursor:pointer;color:var(--red,#ef4444);background:rgba(239,68,68,.1);width:22px;height:22px;font-weight:900;margin-left:8px;line-height:1}
.wycena-app .pages-note{margin-top:10px;padding:10px 13px;border-radius:8px;background:rgba(76,158,207,.08);color:var(--gray-dark);font-size:.85rem}
.wycena-app .pages-note b{color:var(--text)}

/* animacja wejścia kroku/sekcji */
@keyframes wyc-stepIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.wycena-app .anim{animation:wyc-stepIn .34s ease}
@media(prefers-reduced-motion:reduce){.wycena-app .anim{animation:none}}

/* MOBILE: dopasowanie, mniej scrollowania, czytelność */
@media(max-width:760px){
  .wycena-app .section{padding:26px 0}
  .wycena-app .progress-bar{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;gap:6px;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .wycena-app .progress-step{flex:0 0 auto}
  .wycena-app .progress-step .step-label{font-size:.64rem}
  .wycena-app .step-dot{width:30px;height:30px;font-size:.8rem}
  .wycena-app .addon-card{padding:13px 14px;gap:11px;flex-wrap:wrap}
  .wycena-app .addon-info{flex:1 1 60%}
  .wycena-app .addon-price{margin-left:auto;font-size:.92rem}
  .wycena-app .addon-name{font-size:.92rem}
  .wycena-app .step-title{font-size:1.18rem}
  .wycena-app .tooltip-content{width:min(80vw,260px);left:auto;right:0;transform:none}
  .wycena-app .tooltip-content::after{display:none}
  .wycena-app .calc-tab{font-size:.8rem}
  .wycena-app .calc-tab svg{width:20px;height:20px}
  .wycena-app .step-nav{flex-wrap:wrap;gap:8px}
  .wycena-app .step-nav>div{display:flex;gap:8px;flex:1;justify-content:flex-end}
}
@media(max-width:760px){
  .wycena-app .sticky-price-bar__inner{flex-wrap:wrap;gap:8px;padding:9px 14px}
  .wycena-app .sticky-price-bar__info{display:none}
  .wycena-app .sticky-price-bar__cta{flex:1;justify-content:center}
}

/* ===================== POPRAWKI 3: globalny reset (brak app.css) + mobile overflow ===================== */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
.wycena-app img,.wycena-app svg{max-width:100%}
.wycena-app .container{width:100%}
/* nic nie wystaje poza ekran */
.wycena-app .addon-card,.wycena-app .calc-tab,.wycena-app .option-card,.wycena-app .summary-card,.wycena-app .price-summary,.wycena-app .range-group{max-width:100%}
.wycena-app .addon-name{overflow-wrap:anywhere}
/* licznik w pasku - delikatny puls przy zmianie */
.wycena-app .sticky-price-bar__price .price-amount{display:inline-block;transform-origin:left center}
@keyframes wyc-bump{0%{transform:scale(1)}38%{transform:scale(1.13)}100%{transform:scale(1)}}
.wycena-app .price-amount.bump{animation:wyc-bump .6s cubic-bezier(.34,1.56,.64,1)}
@media(max-width:760px){
  .wycena-app .summary-actions{flex-direction:column}
  .wycena-app .summary-actions .btn{width:100%;justify-content:center}
  .wycena-app .form-row{grid-template-columns:1fr}
}

/* ===================== POPRAWKI 4: sticky jasny tekst + reset ===================== */
.wycena-app .sticky-price-bar{color:#fff}
.wycena-app .sticky-price-bar__info{color:rgba(255,255,255,.85)}
.wycena-app .sticky-price-bar__price .price-text{color:rgba(255,255,255,.72)}
.wycena-app .sticky-price-bar__price .price-amount{color:#fff}
.wycena-app .sticky-reset{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:99px;padding:10px 16px;font-weight:700;font-size:.84rem;cursor:pointer;white-space:nowrap;transition:background .18s,border-color .18s}
.wycena-app .sticky-reset:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.6)}
.wycena-app .sticky-reset svg{stroke:#fff}
@media(max-width:760px){
  .wycena-app .sticky-reset{order:3;flex:1;justify-content:center}
  .wycena-app .sticky-price-bar__cta{order:4}
}

/* ===================== POPRAWKI 5: etykiety paska + mobile padding ===================== */
.wycena-app .sticky-price-bar__cta .cta-short{display:none}
@media(max-width:760px){
  .wycena-app .sticky-price-bar__cta .cta-full{display:none}
  .wycena-app .sticky-price-bar__cta .cta-short{display:inline}
  .wycena-app .sticky-reset .reset-label{display:none}
  .wycena-app .sticky-reset{padding:10px 12px;flex:0 0 auto;order:3}
  .wycena-app .sticky-price-bar__cta{order:4}
  .wycena-app .summary-card{padding:15px}
}

/* ===================== POPRAWKI 6: pływający step-nav dokujący nad paskiem wyceny ===================== */
.wycena-app .float-nav{position:fixed;left:0;right:0;bottom:0;z-index:19;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(30,42,58,.12);transform:translateY(135%);transition:transform .25s ease}
.wycena-app .float-nav.show{transform:translateY(0)}
.wycena-app .float-nav__inner{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;padding-bottom:10px}
.wycena-app .float-nav__right{display:flex;gap:8px}
.wycena-app .float-nav .btn{min-height:42px}
@media(max-width:760px){
  .wycena-app .float-nav__inner{padding-top:8px;padding-bottom:8px;gap:8px}
  .wycena-app .float-nav .btn{min-height:36px;padding:8px 13px;font-size:.82rem}
  .wycena-app .float-nav .btn-soft{display:none}      /* mobile: „Wyczyść" zbędne (jest reset w pasku) */
  .wycena-app .float-nav__right{gap:6px;flex:1;justify-content:flex-end}
}
@media(max-width:380px){.wycena-app .float-nav .btn{padding:8px 11px;font-size:.78rem}}

/* ===================== POPRAWKI 7: float-nav jedyną nawigacją (zawsze widoczny w konfiguratorze) ===================== */
.wycena-app #configurator{padding-bottom:130px}  /* treść nie chowa się za float-nav + paskiem wyceny */
@media(max-width:760px){.wycena-app #configurator{padding-bottom:120px}}

/* Puste kafelki do wlasnego wpisania (podstrony / dodatkowe jezyki) */
.wycena-app .custom-block { margin-top: 12px; }
.wycena-app .custom-block__label { font-size: .85rem; font-weight: 600; color: var(--text); margin-bottom: 8px; }
.wycena-app .custom-row { margin-bottom: 8px; }
.wycena-app .custom-row .form-input { width: 100%; }
.wycena-app .custom-more { margin-top: 4px; }
.wycena-app .custom-wrap { margin-top: 10px; }

/* Pola w jednym kroku (group - np. konfigurator logo) */
.wycena-app .group-field { margin-bottom: 22px; }
.wycena-app .group-field:last-child { margin-bottom: 0; }
.wycena-app .group-field__title { font-family: var(--font-heading); font-weight: 600; font-size: .98rem; margin-bottom: 10px; color: var(--text); }
/* Dopisek pod suwakiem liczbowym (progi/produkty) */
.wycena-app .num-note { margin-top: 10px; font-size: .85rem; color: var(--gray-dark); }
/* Podsumowanie: kropki od nazwy do ceny (latwiej powiazac pozycje z cena) */
.wycena-app .summary-line { display: flex; align-items: baseline; gap: 0; }
.wycena-app .summary-line .line-label { flex: 0 1 auto; }
.wycena-app .summary-line .line-dots { flex: 1 1 auto; min-width: 16px; margin: 0 6px; border-bottom: 1px dotted var(--gray); transform: translateY(-3px); opacity: .55; }
.wycena-app .summary-line .line-price { flex: 0 0 auto; white-space: nowrap; }
/* Stepper przewijany na boki + strzalki (duzo krokow) */
.wycena-app .stepper-wrap { position: relative; }
.wycena-app .stepper-wrap .progress-bar { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-behavior: smooth; -ms-overflow-style: none; scrollbar-width: none; }
.wycena-app .stepper-wrap .progress-bar::-webkit-scrollbar { display: none; }
.wycena-app .stepper-wrap .progress-step { flex: 0 0 auto; }
.wycena-app .stepper-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 6; width: 34px; height: 34px; border-radius: 50%; background: var(--white); border: 1px solid rgba(76,158,207,.35); color: var(--blue); display: none; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 12px rgba(30,42,58,.18); font-size: 1.3rem; line-height: 1; padding: 0; }
.wycena-app .stepper-nav:hover { background: var(--blue); color: #fff; }
.wycena-app .stepper-nav--prev { left: -8px; }
.wycena-app .stepper-nav--next { right: -8px; }
.wycena-app .stepper-wrap.has-prev .stepper-nav--prev { display: flex; }
.wycena-app .stepper-wrap.has-next .stepper-nav--next { display: flex; }
