/* Simulare de pret (calculator) - culorile si fonturile noului design */
.rofu-calc-fab {
  position: fixed; right: 24px; bottom: 24px; z-index: 900;
  display: inline-flex; align-items: center; gap: 10px;
  height: 52px; padding: 0 22px;
  border: 0; border-radius: 26px; cursor: pointer;
  background: linear-gradient(90deg, #ef4023, #f9ac1a);
  color: #fff; font: 600 15px/1 var(--font-poppins), "Poppins", sans-serif;
  box-shadow: 0 8px 24px rgba(0, 2, 43, .25);
  transition: transform .15s ease, box-shadow .15s ease;
}
.rofu-calc-fab:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 2, 43, .3); }
.rofu-calc-fab:focus-visible { outline: 3px solid #00022b; outline-offset: 3px; }

.rofu-calc[hidden] { display: none; }
.rofu-calc {
  position: fixed; inset: 0; z-index: 9500;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 32px 16px; overflow-y: auto;
  background: rgba(0, 2, 43, .6);
  font-family: var(--font-open-sans), "Open Sans", sans-serif; color: #2b2e3f;
}
body.rofu-calc-lock { overflow: hidden; }
.rofu-calc__panel {
  position: relative; box-sizing: border-box;
  width: 100%; max-width: 760px; margin: auto;
  padding: 40px; background: #fff; border-radius: 16px; outline: 0;
  box-shadow: 0 24px 64px rgba(0, 2, 43, .35);
}
.rofu-calc__close {
  position: absolute; top: 14px; right: 16px; width: 40px; height: 40px;
  border: 0; border-radius: 50%; background: #f4f7fb; color: #00022b;
  font-size: 26px; line-height: 1; cursor: pointer;
}
.rofu-calc__close:hover { background: #e1e5ea; }
.rofu-calc__head h2 {
  margin: 0 40px 8px 0; color: #00022b;
  font: 700 28px/1.25 var(--font-poppins), "Poppins", sans-serif;
}
.rofu-calc__badge { margin: 0 0 24px; color: #bb5700; font-size: 14px; font-weight: 600; }
.rofu-calc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rofu-calc__field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: #00022b; }
.rofu-calc__field small { color: #6b7080; font-weight: 400; font-size: 12px; }
.rofu-calc__field input, .rofu-calc__field select.rofu-select {
  box-sizing: border-box; width: 100%; max-width: none; height: 55px; min-height: 55px;
  padding: 0 16px; background-color: #f4f7fb; border: 1px solid #e1e5ea; border-radius: 8px;
  color: #00022b; font: 600 15px/19px var(--font-open-sans), "Open Sans", sans-serif; outline: 0;
}
.rofu-calc__field select.rofu-select { padding-right: 44px; }
.rofu-calc__field input:focus, .rofu-calc__field select:focus { border-color: #ef4023; }

.rofu-calc__result { margin-top: 28px; padding: 24px; background: #f4f7fb; border-radius: 12px; }
.rofu-calc__result h3 { margin: 0 0 16px; color: #00022b; font: 600 18px/1.3 var(--font-poppins), "Poppins", sans-serif; }
.rofu-calc__tier { display: inline-block; margin-left: 8px; padding: 3px 10px; border-radius: 12px; background: #fff; border: 1px solid #e1e5ea; color: #bb5700; font: 600 12px/1.4 var(--font-open-sans), sans-serif; vertical-align: middle; }
.rofu-calc__tier[hidden] { display: none; }
.rofu-calc__lines { margin: 0; }
.rofu-calc__lines > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: 15px; }
.rofu-calc__lines dt { margin: 0; }
.rofu-calc__lines dt small { color: #6b7080; font-size: 13px; }
.rofu-calc__lines dd { margin: 0; font-weight: 600; white-space: nowrap; }
.rofu-calc__sep { margin-top: 6px; border-top: 1px solid #e1e5ea; padding-top: 14px !important; }
.rofu-calc__total { margin-top: 6px; border-top: 2px solid #00022b; padding-top: 14px !important; color: #00022b; font-size: 18px !important; font-weight: 700; }
.rofu-calc__total dd { font-size: 22px; color: #ef4023; }
.rofu-calc__info { margin: 14px 0 0; color: #6b7080; font-size: 13px; }
.rofu-calc__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.rofu-calc__btn {
  height: 44px; padding: 0 18px; border: 1px solid #00022b; border-radius: 8px; cursor: pointer;
  background: #fff; color: #00022b; font: 600 14px/1 var(--font-poppins), "Poppins", sans-serif;
}
.rofu-calc__btn:hover { background: #00022b; color: #fff; }
.rofu-calc__btn--primary { border-color: transparent; background: linear-gradient(90deg, #ef4023, #f9ac1a); color: #fff; }
.rofu-calc__btn--primary:hover { background: linear-gradient(90deg, #d4371c, #e39a10); }
.rofu-calc__rules { margin-top: 24px; font-size: 14px; }
.rofu-calc__rules h4 { margin: 0 0 8px; color: #00022b; font: 600 15px/1.3 var(--font-poppins), "Poppins", sans-serif; }
.rofu-calc__rules ul { margin: 0; padding-left: 20px; }
.rofu-calc__rules li { margin: 4px 0; }

@media (max-width: 768px) {
  .rofu-calc { padding: 0; }
  .rofu-calc__panel { min-height: 100%; border-radius: 0; padding: 28px 20px; }
  .rofu-calc__grid { grid-template-columns: 1fr; }
  .rofu-calc__head h2 { font-size: 22px; }
  .rofu-calc__lines > div { flex-wrap: wrap; }
  .rofu-calc__btn { width: 100%; }
  .rofu-calc-fab { right: 16px; bottom: 16px; height: 48px; padding: 0 18px; }
}
@media print {
  header[data-site-header], main, footer, .rofu-calc-fab, .rofu-calc__close, .rofu-calc__actions, .rofu-calc__badge, .rofu-calc__rules, section[data-rofu-modal] { display: none !important; }
  body.rofu-calc-lock { overflow: visible; }
  .rofu-calc { position: static; display: block; padding: 0; background: #fff; overflow: visible; }
  .rofu-calc[hidden] { display: none !important; }
  .rofu-calc__panel { box-shadow: none; padding: 0; max-width: none; }
}
