{"id":1213,"date":"2026-04-29T15:29:12","date_gmt":"2026-04-29T15:29:12","guid":{"rendered":"https:\/\/www.lisboacard.com\/?page_id=1213"},"modified":"2026-04-29T15:29:21","modified_gmt":"2026-04-29T15:29:21","slug":"ersparnisrechner","status":"publish","type":"page","link":"https:\/\/www.lisboacard.com\/de\/ersparnisrechner\/","title":{"rendered":"Ersparnisrechner"},"content":{"rendered":"\n<!--\n  =====================================================\n  LISBOA CARD \u2013 INTERAKTIVER ERSPARNIS-RECHNER\n  Einbinden als Custom HTML Block in WordPress\n  =====================================================\n-->\n\n<style>\n\/* \u2500\u2500\u2500 VARIABLEN \u2500\u2500\u2500 *\/\n:root {\n  --red:      #ef4a37;\n  --red-dk:   #c93a28;\n  --blue:     #57b1e3;\n  --blue-dk:  #3a90c4;\n  --blue-lt:  #eaf4fb;\n  --dark:     #222222;\n  --mid:      #555;\n  --muted:    #888;\n  --border:   #e2e2e2;\n  --bg:       #f8f8f8;\n  --white:    #ffffff;\n  --green:    #2e7d32;\n  --green-lt: #e8f5e9;\n  --sans:     -apple-system, system-ui, \"Segoe UI\", Helvetica, Arial, sans-serif;\n}\n\n.lc-calc-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n\n.lc-calc-wrap {\n  font-family: var(--sans);\n  color: var(--dark);\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n\/* \u2500\u2500 \u00dcBERSCHRIFT (Stil der Website) \u2500\u2500 *\/\n.lc-calc-heading {\n  background: var(--blue);\n  color: #fff;\n  font-size: 32px;\n  font-weight: 400;\n  text-transform: uppercase;\n  padding: 14px 20px;\n  margin-bottom: 8px;\n  letter-spacing: normal;\n  line-height: 1.2;\n}\n.lc-calc-sub {\n  font-size: 15px;\n  color: var(--mid);\n  margin-bottom: 24px;\n  padding: 0 2px;\n}\n\n\/* \u2500\u2500 KARTENDAUER-AUSWAHL \u2500\u2500 *\/\n.lc-duration-row {\n  display: flex;\n  gap: 10px;\n  margin-bottom: 24px;\n  flex-wrap: wrap;\n}\n.lc-duration-btn {\n  flex: 1;\n  min-width: 140px;\n  background: var(--white);\n  border: 2px solid var(--border);\n  border-radius: 8px;\n  padding: 14px 12px;\n  cursor: pointer;\n  text-align: center;\n  transition: border-color 0.15s, background 0.15s, transform 0.1s;\n  position: relative;\n}\n.lc-duration-btn:hover { border-color: var(--blue); background: var(--blue-lt); }\n.lc-duration-btn.active {\n  border-color: var(--blue);\n  background: var(--blue-lt);\n  box-shadow: 0 2px 10px rgba(87,177,227,0.2);\n}\n.lc-duration-btn.active::after {\n  content: '\u2713';\n  position: absolute;\n  top: 8px; right: 10px;\n  font-size: 12px;\n  font-weight: 700;\n  color: var(--blue);\n}\n.lc-dur-label {\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--muted);\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n  margin-bottom: 4px;\n}\n.lc-dur-price {\n  font-size: 26px;\n  font-weight: 700;\n  color: var(--dark);\n  line-height: 1;\n  margin-bottom: 4px;\n}\n.lc-dur-price span { font-size: 15px; font-weight: 400; color: var(--muted); }\n.lc-dur-hint {\n  font-size: 11px;\n  color: var(--muted);\n  line-height: 1.3;\n}\n.lc-dur-popular {\n  display: inline-block;\n  background: var(--red);\n  color: #fff;\n  font-size: 10px;\n  font-weight: 700;\n  letter-spacing: 0.5px;\n  text-transform: uppercase;\n  padding: 2px 7px;\n  border-radius: 20px;\n  margin-top: 5px;\n}\n\n\/* \u2500\u2500 HAUPT-LAYOUT \u2500\u2500 *\/\n.lc-calc-body {\n  display: grid;\n  grid-template-columns: 1fr 300px;\n  gap: 20px;\n  align-items: start;\n}\n\n\/* \u2500\u2500 ATTRAKTIONSLISTE \u2500\u2500 *\/\n.lc-attractions-panel {\n  background: var(--white);\n  border: 1.5px solid var(--border);\n  border-radius: 10px;\n  overflow: hidden;\n}\n.lc-attractions-header {\n  background: var(--dark);\n  color: #fff;\n  padding: 12px 18px;\n  font-size: 12px;\n  font-weight: 600;\n  letter-spacing: 0.8px;\n  text-transform: uppercase;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.lc-select-hint { font-weight: 400; opacity: 0.65; font-size: 11px; }\n\n.lc-attraction-list { padding: 8px 0; }\n\n.lc-attraction-item {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 10px 18px;\n  cursor: pointer;\n  transition: background 0.12s;\n  border-bottom: 1px solid #f5f5f5;\n  user-select: none;\n}\n.lc-attraction-item:last-child { border-bottom: none; }\n.lc-attraction-item:hover { background: var(--bg); }\n.lc-attraction-item.selected { background: var(--blue-lt); }\n\n\/* Custom Checkbox *\/\n.lc-checkbox {\n  width: 20px;\n  height: 20px;\n  border-radius: 5px;\n  border: 2px solid var(--border);\n  flex-shrink: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: border-color 0.12s, background 0.12s;\n  background: var(--white);\n}\n.lc-attraction-item.selected .lc-checkbox {\n  border-color: var(--blue);\n  background: var(--blue);\n}\n.lc-checkbox svg {\n  width: 12px; height: 12px;\n  opacity: 0;\n  transition: opacity 0.12s;\n}\n.lc-attraction-item.selected .lc-checkbox svg { opacity: 1; }\n\n.lc-attr-name {\n  flex: 1;\n  font-size: 14px;\n  color: var(--dark);\n  line-height: 1.3;\n}\n.lc-attr-price {\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--mid);\n  white-space: nowrap;\n}\n.lc-attraction-item.selected .lc-attr-price {\n  color: var(--blue-dk);\n  text-decoration: line-through;\n}\n\n\/* Hinweis unten *\/\n.lc-more-hint {\n  padding: 12px 18px;\n  background: var(--bg);\n  border-top: 1px solid var(--border);\n  font-size: 12px;\n  color: var(--muted);\n  display: flex;\n  align-items: center;\n  gap: 7px;\n}\n\n\/* \u2500\u2500 ERGEBNIS-PANEL \u2500\u2500 *\/\n.lc-result-panel {\n  position: sticky;\n  top: 20px;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n\n.lc-result-card {\n  background: var(--white);\n  border: 1.5px solid var(--border);\n  border-radius: 10px;\n  overflow: hidden;\n}\n\n.lc-result-header {\n  background: var(--blue);\n  color: #fff;\n  padding: 12px 18px;\n  font-size: 12px;\n  font-weight: 600;\n  letter-spacing: 0.8px;\n  text-transform: uppercase;\n}\n\n.lc-result-body { padding: 16px 18px; }\n\n.lc-result-line {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 13px;\n  color: var(--mid);\n  padding: 6px 0;\n  border-bottom: 1px dashed #f0f0f0;\n  gap: 8px;\n}\n.lc-result-line:last-of-type { border-bottom: none; }\n.lc-result-line .name { flex: 1; }\n.lc-result-line .amount { font-weight: 600; color: var(--dark); white-space: nowrap; }\n.lc-result-line.opnv { color: var(--muted); font-size: 12px; }\n.lc-result-line.opnv .amount { color: var(--muted); }\n\n.lc-result-divider {\n  height: 1.5px;\n  background: var(--border);\n  margin: 10px 0;\n}\n\n.lc-result-total-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: baseline;\n  margin-bottom: 6px;\n}\n.lc-result-total-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--muted); }\n.lc-result-total-amount { font-size: 24px; font-weight: 700; color: var(--dark); }\n\n.lc-card-price-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: baseline;\n  margin-bottom: 12px;\n}\n.lc-card-price-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--muted); }\n.lc-card-price-amount { font-size: 24px; font-weight: 700; color: var(--blue); }\n\n\/* Ersparnis-Box *\/\n.lc-savings-box {\n  background: var(--green-lt);\n  border: 1.5px solid #a5d6a7;\n  border-radius: 8px;\n  padding: 14px 16px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 14px;\n  transition: all 0.3s ease;\n}\n.lc-savings-box.negative {\n  background: #fff3f2;\n  border-color: #ffcdd2;\n}\n.lc-savings-label { font-size: 13px; font-weight: 600; color: var(--green); }\n.lc-savings-box.negative .lc-savings-label { color: var(--red); }\n.lc-savings-amount {\n  font-size: 32px;\n  font-weight: 700;\n  color: var(--green);\n  line-height: 1;\n  transition: all 0.3s ease;\n}\n.lc-savings-box.negative .lc-savings-amount { color: var(--red); }\n.lc-savings-amount span { font-size: 16px; font-weight: 400; }\n\n\/* Empty state *\/\n.lc-empty-state {\n  text-align: center;\n  padding: 28px 16px;\n  color: var(--muted);\n  font-size: 13px;\n  line-height: 1.6;\n}\n.lc-empty-icon { font-size: 32px; margin-bottom: 10px; }\n\n\/* CTA *\/\n.lc-result-cta {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  background: var(--red);\n  color: #fff !important;\n  text-decoration: none !important;\n  font-size: 14px;\n  font-weight: 700;\n  padding: 14px 16px;\n  border-radius: 5px;\n  text-align: center;\n  transition: background 0.2s, transform 0.1s;\n  font-family: var(--sans);\n  border: none;\n  cursor: pointer;\n  width: 100%;\n}\n.lc-result-cta:hover { background: var(--red-dk) !important; transform: translateY(-1px); }\n.lc-result-cta:visited, .lc-result-cta:active { color: #fff !important; }\n.lc-result-cta:disabled, .lc-result-cta.disabled {\n  background: #ccc !important;\n  cursor: not-allowed;\n  transform: none;\n}\n\n.lc-cta-sub {\n  text-align: center;\n  font-size: 11px;\n  color: var(--muted);\n  margin-top: 6px;\n}\n\n\/* Info-Hinweis *\/\n.lc-info-box {\n  background: var(--blue-lt);\n  border: 1px solid #c8e5f5;\n  border-radius: 8px;\n  padding: 12px 14px;\n  font-size: 12px;\n  color: var(--mid);\n  line-height: 1.5;\n  display: flex;\n  gap: 9px;\n  align-items: flex-start;\n}\n.lc-info-box svg { flex-shrink: 0; margin-top: 1px; }\n\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n@media (max-width: 680px) {\n  .lc-calc-body {\n    grid-template-columns: 1fr;\n  }\n  .lc-result-panel { position: static; }\n  .lc-calc-heading { font-size: 22px; padding: 12px 16px; }\n  .lc-duration-btn { min-width: 100px; }\n  .lc-dur-price { font-size: 22px; }\n}\n<\/style>\n\n<div class=\"lc-calc-wrap\">\n\n  <h2 class=\"lc-calc-heading\">Lisboa Card: Dein pers\u00f6nlicher Ersparnis-Rechner<\/h2>\n  <p class=\"lc-calc-sub\">W\u00e4hle die Attraktionen, die du besuchen m\u00f6chtest \u2013 und sieh sofort, wie viel du mit der Lisboa Card sparst.<\/p>\n\n  <!-- Kartendauer -->\n  <div class=\"lc-duration-row\" id=\"lc-duration-row\">\n    <div class=\"lc-duration-btn\" data-days=\"1\" data-price=\"31\" data-opnv=\"7.35\" onclick=\"lcSetDuration(this)\">\n      <div class=\"lc-dur-label\">24 Stunden<\/div>\n      <div class=\"lc-dur-price\">31 <span>\u20ac<\/span><\/div>\n      <div class=\"lc-dur-hint\">1 Tag \u00b7 \u00d6PNV inklusive<\/div>\n    <\/div>\n    <div class=\"lc-duration-btn active\" data-days=\"2\" data-price=\"51\" data-opnv=\"14.70\" onclick=\"lcSetDuration(this)\">\n      <div class=\"lc-dur-label\">48 Stunden<\/div>\n      <div class=\"lc-dur-price\">51 <span>\u20ac<\/span><\/div>\n      <div class=\"lc-dur-hint\">2 Tage \u00b7 \u00d6PNV inklusive<\/div>\n      <div><span class=\"lc-dur-popular\">Meistgew\u00e4hlt<\/span><\/div>\n    <\/div>\n    <div class=\"lc-duration-btn\" data-days=\"3\" data-price=\"62\" data-opnv=\"22.05\" onclick=\"lcSetDuration(this)\">\n      <div class=\"lc-dur-label\">72 Stunden<\/div>\n      <div class=\"lc-dur-price\">62 <span>\u20ac<\/span><\/div>\n      <div class=\"lc-dur-hint\">3 Tage \u00b7 \u00d6PNV inklusive<\/div>\n    <\/div>\n  <\/div>\n\n  <!-- Haupt-Layout -->\n  <div class=\"lc-calc-body\">\n\n    <!-- Attraktionsliste -->\n    <div class=\"lc-attractions-panel\">\n      <div class=\"lc-attractions-header\">\n        <span>Attraktionen ausw\u00e4hlen<\/span>\n        <span class=\"lc-select-hint\" id=\"lc-selected-count\">0 ausgew\u00e4hlt<\/span>\n      <\/div>\n      <div class=\"lc-attraction-list\" id=\"lc-attraction-list\">\n        <!-- Wird per JS bef\u00fcllt -->\n      <\/div>\n      <div class=\"lc-more-hint\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#57b1e3\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n        Insgesamt sind 52+ Attraktionen und Museen inklusive \u2013 je mehr du besuchst, desto mehr sparst du.\n      <\/div>\n    <\/div>\n\n    <!-- Ergebnis -->\n    <div class=\"lc-result-panel\">\n\n      <div class=\"lc-result-card\">\n        <div class=\"lc-result-header\">Deine Ersparnis<\/div>\n        <div class=\"lc-result-body\" id=\"lc-result-body\">\n          <div class=\"lc-empty-state\" id=\"lc-empty-state\">\n            <div class=\"lc-empty-icon\">\ud83d\udc46<\/div>\n            W\u00e4hle Attraktionen aus, um deine pers\u00f6nliche Ersparnis zu berechnen.\n          <\/div>\n          <div id=\"lc-result-detail\" style=\"display:none\">\n            <div class=\"lc-result-line opnv\">\n              <span class=\"name\" id=\"lc-opnv-label\">\u00d6PNV (2 Tage)<\/span>\n              <span class=\"amount\" id=\"lc-opnv-amount\">14,70 \u20ac<\/span>\n            <\/div>\n            <div id=\"lc-selected-lines\"><\/div>\n            <div class=\"lc-result-divider\"><\/div>\n            <div class=\"lc-result-total-row\">\n              <span class=\"lc-result-total-label\">Einzelpreis gesamt<\/span>\n              <span class=\"lc-result-total-amount\" id=\"lc-total-single\">0,00 \u20ac<\/span>\n            <\/div>\n            <div class=\"lc-card-price-row\">\n              <span class=\"lc-card-price-label\" id=\"lc-card-label\">Lisboa Card 48h<\/span>\n              <span class=\"lc-card-price-amount\" id=\"lc-card-price\">51,00 \u20ac<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Ersparnis-Box -->\n      <div class=\"lc-savings-box\" id=\"lc-savings-box\" style=\"display:none\">\n        <span class=\"lc-savings-label\" id=\"lc-savings-label\">Du sparst<\/span>\n        <span class=\"lc-savings-amount\" id=\"lc-savings-amount\">0 <span>\u20ac<\/span><\/span>\n      <\/div>\n\n      <!-- CTA -->\n      <a href=\"https:\/\/www.tiqets.com\/de\/checkout\/tickets-fur-lissabon-card-51-attraktionen-opnv-p974847\/booking_details\/?partner=lisboacardcom&#038;tq_campaign=savings_calculator\"\n         id=\"lc-cta-btn\"\n         class=\"lc-result-cta disabled\"\n         target=\"_blank\" rel=\"noopener\">\n        Jetzt buchen \u2013 ab 31 \u20ac\n      <\/a>\n      <div class=\"lc-cta-sub\">Sichere Buchung \u00fcber Tiqets.com<\/div>\n\n      <!-- Info -->\n      <div class=\"lc-info-box\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#57b1e3\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n        Der \u00d6PNV-Preis (7,35 \u20ac pro Tag) entspricht dem aktuellen Tageskarten-Preis in Lissabon und ist in der Lisboa Card unbegrenzt inklusive.\n      <\/div>\n\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<script>\n(function() {\n\n  \/\/ \u2500\u2500 DATEN \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  const ATTRACTIONS = [\n    { name: \"Mosteiro dos Jer\u00f3nimos\",        price: 18.00 },\n    { name: \"Castelo de S\u00e3o Jorge\",         price: 17.00 },\n    { name: \"Torre de Bel\u00e9m\",               price: 15.00 },\n    { name: \"Pal\u00e1cio Nacional da Ajuda\",    price: 15.00 },\n    { name: \"Museu Nacional dos Coches\",    price: 15.00 },\n    { name: \"Convento de Cristo\",           price: 15.00 },\n    { name: \"Pal\u00e1cio Nacional de Mafra\",    price: 15.00 },\n    { name: \"Pante\u00e3o Nacional\",             price: 10.00 },\n    { name: \"Museu do Chiado\",              price: 10.00 },\n    { name: \"Museu do Tesouro Real\",        price: 11.00 },\n    { name: \"Lisboa Story Centre\",          price:  7.50 },\n    { name: \"Experi\u00eancia Pilar 7\",          price:  5.50 },\n    { name: \"Monumento dos Descobrimentos\", price:  5.00 },\n    { name: \"Museu do Fado\",                price:  5.00 },\n    { name: \"Arco da Rua Augusta\",          price:  4.50 },\n  ];\n\n  const CARDS = {\n    1: { label: \"Lisboa Card 24h\", price: 31.00, days: 1, opnv: 7.35  },\n    2: { label: \"Lisboa Card 48h\", price: 51.00, days: 2, opnv: 14.70 },\n    3: { label: \"Lisboa Card 72h\", price: 62.00, days: 3, opnv: 22.05 },\n  };\n\n  \/\/ \u2500\u2500 STATE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  let selectedDays = 2;\n  let selectedAttractions = new Set();\n\n  \/\/ \u2500\u2500 INIT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function init() {\n    const list = document.getElementById('lc-attraction-list');\n    ATTRACTIONS.forEach((attr, i) => {\n      const item = document.createElement('div');\n      item.className = 'lc-attraction-item';\n      item.dataset.index = i;\n      item.innerHTML = `\n        <div class=\"lc-checkbox\">\n          <svg viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\">\n            <polyline points=\"1.5,6 4.5,9 10.5,3\"\/>\n          <\/svg>\n        <\/div>\n        <span class=\"lc-attr-name\">${attr.name}<\/span>\n        <span class=\"lc-attr-price\">${fmt(attr.price)}<\/span>\n      `;\n      item.addEventListener('click', () => toggleAttraction(i, item));\n      list.appendChild(item);\n    });\n    updateResult();\n  }\n\n  \/\/ \u2500\u2500 TOGGLE ATTRAKTION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function toggleAttraction(index, el) {\n    if (selectedAttractions.has(index)) {\n      selectedAttractions.delete(index);\n      el.classList.remove('selected');\n    } else {\n      selectedAttractions.add(index);\n      el.classList.add('selected');\n    }\n    updateResult();\n  }\n\n  \/\/ \u2500\u2500 DAUER SETZEN \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.lcSetDuration = function(btn) {\n    document.querySelectorAll('.lc-duration-btn').forEach(b => b.classList.remove('active'));\n    btn.classList.add('active');\n    selectedDays = parseInt(btn.dataset.days);\n    updateResult();\n  };\n\n  \/\/ \u2500\u2500 ERGEBNIS BERECHNEN \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function updateResult() {\n    const card = CARDS[selectedDays];\n    const count = selectedAttractions.size;\n\n    \/\/ Z\u00e4hler\n    document.getElementById('lc-selected-count').textContent =\n      count === 0 ? '0 ausgew\u00e4hlt' :\n      count === 1 ? '1 ausgew\u00e4hlt' : `${count} ausgew\u00e4hlt`;\n\n    \/\/ CTA-Text aktualisieren\n    const cta = document.getElementById('lc-cta-btn');\n    cta.textContent = `Jetzt buchen \u2013 ${card.label} f\u00fcr ${fmt(card.price)}`;\n\n    \/\/ \u00d6PNV-Labels\n    document.getElementById('lc-opnv-label').textContent =\n      `\u00d6PNV (${card.days} ${card.days === 1 ? 'Tag' : 'Tage'})`;\n    document.getElementById('lc-opnv-amount').textContent = fmt(card.opnv);\n    document.getElementById('lc-card-label').textContent = card.label;\n    document.getElementById('lc-card-price').textContent = fmt(card.price);\n\n    if (count === 0) {\n      document.getElementById('lc-empty-state').style.display = '';\n      document.getElementById('lc-result-detail').style.display = 'none';\n      document.getElementById('lc-savings-box').style.display = 'none';\n      cta.classList.add('disabled');\n      return;\n    }\n\n    \/\/ Detail anzeigen\n    document.getElementById('lc-empty-state').style.display = 'none';\n    document.getElementById('lc-result-detail').style.display = '';\n    document.getElementById('lc-savings-box').style.display = 'flex';\n    cta.classList.remove('disabled');\n\n    \/\/ Ausgew\u00e4hlte Attraktionen auflisten\n    const linesEl = document.getElementById('lc-selected-lines');\n    linesEl.innerHTML = '';\n    let attrSum = 0;\n    selectedAttractions.forEach(i => {\n      const a = ATTRACTIONS[i];\n      attrSum += a.price;\n      const line = document.createElement('div');\n      line.className = 'lc-result-line';\n      line.innerHTML = `<span class=\"name\">${a.name}<\/span><span class=\"amount\">${fmt(a.price)}<\/span>`;\n      linesEl.appendChild(line);\n    });\n\n    const totalSingle = attrSum + card.opnv;\n    const savings = totalSingle - card.price;\n\n    document.getElementById('lc-total-single').textContent = fmt(totalSingle);\n\n    \/\/ Ersparnis-Box\n    const savingsBox = document.getElementById('lc-savings-box');\n    const savingsAmountEl = document.getElementById('lc-savings-amount');\n    const savingsLabel = document.getElementById('lc-savings-label');\n\n    if (savings > 0) {\n      savingsBox.classList.remove('negative');\n      savingsLabel.textContent = 'Du sparst';\n      savingsAmountEl.innerHTML = `${fmt(savings)} <span>\u20ac<\/span>`;\n      savingsAmountEl.style.color = 'var(--green)';\n    } else {\n      savingsBox.classList.add('negative');\n      savingsLabel.textContent = 'Noch kein Vorteil';\n      savingsAmountEl.innerHTML = `${fmt(Math.abs(savings))} <span>\u20ac mehr<\/span>`;\n    }\n  }\n\n  \/\/ \u2500\u2500 HILFSFUNKTION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function fmt(val) {\n    return val.toFixed(2).replace('.', ',') + ' \u20ac';\n  }\n\n  \/\/ Start\n  init();\n\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Lisboa Card: Dein pers\u00f6nlicher Ersparnis-Rechner W\u00e4hle die Attraktionen, die du besuchen m\u00f6chtest \u2013 und sieh sofort, wie viel du mit der Lisboa Card sparst. 24 Stunden 31 \u20ac 1 Tag \u00b7 \u00d6PNV inklusive 48 Stunden 51 \u20ac 2 Tage \u00b7 \u00d6PNV inklusive Meistgew\u00e4hlt 72 Stunden 62 \u20ac 3 Tage \u00b7 \u00d6PNV inklusive Attraktionen ausw\u00e4hlen 0 &#8230; <a title=\"Ersparnisrechner\" class=\"read-more\" href=\"https:\/\/www.lisboacard.com\/de\/ersparnisrechner\/\" aria-label=\"Mehr Informationen \u00fcber Ersparnisrechner\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1213","page","type-page","status-publish"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/pages\/1213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/comments?post=1213"}],"version-history":[{"count":1,"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/pages\/1213\/revisions"}],"predecessor-version":[{"id":1214,"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/pages\/1213\/revisions\/1214"}],"wp:attachment":[{"href":"https:\/\/www.lisboacard.com\/de\/wp-json\/wp\/v2\/media?parent=1213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}