{"id":1466,"date":"2025-11-17T18:09:00","date_gmt":"2025-11-17T18:09:00","guid":{"rendered":"https:\/\/folienelf.ch\/?page_id=1466"},"modified":"2026-05-28T13:01:12","modified_gmt":"2026-05-28T13:01:12","slug":"milchglasfolierung","status":"publish","type":"page","link":"https:\/\/folienelf.ch\/en\/milchglasfolierung\/","title":{"rendered":"Frosted glass foil"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1466\" class=\"elementor elementor-1466\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6073c13 e-con-full e-flex e-con e-parent\" data-id=\"6073c13\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-55ee2cb e-con-full e-flex e-con e-child\" data-id=\"55ee2cb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:1468,&quot;url&quot;:&quot;https:\\\/\\\/folienelf.ch\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Milchglasfolierung.webp&quot;}],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-292e842 elementor-widget elementor-widget-heading\" data-id=\"292e842\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Milchglasfolierung<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bbefe78 elementor-widget elementor-widget-heading\" data-id=\"bbefe78\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Dezent. Funktional. Sch\u00f6n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e7e4345 e-flex e-con-boxed e-con e-parent\" data-id=\"e7e4345\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3390886 elementor-widget elementor-widget-html\" data-id=\"3390886\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n:root{\r\n  --fe-yellow:#ffc700;\r\n  --fe-black:#0b0b0b;\r\n  --fe-white:#fff;\r\n  --fe-muted:#666;\r\n  --fe-border:#e9e9e9;\r\n  --fe-soft:#f7f7f7;\r\n  --fe-radius:18px;\r\n}\r\n\r\n.fe-page{\r\n  font-family:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  color:var(--fe-black);\r\n  background:#fff;\r\n}\r\n\r\n.fe-page *{box-sizing:border-box}\r\n\r\n.fe-wrap{\r\n  max-width:1180px;\r\n  margin:0 auto;\r\n  padding:0 20px;\r\n}\r\n\r\n.fe-section{padding:70px 0}\r\n.fe-section-soft{background:var(--fe-soft)}\r\n\r\n.fe-head{\r\n  max-width:100%;\r\n  margin-bottom:34px;\r\n}\r\n\r\n.fe-kicker{\r\n  color:#b48a00;\r\n  font-weight:900;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  font-size:13px;\r\n  margin-bottom:8px;\r\n}\r\n\r\n.fe-head h2{\r\n  font-size:clamp(28px,4vw,44px);\r\n  line-height:1.1;\r\n  margin:0 0 12px;\r\n  letter-spacing:-.03em;\r\n}\r\n\r\n.fe-head p{\r\n  color:var(--fe-muted);\r\n  font-size:17px;\r\n  line-height:1.55;\r\n  margin:0;\r\n}\r\n\r\n.fe-card-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(3,1fr);\r\n  gap:18px;\r\n}\r\n\r\n@media(max-width:850px){\r\n  .fe-card-grid{grid-template-columns:1fr}\r\n}\r\n\r\n.fe-card{\r\n  background:#fff;\r\n  border:1px solid var(--fe-border);\r\n  border-radius:var(--fe-radius);\r\n  padding:24px;\r\n  box-shadow:0 12px 28px rgba(0,0,0,.045);\r\n}\r\n\r\n.fe-card h3{\r\n  margin:0 0 10px;\r\n  font-size:22px;\r\n}\r\n\r\n.fe-card p{\r\n  color:var(--fe-muted);\r\n  line-height:1.55;\r\n  margin:0;\r\n}\r\n\r\n.fe-pill{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  width:100%;\r\n  min-height:44px;\r\n  padding:10px 14px;\r\n  border-radius:14px;\r\n  background:var(--fe-yellow);\r\n  color:#000;\r\n  font-weight:900;\r\n  margin-bottom:18px;\r\n  text-align:center;\r\n}\r\n\r\n.fe-cta-box{\r\n  background:#111;\r\n  color:#fff;\r\n  border-radius:28px;\r\n  padding:38px 28px;\r\n  text-align:center;\r\n  margin-top:34px;\r\n}\r\n\r\n.fe-cta-box h2{\r\n  margin:0 0 12px;\r\n  font-size:clamp(28px,4vw,42px);\r\n  color:#fff !important;\r\n}\r\n\r\n.fe-cta-box p{\r\n  max-width:760px;\r\n  margin:0 auto 22px;\r\n  color:#ddd;\r\n  line-height:1.6;\r\n}\r\n\r\n.fe-actions{\r\n  display:flex;\r\n  gap:12px;\r\n  flex-wrap:wrap;\r\n  justify-content:center;\r\n}\r\n\r\n.fe-btn{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  min-height:48px;\r\n  padding:14px 22px;\r\n  border-radius:14px;\r\n  font-weight:900;\r\n  text-decoration:none !important;\r\n  border:1px solid transparent;\r\n}\r\n\r\n.fe-btn-yellow{\r\n  background:var(--fe-yellow);\r\n  color:#000 !important;\r\n}\r\n<\/style>\r\n\r\n<div class=\"fe-page\">\r\n\r\n  <section class=\"fe-section\">\r\n    <div class=\"fe-wrap\">\r\n      <div class=\"fe-head\">\r\n        <div class=\"fe-kicker\">Milchglasfolierung<\/div>\r\n        <h2>Sichtschutz f\u00fcr Glasfl\u00e4chen ohne Lichtverlust.<\/h2>\r\n        <p>\r\n          Milchglasfolie sorgt f\u00fcr angenehme Privatsph\u00e4re, ohne R\u00e4ume dunkel wirken zu lassen. Ideal f\u00fcr B\u00fcros, Sitzungszimmer, Praxen, T\u00fcren, Fenster und Glasw\u00e4nde.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"fe-card-grid\">\r\n        <div class=\"fe-card\">\r\n          <div class=\"fe-pill\">Sichtschutz<\/div>\r\n          <h3>Mehr Privatsph\u00e4re<\/h3>\r\n          <p>\r\n            Glasfl\u00e4chen bleiben hell, wirken aber diskreter und sch\u00fctzen vor unerw\u00fcnschten Blicken.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-card\">\r\n          <div class=\"fe-pill\">Design<\/div>\r\n          <h3>Saubere Optik f\u00fcr Glasfl\u00e4chen<\/h3>\r\n          <p>\r\n            Milchglasfolie kann schlicht, mit Streifen, Ausschnitten, Logos oder individuellen Designs umgesetzt werden.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-card\">\r\n          <div class=\"fe-pill\">Nachr\u00fcstbar<\/div>\r\n          <h3>Ohne Glasersatz<\/h3>\r\n          <p>\r\n            Bestehende Glasfl\u00e4chen k\u00f6nnen direkt foliert werden. Schnell, sauber und deutlich g\u00fcnstiger als neues Glas.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"fe-cta-box\">\r\n        <h2>Was kostet Milchglasfolierung?<\/h2>\r\n        <p>\r\n          Der Preis h\u00e4ngt von Fl\u00e4che, Anzahl Glasfl\u00e4chen, Folienausf\u00fchrung, Designaufwand und Montageort ab. Mit dem Preisrechner erh\u00e4ltst du eine erste Einsch\u00e4tzung.\r\n        <\/p>\r\n        <div class=\"fe-actions\">\r\n          <a class=\"fe-btn fe-btn-yellow\" href=\"#milkglas-calc\">Preis berechnen<\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"fe-section fe-section-soft\">\r\n    <div class=\"fe-wrap\">\r\n      <div class=\"fe-head\">\r\n        <div class=\"fe-kicker\">F\u00fcr B\u00fcro, Praxis und Zuhause<\/div>\r\n        <h2>Milchglasfolie verbindet Sichtschutz, Licht und Design.<\/h2>\r\n        <p>\r\n          Ob dezente Folierung, Streifenmuster, Logoelemente oder vollfl\u00e4chiger Sichtschutz. Wir passen die Milchglasfolierung an deine Glasfl\u00e4che und den gew\u00fcnschten Look an.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"fe-card-grid\">\r\n        <div class=\"fe-card\">\r\n          <h3>F\u00fcr B\u00fcros und Sitzungszimmer<\/h3>\r\n          <p>Mehr Diskretion bei gleichzeitig heller und moderner Raumwirkung.<\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-card\">\r\n          <h3>F\u00fcr T\u00fcren und Glasw\u00e4nde<\/h3>\r\n          <p>Ideal f\u00fcr Eingangsbereiche, Trennw\u00e4nde, Praxen, Empfangsbereiche und Innenr\u00e4ume.<\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-card\">\r\n          <h3>Mit Logo oder Design<\/h3>\r\n          <p>Auf Wunsch mit Streifen, Mustern, ausgeschnittenen Bereichen oder Firmenlogo.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4d2ea33 e-flex e-con-boxed e-con e-parent\" data-id=\"4d2ea33\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f270dff elementor-widget elementor-widget-html\" data-id=\"f270dff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n:root{\r\n  --yellow:#ffc700;\r\n  --black:#0b0b0b;\r\n  --muted:#6b6b6b;\r\n  --border:#e9e9e9;\r\n  --radius:14px;\r\n}\r\n\r\n.ppf-calc{\r\n  max-width:920px;\r\n  margin:70px auto;\r\n  border:1px solid var(--border);\r\n  border-radius:var(--radius);\r\n  padding:clamp(12px,3vw,22px);\r\n  background:#fff;\r\n  box-shadow:0 14px 30px rgba(0,0,0,.06);\r\n  font-family:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n}\r\n\r\n.ppf-headbox{\r\n  background:#111;\r\n  color:#fff;\r\n  border-radius:14px;\r\n  padding:22px 18px;\r\n  margin-bottom:18px;\r\n}\r\n\r\n.ppf-title{\r\n  margin:0 0 8px;\r\n  font:900 clamp(22px,3.5vw,32px)\/1.15 system-ui;\r\n  color:var(--yellow);\r\n}\r\n\r\n.ppf-sub{\r\n  margin:0;\r\n  color:#f1f1f1;\r\n  font:500 14px\/1.55 system-ui;\r\n}\r\n\r\n.ppf-grid{\r\n  display:grid;\r\n  gap:14px;\r\n  grid-template-columns:repeat(2,minmax(0,1fr));\r\n}\r\n\r\n@media(max-width:700px){\r\n  .ppf-grid{grid-template-columns:1fr}\r\n}\r\n\r\n.ppf-field{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:6px;\r\n}\r\n\r\n.ppf-label{\r\n  font:700 14px\/1.2 system-ui;\r\n}\r\n\r\n.ppf-input,\r\n.ppf-select,\r\n.ppf-textarea{\r\n  width:100%;\r\n  box-sizing:border-box !important;\r\n  border:1px solid #ddd;\r\n  border-radius:10px;\r\n  background:#fff;\r\n  color:#111;\r\n  font-family:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  font-size:15px !important;\r\n  font-weight:500;\r\n  line-height:1.45 !important;\r\n  min-height:52px !important;\r\n  height:auto !important;\r\n  padding:13px 14px !important;\r\n  appearance:none;\r\n  -webkit-appearance:none;\r\n  -moz-appearance:none;\r\n}\r\n\r\n.ppf-select{\r\n  background-image:\r\n    linear-gradient(45deg, transparent 50%, #666 50%),\r\n    linear-gradient(135deg, #666 50%, transparent 50%);\r\n  background-position:\r\n    calc(100% - 18px) calc(50% - 2px),\r\n    calc(100% - 12px) calc(50% - 2px);\r\n  background-size:6px 6px,6px 6px;\r\n  background-repeat:no-repeat;\r\n  padding-right:38px !important;\r\n}\r\n\r\n.ppf-textarea{\r\n  min-height:110px !important;\r\n  resize:vertical;\r\n}\r\n\r\n.mg-area-helper{\r\n  font:500 13px\/1.5 system-ui;\r\n  color:var(--muted);\r\n  margin-bottom:10px;\r\n}\r\n\r\n.mg-area-header,\r\n.mg-area-row{\r\n  display:grid;\r\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px 34px;\r\n  gap:8px;\r\n  align-items:center;\r\n}\r\n\r\n.mg-area-header{\r\n  font:800 12px\/1.2 system-ui;\r\n  color:var(--muted);\r\n  margin-bottom:6px;\r\n}\r\n\r\n.mg-area-row{\r\n  margin-bottom:8px;\r\n}\r\n\r\n.mg-area-row .ppf-input{\r\n  min-height:46px !important;\r\n  padding:10px 12px !important;\r\n}\r\n\r\n.mg-area-remove{\r\n  width:28px;\r\n  height:28px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,199,0,.9);\r\n  background:rgba(255,199,0,.18);\r\n  font-size:16px;\r\n  font-weight:900;\r\n  line-height:1;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  cursor:pointer;\r\n  padding:0;\r\n  color:#5c4a00;\r\n}\r\n\r\n.mg-area-remove:hover{\r\n  background:rgba(255,199,0,.3);\r\n}\r\n\r\n.mg-add-btn{\r\n  margin-top:10px;\r\n  min-height:54px;\r\n  width:100%;\r\n  background:var(--yellow);\r\n  color:#000;\r\n  border:0;\r\n  border-radius:14px;\r\n  padding:15px 18px;\r\n  font:900 17px\/1 system-ui;\r\n  cursor:pointer;\r\n}\r\n\r\n.mg-add-btn:hover{filter:brightness(.95)}\r\n.mg-add-btn[disabled]{opacity:.6;cursor:not-allowed}\r\n\r\n.ppf-options{\r\n  display:grid;\r\n  gap:10px;\r\n}\r\n\r\n.ppf-checkrow{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  padding:12px 14px;\r\n  border:1px solid #ececec;\r\n  border-radius:10px;\r\n  background:#fff;\r\n}\r\n\r\n.ppf-checkrow input{\r\n  flex:0 0 auto;\r\n  width:18px;\r\n  height:18px;\r\n}\r\n\r\n.ppf-checktext{\r\n  font:700 14px\/1.4 system-ui;\r\n  width:100%;\r\n}\r\n\r\n.ppf-checksub{\r\n  display:block;\r\n  color:var(--muted);\r\n  font:500 12px\/1.45 system-ui;\r\n  margin-top:2px;\r\n}\r\n\r\n.ppf-checkprice{\r\n  margin-left:auto;\r\n  white-space:nowrap;\r\n  font:900 13px\/1 system-ui;\r\n}\r\n\r\n.ppf-result{\r\n  margin-top:14px;\r\n  background:#111;\r\n  color:#fff;\r\n  border-radius:12px;\r\n  padding:18px 16px;\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:center;\r\n  gap:16px;\r\n  flex-wrap:wrap;\r\n}\r\n\r\n.ppf-meta{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:6px;\r\n}\r\n\r\n.ppf-kicker{\r\n  color:#bdbdbd;\r\n  font:700 12px\/1 system-ui;\r\n  letter-spacing:.02em;\r\n}\r\n\r\n.ppf-price{\r\n  font:900 clamp(22px,4vw,32px)\/1 system-ui;\r\n  color:var(--yellow);\r\n}\r\n\r\n.ppf-info{\r\n  color:#dcdcdc;\r\n  font:600 12px\/1.35 system-ui;\r\n}\r\n\r\n.ppf-btn{\r\n  background:var(--yellow);\r\n  color:#000;\r\n  border:0;\r\n  border-radius:12px;\r\n  padding:12px 16px;\r\n  font:800 16px\/1 system-ui;\r\n  cursor:pointer;\r\n}\r\n\r\n.ppf-btn:hover{filter:brightness(.95)}\r\n.ppf-btn.secondary{background:#111;color:#fff}\r\n.ppf-btn[disabled]{opacity:.6;cursor:not-allowed}\r\n\r\n.ppf-note{\r\n  margin-top:8px;\r\n  color:var(--muted);\r\n  font:500 13px\/1.5 system-ui;\r\n}\r\n\r\n.ppf-panel{\r\n  margin-top:14px;\r\n  border:1px dashed #d8d8d8;\r\n  border-radius:12px;\r\n  padding:14px;\r\n  display:none;\r\n}\r\n\r\n.ppf-panel.show{display:block}\r\n\r\n.ppf-row{\r\n  display:grid;\r\n  gap:12px;\r\n  grid-template-columns:repeat(2,minmax(0,1fr));\r\n}\r\n\r\n@media(max-width:700px){\r\n  .ppf-row{grid-template-columns:1fr}\r\n}\r\n\r\n.ppf-help{\r\n  font:500 12px\/1.4 system-ui;\r\n  color:var(--muted);\r\n  margin-top:6px;\r\n}\r\n\r\n.ppf-alert{\r\n  margin-top:10px;\r\n  padding:10px 12px;\r\n  border-radius:10px;\r\n  font:600 14px\/1.4 system-ui;\r\n}\r\n\r\n.ppf-alert.ok{\r\n  background:#e9f7ec;\r\n  color:#145c2e;\r\n  border:1px solid #bfe4c8;\r\n}\r\n\r\n.ppf-alert.err{\r\n  background:#fdecea;\r\n  color:#7b1f1a;\r\n  border:1px solid #f5c6c4;\r\n}\r\n\r\n.ppf-actions{\r\n  display:flex;\r\n  gap:10px;\r\n  align-items:center;\r\n  flex-wrap:wrap;\r\n  margin-top:10px;\r\n}\r\n\r\n.ppf-filebox{\r\n  border:1px solid #ddd;\r\n  border-radius:12px;\r\n  padding:14px;\r\n  background:#fafafa;\r\n}\r\n\r\n.ppf-file-input{display:none}\r\n\r\n.ppf-file-button{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  background:#111;\r\n  color:#fff;\r\n  border-radius:12px;\r\n  padding:12px 16px;\r\n  font:800 14px\/1 system-ui;\r\n  cursor:pointer;\r\n  margin-bottom:10px;\r\n}\r\n\r\n.ppf-file-list{\r\n  display:grid;\r\n  gap:6px;\r\n  margin-top:8px;\r\n}\r\n\r\n.ppf-file-item{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n  align-items:center;\r\n  border:1px solid #e5e5e5;\r\n  background:#fff;\r\n  border-radius:10px;\r\n  padding:8px 10px;\r\n  font:600 13px\/1.35 system-ui;\r\n}\r\n\r\n.ppf-file-remove{\r\n  border:0;\r\n  background:#f2f2f2;\r\n  border-radius:8px;\r\n  cursor:pointer;\r\n  padding:6px 8px;\r\n  font-weight:900;\r\n}\r\n\r\n.is-hidden{display:none !important}\r\n\r\n@media(max-width:600px){\r\n  .mg-area-header,\r\n  .mg-area-row{\r\n    grid-template-columns:1fr 1fr 70px 30px;\r\n    gap:6px;\r\n  }\r\n\r\n  .mg-area-header{\r\n    font-size:11px;\r\n  }\r\n\r\n  .mg-area-row .ppf-input{\r\n    font-size:13px !important;\r\n    padding:9px 8px !important;\r\n  }\r\n\r\n  .ppf-result{\r\n    flex-direction:column;\r\n    align-items:flex-start;\r\n  }\r\n\r\n  .ppf-btn{\r\n    width:100%;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"ppf-calc\" id=\"milkglas-calc\" aria-live=\"polite\">\r\n  <div class=\"ppf-headbox\">\r\n    <h3 class=\"ppf-title\" data-i18n=\"title\">Preisrechner \u2013 Milchglasfolierung<\/h3>\r\n    <p class=\"ppf-sub\" data-i18n=\"subtitle\">\r\n      Richtwert zur Orientierung. Du kannst mehrere Glasfl\u00e4chen einzeln erfassen und Bilder direkt mitsenden.\r\n    <\/p>\r\n  <\/div>\r\n\r\n  <div class=\"ppf-grid\">\r\n    <div class=\"ppf-field\" style=\"grid-column:1\/-1\">\r\n      <span class=\"ppf-label\" data-i18n=\"label_areas\">Glasfl\u00e4chen erfassen<\/span>\r\n      <div class=\"mg-area-helper\" data-i18n=\"area_helper\">\r\n        Breite und H\u00f6he in cm eintragen. Die Fl\u00e4che und Anzahl Scheiben werden automatisch berechnet.\r\n      <\/div>\r\n\r\n      <div class=\"mg-area-header\">\r\n        <span data-i18n=\"header_width\">Breite (cm)<\/span>\r\n        <span data-i18n=\"header_height\">H\u00f6he (cm)<\/span>\r\n        <span data-i18n=\"header_qty\">Anzahl<\/span>\r\n        <span><\/span>\r\n      <\/div>\r\n\r\n      <div id=\"mg-multi-areas\"><\/div>\r\n\r\n      <button type=\"button\" id=\"mg-add-area\" class=\"mg-add-btn\" data-i18n=\"add_area_btn\">\r\n        + Fl\u00e4che hinzuf\u00fcgen\r\n      <\/button>\r\n    <\/div>\r\n\r\n    <label class=\"ppf-field\">\r\n      <span class=\"ppf-label\" data-i18n=\"label_finish\">Folienausf\u00fchrung<\/span>\r\n      <select id=\"mg-finish\" class=\"ppf-select\">\r\n        <option value=\"1.00\" data-i18n=\"fin_standard\">Glatt \/ Matt (Standard)<\/option>\r\n        <option value=\"1.00\" data-i18n=\"fin_frosted\">Frosted<\/option>\r\n        <option value=\"1.25\" data-i18n=\"fin_design\">Design \/ Streifen \/ Logos (+25%)<\/option>\r\n        <option value=\"1.50\" data-i18n=\"fin_logo_complex\">Logo komplex (+50%)<\/option>\r\n      <\/select>\r\n    <\/label>\r\n\r\n    <label class=\"ppf-field\">\r\n      <span class=\"ppf-label\" data-i18n=\"label_region\">Region \/ Anfahrt<\/span>\r\n      <select id=\"mg-region\" class=\"ppf-select\">\r\n        <option value=\"0\" data-i18n=\"reg_zug\">Kanton Zug (inkl.)<\/option>\r\n        <option value=\"60\" data-i18n=\"reg_near\">Umgebung +60 CHF<\/option>\r\n        <option value=\"120\" data-i18n=\"reg_far\">Weitere Distanz +120 CHF<\/option>\r\n      <\/select>\r\n    <\/label>\r\n\r\n    <div class=\"ppf-field\" style=\"grid-column:1\/-1\">\r\n      <span class=\"ppf-label\" data-i18n=\"label_options\">Optionen<\/span>\r\n      <div class=\"ppf-options\">\r\n        <label class=\"ppf-checkrow\">\r\n          <input id=\"mg-edge\" type=\"checkbox\">\r\n          <span class=\"ppf-checktext\">\r\n            <span data-i18n=\"opt_edge_label\">Kantenversiegelung<\/span>\r\n            <span class=\"ppf-checksub\" data-i18n=\"opt_edge_sub\">Empfohlen bei st\u00e4rker beanspruchten Glasfl\u00e4chen<\/span>\r\n          <\/span>\r\n          <strong class=\"ppf-checkprice\" data-i18n=\"opt_edge_price\">+25 CHF pro Scheibe<\/strong>\r\n        <\/label>\r\n\r\n        <label class=\"ppf-checkrow\">\r\n          <input id=\"mg-remove\" type=\"checkbox\">\r\n          <span class=\"ppf-checktext\">\r\n            <span data-i18n=\"opt_remove_label\">Alte Folien entfernen<\/span>\r\n            <span class=\"ppf-checksub\" data-i18n=\"opt_remove_sub\">Zuschlag nach Fl\u00e4che<\/span>\r\n          <\/span>\r\n          <strong class=\"ppf-checkprice\" data-i18n=\"opt_remove_price\">+15 CHF \/ m\u00b2<\/strong>\r\n        <\/label>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"ppf-result\" role=\"status\">\r\n    <div class=\"ppf-meta\">\r\n      <div class=\"ppf-kicker\" data-i18n=\"res_label\">Sch\u00e4tzung (Richtpreis)<\/div>\r\n      <div id=\"mg-price\" class=\"ppf-price\">CHF 0.\u2013<\/div>\r\n      <div id=\"mg-area-info\" class=\"ppf-info\"><\/div>\r\n    <\/div>\r\n    <button id=\"mg-cta\" class=\"ppf-btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mg-panel\" data-i18n=\"cta\">\r\n      Anfrage mit Preisangaben senden\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <div id=\"mg-panel\" class=\"ppf-panel\" aria-hidden=\"true\">\r\n    <div class=\"ppf-row\">\r\n      <label class=\"ppf-field\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_firma\">Firma (optional)<\/span>\r\n        <input id=\"mg-firma\" class=\"ppf-input\" type=\"text\" autocomplete=\"organization\">\r\n      <\/label>\r\n\r\n      <label class=\"ppf-field\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_firstname\">Vorname<\/span>\r\n        <input id=\"mg-vorname\" class=\"ppf-input\" type=\"text\" autocomplete=\"given-name\">\r\n      <\/label>\r\n\r\n      <label class=\"ppf-field\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_lastname\">Nachname<\/span>\r\n        <input id=\"mg-nachname\" class=\"ppf-input\" type=\"text\" autocomplete=\"family-name\">\r\n      <\/label>\r\n\r\n      <label class=\"ppf-field\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_phone\">Telefon<\/span>\r\n        <input id=\"mg-telefon\" class=\"ppf-input\" type=\"tel\" autocomplete=\"tel\" placeholder=\"+41 79 123 45 67\" inputmode=\"tel\">\r\n      <\/label>\r\n\r\n      <label class=\"ppf-field\" style=\"grid-column:1\/-1\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_email\">E-Mail<\/span>\r\n        <input id=\"mg-email\" class=\"ppf-input\" type=\"email\" autocomplete=\"email\" placeholder=\"name@domain.ch\">\r\n      <\/label>\r\n\r\n      <div class=\"ppf-field\" style=\"grid-column:1\/-1\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_files\">Bilder vom Glas \/ Raum hochladen (optional)<\/span>\r\n        <div class=\"ppf-filebox\">\r\n          <label class=\"ppf-file-button\" for=\"mg-files\" data-i18n=\"file_button\">Bilder ausw\u00e4hlen<\/label>\r\n          <input id=\"mg-files\" class=\"ppf-file-input\" type=\"file\" accept=\"image\/jpeg,image\/png,image\/webp\" multiple>\r\n          <div class=\"ppf-help\" data-i18n=\"file_help\">Maximal 5 Bilder. Max. 6 MB pro Bild, total max. 20 MB. JPG, PNG oder WEBP.<\/div>\r\n          <div id=\"mg-file-list\" class=\"ppf-file-list\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <label class=\"ppf-field\" style=\"grid-column:1\/-1\">\r\n        <span class=\"ppf-label\" data-i18n=\"label_message\">Zus\u00e4tzliche Angaben<\/span>\r\n        <textarea id=\"mg-msg\" class=\"ppf-textarea\" data-i18n-placeholder=\"msg_placeholder\" placeholder=\"z. B. B\u00fcro, Praxis, Glaswand, gew\u00fcnschtes Design, Terminwunsch ...\"><\/textarea>\r\n      <\/label>\r\n    <\/div>\r\n\r\n    <div class=\"ppf-help\" data-i18n=\"help_send\">\r\n      Mit dem Senden \u00fcbermittelst du uns deine Angaben, die berechnete Sch\u00e4tzung und optional deine Bilder.\r\n    <\/div>\r\n\r\n    <div class=\"ppf-actions\">\r\n      <button id=\"mg-send\" class=\"ppf-btn secondary\" type=\"button\" data-i18n=\"send_btn\">Senden<\/button>\r\n      <span id=\"mg-status\" class=\"ppf-help\"><\/span>\r\n    <\/div>\r\n\r\n    <div id=\"mg-alert\" class=\"ppf-alert is-hidden\"><\/div>\r\n  <\/div>\r\n\r\n  <p class=\"ppf-note\" data-i18n=\"note\">\r\n    Hinweis: Die berechnete Fl\u00e4che wird auf ganze m\u00b2 aufgerundet. Die Sch\u00e4tzung ersetzt keine fixe Offerte.\r\n  <\/p>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const root = document.getElementById('milkglas-calc');\r\n  if(!root) return;\r\n\r\n  const STRINGS = {\r\n    de:{\r\n      title:'Preisrechner \u2013 Milchglasfolierung',\r\n      subtitle:'Richtwert zur Orientierung. Du kannst mehrere Glasfl\u00e4chen einzeln erfassen und Bilder direkt mitsenden.',\r\n      label_areas:'Glasfl\u00e4chen erfassen',\r\n      area_helper:'Breite und H\u00f6he in cm eintragen. Die Fl\u00e4che und Anzahl Scheiben werden automatisch berechnet.',\r\n      header_width:'Breite (cm)',\r\n      header_height:'H\u00f6he (cm)',\r\n      header_qty:'Anzahl',\r\n      add_area_btn:'+ Fl\u00e4che hinzuf\u00fcgen',\r\n      label_finish:'Folienausf\u00fchrung',\r\n      fin_standard:'Glatt \/ Matt (Standard)',\r\n      fin_frosted:'Frosted',\r\n      fin_design:'Design \/ Streifen \/ Logos (+25%)',\r\n      fin_logo_complex:'Logo komplex (+50%)',\r\n      label_region:'Region \/ Anfahrt',\r\n      reg_zug:'Kanton Zug (inkl.)',\r\n      reg_near:'Umgebung +60 CHF',\r\n      reg_far:'Weitere Distanz +120 CHF',\r\n      label_options:'Optionen',\r\n      opt_edge_label:'Kantenversiegelung',\r\n      opt_edge_sub:'Empfohlen bei st\u00e4rker beanspruchten Glasfl\u00e4chen',\r\n      opt_edge_price:'+25 CHF pro Scheibe',\r\n      opt_remove_label:'Alte Folien entfernen',\r\n      opt_remove_sub:'Zuschlag nach Fl\u00e4che',\r\n      opt_remove_price:'+15 CHF \/ m\u00b2',\r\n      res_label:'Sch\u00e4tzung (Richtpreis)',\r\n      cta:'Anfrage mit Preisangaben senden',\r\n      label_firma:'Firma (optional)',\r\n      label_firstname:'Vorname',\r\n      label_lastname:'Nachname',\r\n      label_phone:'Telefon',\r\n      label_email:'E-Mail',\r\n      label_files:'Bilder vom Glas \/ Raum hochladen (optional)',\r\n      file_button:'Bilder ausw\u00e4hlen',\r\n      file_help:'Maximal 5 Bilder. Max. 6 MB pro Bild, total max. 20 MB. JPG, PNG oder WEBP.',\r\n      label_message:'Zus\u00e4tzliche Angaben',\r\n      msg_placeholder:'z. B. B\u00fcro, Praxis, Glaswand, gew\u00fcnschtes Design, Terminwunsch ...',\r\n      help_send:'Mit dem Senden \u00fcbermittelst du uns deine Angaben, die berechnete Sch\u00e4tzung und optional deine Bilder.',\r\n      send_btn:'Senden',\r\n      note:'Hinweis: Die berechnete Fl\u00e4che wird auf ganze m\u00b2 aufgerundet. Die Sch\u00e4tzung ersetzt keine fixe Offerte.',\r\n      status_sending:'Sende \u2026',\r\n      error_required:'Bitte Vorname, Nachname, eine g\u00fcltige Telefonnummer und eine g\u00fcltige E-Mail eingeben.',\r\n      success_msg:'Danke! Deine Anfrage wurde erfolgreich gesendet.',\r\n      fail_prefix:'Senden fehlgeschlagen: ',\r\n      no_files:'Noch keine Bilder ausgew\u00e4hlt.',\r\n      area_info:'Berechnete Fl\u00e4che: {area} m\u00b2 \u00b7 Anzahl Scheiben: {qty}',\r\n      summary_title:'Kalkulator: Milchglasfolierung',\r\n      summary_area_rows:'Erfasste Glasfl\u00e4chen:',\r\n      summary_area:'Berechnete Fl\u00e4che: {area} m\u00b2',\r\n      summary_panes:'Anzahl Scheiben: {qty}',\r\n      summary_finish:'Folienausf\u00fchrung: {value}',\r\n      summary_region:'Region \/ Anfahrt: {value}',\r\n      summary_edge:'Kantenversiegelung: {value}',\r\n      summary_remove:'Alte Folien entfernen: {value}',\r\n      summary_files:'Bilder: {value}',\r\n      summary_total:'Sch\u00e4tzung: {value}',\r\n      summary_device:'Vom Kunden benutztes Ger\u00e4t: {value}',\r\n      yes:'Ja',\r\n      no:'Nein'\r\n    },\r\n    en:{\r\n      title:'Price calculator \u2013 frosted glass film',\r\n      subtitle:'Guide price. You can enter several glass panes individually and send images directly.',\r\n      label_areas:'Enter glass panes',\r\n      area_helper:'Enter width and height in cm. Area and number of panes are calculated automatically.',\r\n      header_width:'Width (cm)',\r\n      header_height:'Height (cm)',\r\n      header_qty:'Qty',\r\n      add_area_btn:'+ Add glass pane',\r\n      label_finish:'Film type',\r\n      fin_standard:'Smooth \/ matte (standard)',\r\n      fin_frosted:'Frosted',\r\n      fin_design:'Design \/ stripes \/ logos (+25%)',\r\n      fin_logo_complex:'Complex logo (+50%)',\r\n      label_region:'Region \/ travel distance',\r\n      reg_zug:'Canton Zug (incl.)',\r\n      reg_near:'Nearby area +60 CHF',\r\n      reg_far:'Further distance +120 CHF',\r\n      label_options:'Options',\r\n      opt_edge_label:'Edge sealing',\r\n      opt_edge_sub:'Recommended for more exposed glass surfaces',\r\n      opt_edge_price:'+25 CHF per pane',\r\n      opt_remove_label:'Remove old film',\r\n      opt_remove_sub:'Surcharge based on area',\r\n      opt_remove_price:'+15 CHF \/ m\u00b2',\r\n      res_label:'Estimate (guide price)',\r\n      cta:'Send request with price details',\r\n      label_firma:'Company (optional)',\r\n      label_firstname:'First name',\r\n      label_lastname:'Last name',\r\n      label_phone:'Phone',\r\n      label_email:'E-mail',\r\n      label_files:'Upload images of glass \/ room (optional)',\r\n      file_button:'Select images',\r\n      file_help:'Maximum 5 images. Max. 6 MB per image, total max. 20 MB. JPG, PNG or WEBP.',\r\n      label_message:'Additional information',\r\n      msg_placeholder:'e.g. office, practice, glass wall, desired design, preferred date ...',\r\n      help_send:'By sending, you submit your details, the calculated estimate and optional images.',\r\n      send_btn:'Send',\r\n      note:'Note: calculated area is rounded up to full m\u00b2. The estimate is not a binding quote.',\r\n      status_sending:'Sending \u2026',\r\n      error_required:'Please enter first name, last name, a valid phone number and a valid e-mail address.',\r\n      success_msg:'Thank you! Your request has been sent successfully.',\r\n      fail_prefix:'Sending failed: ',\r\n      no_files:'No images selected yet.',\r\n      area_info:'Calculated area: {area} m\u00b2 \u00b7 Number of panes: {qty}',\r\n      summary_title:'Calculator: frosted glass film',\r\n      summary_area_rows:'Entered glass panes:',\r\n      summary_area:'Calculated area: {area} m\u00b2',\r\n      summary_panes:'Number of panes: {qty}',\r\n      summary_finish:'Film type: {value}',\r\n      summary_region:'Region \/ travel distance: {value}',\r\n      summary_edge:'Edge sealing: {value}',\r\n      summary_remove:'Remove old film: {value}',\r\n      summary_files:'Images: {value}',\r\n      summary_total:'Estimate: {value}',\r\n      summary_device:'Device used by customer: {value}',\r\n      yes:'Yes',\r\n      no:'No'\r\n    }\r\n  };\r\n\r\n  function detectLang(){\r\n    const htmlLang = (document.documentElement.lang || '').toLowerCase();\r\n    if(htmlLang.startsWith('en')) return 'en';\r\n    if(htmlLang.startsWith('de')) return 'de';\r\n    return 'de';\r\n  }\r\n\r\n  const LANG = detectLang();\r\n  const t = key => (STRINGS[LANG] && key in STRINGS[LANG]) ? STRINGS[LANG][key] : (STRINGS.de[key] ?? key);\r\n\r\n  const CONFIG = {\r\n    BASE_PER_M2: 150,\r\n    MINIMUM_ORDER: 150,\r\n    EDGE_PER_PANE: 25,\r\n    REMOVE_OLD_PER_M2: 15,\r\n    ROUND_STEP_M2: 1,\r\n    MAX_AREAS: 10,\r\n    MAX_FILES: 5,\r\n    MAX_FILE_MB: 6,\r\n    MAX_TOTAL_MB: 20\r\n  };\r\n\r\n  const CHF = new Intl.NumberFormat('de-CH',{\r\n    style:'currency',\r\n    currency:'CHF',\r\n    maximumFractionDigits:0\r\n  });\r\n\r\n  const $ = id => document.getElementById(id);\r\n\r\n  const areasWrap = $('mg-multi-areas');\r\n  const addAreaBtn = $('mg-add-area');\r\n\r\n  const finish = $('mg-finish');\r\n  const region = $('mg-region');\r\n  const edge = $('mg-edge');\r\n  const removeOld = $('mg-remove');\r\n\r\n  const priceEl = $('mg-price');\r\n  const infoEl = $('mg-area-info');\r\n  const cta = $('mg-cta');\r\n  const panel = $('mg-panel');\r\n\r\n  const alertBox = $('mg-alert');\r\n  const statusEl = $('mg-status');\r\n  const sendBtn = $('mg-send');\r\n\r\n  const fFirma = $('mg-firma');\r\n  const fVor = $('mg-vorname');\r\n  const fNach = $('mg-nachname');\r\n  const fTel = $('mg-telefon');\r\n  const fMail = $('mg-email');\r\n  const fFiles = $('mg-files');\r\n  const fileListEl = $('mg-file-list');\r\n  const fMsg = $('mg-msg');\r\n\r\n  let lastAreaRaw = 0;\r\n  let lastAreaRounded = 0;\r\n  let lastQty = 0;\r\n  let selectedFiles = [];\r\n\r\n  const clamp = (n,min,max)=>Math.min(Math.max(+n || 0,min),max);\r\n  const roundUp = (n,step)=>Math.ceil((+n || 0)\/step)*step;\r\n  const yn = v => v ? t('yes') : t('no');\r\n\r\n  function applyTranslations(){\r\n    root.querySelectorAll('[data-i18n]').forEach(el=>{\r\n      const key = el.getAttribute('data-i18n');\r\n      const str = t(key);\r\n      if(str != null) el.innerHTML = str;\r\n    });\r\n\r\n    root.querySelectorAll('[data-i18n-placeholder]').forEach(el=>{\r\n      const key = el.getAttribute('data-i18n-placeholder');\r\n      const str = t(key);\r\n      if(str != null) el.setAttribute('placeholder', str);\r\n    });\r\n  }\r\n\r\n  function enableAutoSelect(el){\r\n    if(!el) return;\r\n    el.addEventListener('focus', e=>{\r\n      setTimeout(()=>e.target.select(),0);\r\n    });\r\n  }\r\n\r\n  function updateAddButtonState(){\r\n    const count = areasWrap.querySelectorAll('.mg-area-row').length;\r\n    addAreaBtn.disabled = count >= CONFIG.MAX_AREAS;\r\n  }\r\n\r\n  function addAreaRow(initialW='', initialH='', initialQ='1'){\r\n    const existing = areasWrap.querySelectorAll('.mg-area-row').length;\r\n    if(existing >= CONFIG.MAX_AREAS) return;\r\n\r\n    const row = document.createElement('div');\r\n    row.className = 'mg-area-row';\r\n    row.innerHTML = `\r\n      <input type=\"number\" min=\"0\" step=\"1\" class=\"ppf-input au-width\" value=\"${initialW}\" placeholder=\"${t('header_width')}\">\r\n      <input type=\"number\" min=\"0\" step=\"1\" class=\"ppf-input au-height\" value=\"${initialH}\" placeholder=\"${t('header_height')}\">\r\n      <input type=\"number\" min=\"1\" step=\"1\" class=\"ppf-input au-qty\" value=\"${initialQ}\" placeholder=\"${t('header_qty')}\">\r\n      <button type=\"button\" class=\"mg-area-remove\" aria-label=\"Remove\">\u2013<\/button>\r\n    `;\r\n\r\n    const inputs = row.querySelectorAll('input');\r\n    inputs.forEach(el=>{\r\n      enableAutoSelect(el);\r\n      el.addEventListener('input', calc);\r\n    });\r\n\r\n    row.querySelector('.mg-area-remove').addEventListener('click', ()=>{\r\n      row.remove();\r\n      calc();\r\n      updateAddButtonState();\r\n    });\r\n\r\n    areasWrap.appendChild(row);\r\n    calc();\r\n    updateAddButtonState();\r\n  }\r\n\r\n  function collectAreas(){\r\n    const rows = [...areasWrap.querySelectorAll('.mg-area-row')];\r\n    let sumM2 = 0;\r\n    let sumQty = 0;\r\n    const details = [];\r\n\r\n    rows.forEach((row, idx)=>{\r\n      const w = clamp(row.querySelector('.au-width').value,0,1000000);\r\n      const h = clamp(row.querySelector('.au-height').value,0,1000000);\r\n      let q = clamp(row.querySelector('.au-qty').value,0,1000);\r\n      if(!q) q = 1;\r\n\r\n      if(w && h){\r\n        const m2 = (w * h) \/ 10000;\r\n        const totalM2 = m2 * q;\r\n        sumM2 += totalM2;\r\n        sumQty += q;\r\n        details.push(`${idx + 1}. ${w} \u00d7 ${h} cm \u00d7 ${q} = ${totalM2.toFixed(2)} m\u00b2`);\r\n      }\r\n    });\r\n\r\n    return { sumM2, sumQty, details };\r\n  }\r\n\r\n  function calc(){\r\n    const data = collectAreas();\r\n\r\n    lastAreaRaw = data.sumM2;\r\n    lastAreaRounded = data.sumM2 > 0 ? roundUp(data.sumM2, CONFIG.ROUND_STEP_M2) : 0;\r\n    lastQty = data.sumQty;\r\n\r\n    const fFinish = parseFloat(finish.value || 1);\r\n    const dist = parseFloat(region.value || 0);\r\n\r\n    const addEdge = edge.checked ? CONFIG.EDGE_PER_PANE * lastQty : 0;\r\n    const addRemove = removeOld.checked ? CONFIG.REMOVE_OLD_PER_M2 * lastAreaRounded : 0;\r\n\r\n    let total = (lastAreaRounded * CONFIG.BASE_PER_M2 * fFinish) + addEdge + addRemove + dist;\r\n    if(total < CONFIG.MINIMUM_ORDER) total = CONFIG.MINIMUM_ORDER;\r\n\r\n    priceEl.textContent = 'CHF ' + Math.round(total).toLocaleString('de-CH').replace(\"\u2019\", \"'\").replace(\"'\", \"\u2019\") + '.\u2013';\r\n\r\n    if(lastAreaRounded){\r\n      infoEl.textContent = t('area_info')\r\n        .replace('{area}', lastAreaRounded.toLocaleString('de-CH',{maximumFractionDigits:0}))\r\n        .replace('{qty}', String(lastQty));\r\n    }else{\r\n      infoEl.textContent = '';\r\n    }\r\n  }\r\n\r\n  function getDeviceType(){\r\n    const ua = navigator.userAgent || '';\r\n    const w = window.innerWidth || 0;\r\n    if(\/Mobi|Android|iPhone\/i.test(ua)) return 'Mobile';\r\n    if(\/iPad|Tablet\/i.test(ua)) return 'Tablet';\r\n    if(w && w < 800) return 'Tablet';\r\n    return 'Desktop';\r\n  }\r\n\r\n  function buildSummary(){\r\n    const data = collectAreas();\r\n\r\n    const lines = [];\r\n    lines.push(t('summary_title'));\r\n    lines.push(t('summary_area_rows'));\r\n\r\n    if(data.details.length){\r\n      data.details.forEach(x=>lines.push('- ' + x));\r\n    }else{\r\n      lines.push('- Keine g\u00fcltigen Fl\u00e4chen erfasst');\r\n    }\r\n\r\n    lines.push(t('summary_area').replace('{area}', lastAreaRounded.toLocaleString('de-CH',{maximumFractionDigits:0})));\r\n    lines.push(t('summary_panes').replace('{qty}', String(lastQty)));\r\n    lines.push(t('summary_finish').replace('{value}', finish.options[finish.selectedIndex].text));\r\n    lines.push(t('summary_region').replace('{value}', region.options[region.selectedIndex].text));\r\n    lines.push(t('summary_edge').replace('{value}', yn(edge.checked)));\r\n    lines.push(t('summary_remove').replace('{value}', yn(removeOld.checked)));\r\n    lines.push(t('summary_files').replace('{value}', selectedFiles.length));\r\n    lines.push(t('summary_total').replace('{value}', priceEl.textContent));\r\n    lines.push(t('summary_device').replace('{value}', getDeviceType()));\r\n\r\n    return lines.join('\\n');\r\n  }\r\n\r\n  function formatPhone(value){\r\n    let v = value.replace(\/[^\\d+]\/g,'');\r\n    if(v.startsWith('0041')) v = '+41' + v.slice(4);\r\n    if(v.startsWith('41') && !v.startsWith('+41')) v = '+41' + v.slice(2);\r\n\r\n    if(v.startsWith('+41')){\r\n      let digits = v.slice(3).replace(\/\\D\/g,'').slice(0,9);\r\n      let p1 = digits.slice(0,2);\r\n      let p2 = digits.slice(2,5);\r\n      let p3 = digits.slice(5,7);\r\n      let p4 = digits.slice(7,9);\r\n      return ['+41', p1, p2, p3, p4].filter(Boolean).join(' ');\r\n    }\r\n\r\n    return value;\r\n  }\r\n\r\n  function normalizePhone(value){\r\n    return value.replace(\/\\s+\/g,' ').trim();\r\n  }\r\n\r\n  function isValidPhone(value){\r\n    const clean = value.replace(\/\\s\/g,'');\r\n    return \/^\\+41\\d{9}$\/.test(clean) || \/^0\\d{9}$\/.test(clean);\r\n  }\r\n\r\n  function isMail(v){\r\n    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(v);\r\n  }\r\n\r\n  function fileSizeMb(bytes){\r\n    return (bytes \/ 1024 \/ 1024).toFixed(1) + ' MB';\r\n  }\r\n\r\n  function renderFileList(){\r\n    fileListEl.innerHTML = '';\r\n\r\n    if(selectedFiles.length === 0){\r\n      fileListEl.innerHTML = '<div class=\"ppf-help\">' + t('no_files') + '<\/div>';\r\n      return;\r\n    }\r\n\r\n    selectedFiles.forEach((file,index)=>{\r\n      const item = document.createElement('div');\r\n      item.className = 'ppf-file-item';\r\n\r\n      const name = document.createElement('span');\r\n      name.textContent = file.name + ' (' + fileSizeMb(file.size) + ')';\r\n\r\n      const remove = document.createElement('button');\r\n      remove.type = 'button';\r\n      remove.className = 'ppf-file-remove';\r\n      remove.textContent = '\u00d7';\r\n      remove.addEventListener('click', ()=>{\r\n        selectedFiles.splice(index,1);\r\n        renderFileList();\r\n      });\r\n\r\n      item.appendChild(name);\r\n      item.appendChild(remove);\r\n      fileListEl.appendChild(item);\r\n    });\r\n  }\r\n\r\n  function validateAndAddFiles(files){\r\n    const allowed = ['image\/jpeg','image\/png','image\/webp'];\r\n    const incoming = Array.from(files || []);\r\n    const combined = selectedFiles.concat(incoming);\r\n\r\n    if(combined.length > CONFIG.MAX_FILES){\r\n      return `Bitte maximal ${CONFIG.MAX_FILES} Bilder hochladen.`;\r\n    }\r\n\r\n    let totalSize = 0;\r\n\r\n    for(const file of combined){\r\n      totalSize += file.size;\r\n\r\n      if(!allowed.includes(file.type)){\r\n        return 'Bitte nur JPG, PNG oder WEBP Bilder hochladen.';\r\n      }\r\n\r\n      if(file.size > CONFIG.MAX_FILE_MB * 1024 * 1024){\r\n        return `Ein Bild ist zu gross. Maximal ${CONFIG.MAX_FILE_MB} MB pro Bild.`;\r\n      }\r\n    }\r\n\r\n    if(totalSize > CONFIG.MAX_TOTAL_MB * 1024 * 1024){\r\n      return `Die Bilder sind zusammen zu gross. Maximal ${CONFIG.MAX_TOTAL_MB} MB total.`;\r\n    }\r\n\r\n    selectedFiles = combined;\r\n    return '';\r\n  }\r\n\r\n  const ajaxUrl = () => (window.location.origin || '') + '\/wp-admin\/admin-ajax.php';\r\n\r\n  async function sendForm(){\r\n    alertBox.classList.add('is-hidden');\r\n    statusEl.textContent = t('status_sending');\r\n    sendBtn.disabled = true;\r\n\r\n    const phone = normalizePhone(fTel.value);\r\n    const mail = fMail.value.trim();\r\n\r\n    if(\r\n      !fVor.value.trim() ||\r\n      !fNach.value.trim() ||\r\n      !phone ||\r\n      !isValidPhone(phone) ||\r\n      !mail ||\r\n      !isMail(mail)\r\n    ){\r\n      statusEl.textContent = '';\r\n      alertBox.textContent = t('error_required');\r\n      alertBox.className = 'ppf-alert err';\r\n      sendBtn.disabled = false;\r\n      return;\r\n    }\r\n\r\n    const fd = new FormData();\r\n    fd.append('action','folienelf_calc_mail');\r\n    fd.append('calc','milchglas');\r\n    fd.append('summary',buildSummary());\r\n    fd.append('firma',fFirma.value.trim());\r\n    fd.append('vorname',fVor.value.trim());\r\n    fd.append('nachname',fNach.value.trim());\r\n    fd.append('telefon',phone);\r\n    fd.append('email',mail);\r\n    fd.append('nachricht',fMsg.value.trim());\r\n\r\n    selectedFiles.forEach(file=>{\r\n      fd.append('attachments[]', file);\r\n    });\r\n\r\n    try{\r\n      const res = await fetch(ajaxUrl(),{\r\n        method:'POST',\r\n        body:fd,\r\n        credentials:'same-origin'\r\n      });\r\n\r\n      let json = null;\r\n      try{ json = await res.json(); }catch(e){}\r\n\r\n      statusEl.textContent = '';\r\n\r\n      if(res.ok && json && json.success){\r\n        alertBox.textContent = t('success_msg');\r\n        alertBox.className = 'ppf-alert ok';\r\n        sendBtn.disabled = true;\r\n      }else{\r\n        const msg = (json && json.data) ? String(json.data) : ('Fehler ' + res.status + ' \u2013 ' + res.statusText);\r\n        throw new Error(msg);\r\n      }\r\n    }catch(err){\r\n      alertBox.textContent = t('fail_prefix') + err.message;\r\n      alertBox.className = 'ppf-alert err';\r\n      sendBtn.disabled = false;\r\n    }\r\n  }\r\n\r\n  applyTranslations();\r\n\r\n  addAreaBtn.addEventListener('click', ()=>addAreaRow());\r\n\r\n  [finish,region,edge,removeOld].forEach(el=>{\r\n    if(el) el.addEventListener('change',calc);\r\n  });\r\n\r\n  cta.addEventListener('click',()=>{\r\n    if(panel.classList.contains('show')) return;\r\n    panel.classList.add('show');\r\n    panel.setAttribute('aria-hidden','false');\r\n    cta.setAttribute('aria-expanded','true');\r\n    panel.scrollIntoView({behavior:'smooth',block:'start'});\r\n  });\r\n\r\n  fTel.addEventListener('input',()=>{\r\n    const posEnd = fTel.selectionStart === fTel.value.length;\r\n    fTel.value = formatPhone(fTel.value);\r\n    if(posEnd) fTel.selectionStart = fTel.selectionEnd = fTel.value.length;\r\n  });\r\n\r\n  fFiles.addEventListener('change',()=>{\r\n    alertBox.classList.add('is-hidden');\r\n\r\n    const error = validateAndAddFiles(fFiles.files);\r\n    fFiles.value = '';\r\n\r\n    if(error){\r\n      alertBox.textContent = error;\r\n      alertBox.className = 'ppf-alert err';\r\n      return;\r\n    }\r\n\r\n    renderFileList();\r\n  });\r\n\r\n  sendBtn.addEventListener('click',sendForm);\r\n\r\n  addAreaRow();\r\n  calc();\r\n  renderFileList();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-36f0148 e-flex e-con-boxed e-con e-parent\" data-id=\"36f0148\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41ef4cc elementor-widget elementor-widget-html\" data-id=\"41ef4cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.fe-page{\r\n  font-family:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  color:#0b0b0b;\r\n  background:#fff;\r\n}\r\n\r\n.fe-page *{box-sizing:border-box}\r\n\r\n.fe-wrap{\r\n  max-width:1180px;\r\n  margin:0 auto;\r\n  padding:0 20px;\r\n}\r\n\r\n.fe-section{padding:70px 0}\r\n.fe-section-soft{background:#f7f7f7}\r\n\r\n.fe-head{\r\n  max-width:100%;\r\n  margin-bottom:34px;\r\n}\r\n\r\n.fe-kicker{\r\n  color:#b48a00;\r\n  font-weight:900;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  font-size:13px;\r\n  margin-bottom:8px;\r\n}\r\n\r\n.fe-head h2{\r\n  max-width:1100px;\r\n  font-size:clamp(28px,4vw,44px);\r\n  line-height:1.1;\r\n  margin:0 0 12px;\r\n  letter-spacing:-.03em;\r\n  white-space:normal;\r\n  overflow:visible;\r\n  word-break:normal;\r\n  hyphens:none;\r\n}\r\n\r\n.fe-head p{\r\n  color:#666;\r\n  font-size:17px;\r\n  line-height:1.55;\r\n  margin:0;\r\n}\r\n\r\n.fe-split{\r\n  display:grid;\r\n  grid-template-columns:.9fr 1.1fr;\r\n  gap:36px;\r\n  align-items:start;\r\n}\r\n\r\n@media(max-width:900px){\r\n  .fe-split{grid-template-columns:1fr}\r\n}\r\n\r\n.fe-list{\r\n  display:grid;\r\n  gap:12px;\r\n  margin:0;\r\n  padding:0;\r\n  list-style:none;\r\n}\r\n\r\n.fe-list li{\r\n  background:#fff;\r\n  border:1px solid #e9e9e9;\r\n  border-radius:14px;\r\n  padding:14px 16px;\r\n  font-weight:750;\r\n  line-height:1.45;\r\n}\r\n\r\n.fe-process-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(5,1fr);\r\n  gap:18px;\r\n}\r\n\r\n@media(max-width:1000px){\r\n  .fe-process-grid{grid-template-columns:repeat(2,1fr)}\r\n}\r\n\r\n@media(max-width:650px){\r\n  .fe-process-grid{grid-template-columns:1fr}\r\n}\r\n\r\n.fe-process-card{\r\n  background:#fff;\r\n  border:1px solid #e9e9e9;\r\n  border-radius:18px;\r\n  padding:24px;\r\n  box-shadow:0 12px 28px rgba(0,0,0,.045);\r\n}\r\n\r\n.fe-process-number{\r\n  width:46px;\r\n  height:46px;\r\n  border-radius:14px;\r\n  background:#ffc700;\r\n  color:#000;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  font-weight:900;\r\n  font-size:18px;\r\n  margin-bottom:16px;\r\n}\r\n\r\n.fe-process-card h3{\r\n  margin:0 0 10px;\r\n  font-size:20px;\r\n  line-height:1.2;\r\n}\r\n\r\n.fe-process-card p{\r\n  margin:0;\r\n  color:#666;\r\n  line-height:1.55;\r\n  font-size:15px;\r\n}\r\n\r\n.fe-faq-grid{\r\n  display:grid;\r\n  gap:14px;\r\n}\r\n\r\n.fe-faq details{\r\n  border:1px solid #e3e3e3;\r\n  border-radius:18px;\r\n  padding:0;\r\n  background:#fff;\r\n  overflow:hidden;\r\n  box-shadow:0 10px 24px rgba(0,0,0,.035);\r\n}\r\n\r\n.fe-faq summary{\r\n  cursor:pointer;\r\n  font-weight:900;\r\n  font-size:17px;\r\n  padding:18px 20px;\r\n  list-style:none;\r\n  display:flex;\r\n  align-items:center;\r\n  gap:12px;\r\n}\r\n\r\n.fe-faq summary::-webkit-details-marker{display:none}\r\n\r\n.fe-faq summary:before{\r\n  content:\"+\";\r\n  width:28px;\r\n  height:28px;\r\n  border-radius:9px;\r\n  background:#ffc700;\r\n  color:#000;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  font-weight:900;\r\n  flex:0 0 auto;\r\n}\r\n\r\n.fe-faq details[open] summary:before{\r\n  content:\"\u2212\";\r\n}\r\n\r\n.fe-faq p{\r\n  color:#666;\r\n  line-height:1.6;\r\n  margin:0;\r\n  padding:0 20px 20px 60px;\r\n}\r\n\r\n@media(max-width:650px){\r\n  .fe-faq p{padding:0 18px 18px}\r\n}\r\n\r\n.fe-cta-box{\r\n  background:#111;\r\n  color:#fff;\r\n  border-radius:28px;\r\n  padding:42px 28px;\r\n  text-align:center;\r\n}\r\n\r\n.fe-cta-box h2{\r\n  margin:0 0 12px;\r\n  font-size:clamp(28px,4vw,42px);\r\n  color:#fff !important;\r\n}\r\n\r\n.fe-cta-box p{\r\n  max-width:760px;\r\n  margin:0 auto 22px;\r\n  color:#ddd;\r\n  line-height:1.6;\r\n}\r\n\r\n.fe-actions{\r\n  display:flex;\r\n  gap:12px;\r\n  flex-wrap:wrap;\r\n  justify-content:center;\r\n}\r\n\r\n.fe-btn{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  min-height:48px;\r\n  padding:14px 22px;\r\n  border-radius:14px;\r\n  font-weight:900;\r\n  text-decoration:none !important;\r\n  border:1px solid transparent;\r\n}\r\n\r\n.fe-btn-yellow{\r\n  background:#ffc700;\r\n  color:#000 !important;\r\n}\r\n<\/style>\r\n\r\n<div class=\"fe-page\">\r\n\r\n  <section class=\"fe-section fe-section-soft\">\r\n    <div class=\"fe-wrap fe-split\">\r\n      <div class=\"fe-head\">\r\n        <div class=\"fe-kicker\">Warum FolienElf?<\/div>\r\n        <h2>Milchglasfolierung braucht saubere Masse und pr\u00e4zise Montage.<\/h2>\r\n        <p>\r\n          Damit Glasfl\u00e4chen hochwertig wirken, m\u00fcssen Zuschnitt, Ausrichtung und Kanten sauber verarbeitet werden. Wir folieren Glasfl\u00e4chen passgenau und abgestimmt auf den gew\u00fcnschten Sichtschutz.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <ul class=\"fe-list\">\r\n        <li>Milchglasfolie f\u00fcr Fenster, T\u00fcren, Glasw\u00e4nde und Trennw\u00e4nde<\/li>\r\n        <li>Mehr Privatsph\u00e4re ohne starke Verdunkelung<\/li>\r\n        <li>Schlichte Folierung, Streifen, Muster oder Logo m\u00f6glich<\/li>\r\n        <li>Saubere Montage f\u00fcr B\u00fcro, Praxis, Gewerbe und Zuhause<\/li>\r\n        <li>Individuelle Beratung zu Design, Sichtschutz und Fl\u00e4che<\/li>\r\n        <li>Standort im Kanton Zug<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"fe-section\">\r\n    <div class=\"fe-wrap\">\r\n      <div class=\"fe-head\">\r\n        <div class=\"fe-kicker\">Ablauf<\/div>\r\n        <h2>Von der ersten Anfrage bis zur fertigen Milchglasfolierung.<\/h2>\r\n        <p>\r\n          Wir kl\u00e4ren zuerst Fl\u00e4che, gew\u00fcnschte Optik und Montageort. Danach schneiden wir die Folie passend zu und montieren sie sauber auf den Glasfl\u00e4chen.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"fe-process-grid\">\r\n        <div class=\"fe-process-card\">\r\n          <div class=\"fe-process-number\">1<\/div>\r\n          <h3>Anfrage & Masse<\/h3>\r\n          <p>\r\n            Du sendest uns Breite, H\u00f6he, Anzahl Glasfl\u00e4chen und wenn m\u00f6glich Bilder der Situation.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-process-card\">\r\n          <div class=\"fe-process-number\">2<\/div>\r\n          <h3>Beratung & Design<\/h3>\r\n          <p>\r\n            Wir kl\u00e4ren, ob schlichte Milchglasfolie, Streifen, Logo oder ein spezielles Design sinnvoll ist.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-process-card\">\r\n          <div class=\"fe-process-number\">3<\/div>\r\n          <h3>Pr\u00fcfung der Glasfl\u00e4chen<\/h3>\r\n          <p>\r\n            Glaszustand, Kanten, Zug\u00e4nglichkeit und Montageaufwand werden gepr\u00fcft.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-process-card\">\r\n          <div class=\"fe-process-number\">4<\/div>\r\n          <h3>Produktion & Montage<\/h3>\r\n          <p>\r\n            Die Folie wird vorbereitet, zugeschnitten und sauber auf den Glasfl\u00e4chen montiert.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"fe-process-card\">\r\n          <div class=\"fe-process-number\">5<\/div>\r\n          <h3>Kontrolle & Pflege<\/h3>\r\n          <p>\r\n            Nach der Montage kontrollieren wir die Folierung und geben Hinweise zur Reinigung.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"fe-section fe-section-soft\">\r\n    <div class=\"fe-wrap\">\r\n      <div class=\"fe-head\">\r\n        <div class=\"fe-kicker\">FAQ<\/div>\r\n        <h2>H\u00e4ufige Fragen zur Milchglasfolierung.<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"fe-faq fe-faq-grid\">\r\n        <details>\r\n          <summary>Was bringt Milchglasfolie?<\/summary>\r\n          <p>\r\n            Milchglasfolie sorgt f\u00fcr Sichtschutz, ohne den Raum stark zu verdunkeln. Sie eignet sich f\u00fcr B\u00fcros, Praxen, T\u00fcren, Fenster und Glasw\u00e4nde.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Kann man durch Milchglasfolie noch Licht sehen?<\/summary>\r\n          <p>\r\n            Ja, Licht kommt weiterhin durch. Die Folie nimmt vor allem die klare Durchsicht und sorgt dadurch f\u00fcr mehr Privatsph\u00e4re.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Kann Milchglasfolie mit Logo oder Design gemacht werden?<\/summary>\r\n          <p>\r\n            Ja. M\u00f6glich sind Streifen, Muster, ausgeschnittene Bereiche oder Firmenlogos. Der Aufwand h\u00e4ngt vom Design ab.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Kann die Folie wieder entfernt werden?<\/summary>\r\n          <p>\r\n            Ja, Milchglasfolie kann sp\u00e4ter wieder entfernt werden. Der Aufwand h\u00e4ngt von Alter, Zustand und Glasfl\u00e4che ab.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Ist Milchglasfolie f\u00fcr Badezimmer geeignet?<\/summary>\r\n          <p>\r\n            Ja, grunds\u00e4tzlich ist sie auch f\u00fcr Badezimmer geeignet. Wichtig ist eine passende Folie und saubere Verarbeitung an Kanten und Feuchtbereichen.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Wie pflege ich Milchglasfolie?<\/summary>\r\n          <p>\r\n            Verwende milde Reinigungsmittel und weiche T\u00fccher. Aggressive Chemikalien oder scheuernde Materialien sollten vermieden werden.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Was kostet Milchglasfolierung?<\/summary>\r\n          <p>\r\n            Der Preis h\u00e4ngt von Fl\u00e4che, Anzahl Glasfl\u00e4chen, Designaufwand, Folienart und Montageort ab. Der Rechner gibt dir eine erste Orientierung.\r\n          <\/p>\r\n        <\/details>\r\n\r\n        <details>\r\n          <summary>Montiert ihr Milchglasfolie auch vor Ort?<\/summary>\r\n          <p>\r\n            Ja, Milchglasfolierung wird in der Regel direkt vor Ort montiert, zum Beispiel in B\u00fcros, Praxen oder privaten R\u00e4umen.\r\n          <\/p>\r\n        <\/details>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"fe-section\" id=\"milchglasfolierung-offer\">\r\n    <div class=\"fe-wrap\">\r\n      <div class=\"fe-cta-box\">\r\n        <h2>Sichtschutz, der hell und hochwertig bleibt.<\/h2>\r\n        <p>\r\n          Wenn du Glasfl\u00e4chen diskreter gestalten m\u00f6chtest, ohne Licht zu verlieren, ist Milchglasfolierung eine saubere und flexible L\u00f6sung.\r\n        <\/p>\r\n        <div class=\"fe-actions\">\r\n          <a class=\"fe-btn fe-btn-yellow\" href=\"#milkglas-calc\">Preis berechnen & Anfrage senden<\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3cb4192 e-con-full e-flex e-con e-parent\" data-id=\"3cb4192\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c98ee8b e-con-full e-flex e-con e-child\" data-id=\"c98ee8b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-01ddfde e-con-full e-flex e-con e-child\" data-id=\"01ddfde\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-83577c9 elementor-widget elementor-widget-heading\" data-id=\"83577c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Jetzt Kontakt aufnehmen<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9073122 e-grid e-con-boxed e-con e-child\" data-id=\"9073122\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e15c5be elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"e15c5be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-whatsapp\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t<a href=\"https:\/\/wa.me\/41786184949\" target=\"_blank\"><strong>+41 78 618 49 49 (WhatsApp)<\/strong><\/a>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cacbcf7 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"cacbcf7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-phone-alt\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t<a href=\"tel:+41786184949\"><strong>+41 78 618 49 49<\/strong><\/a>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ca620e elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"5ca620e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-envelope\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t<a href=\"mailto:info@folienelf.ch\"><strong>info@folienelf.ch<\/strong><\/a>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ad466dd e-con-full e-flex e-con e-parent\" data-id=\"ad466dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-746dd87 e-con-full e-flex e-con e-child\" data-id=\"746dd87\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aebbe7c elementor-widget__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"aebbe7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a9 2025 FolienElf GmbH | <span style=\"color: #808080;\"><a style=\"color: #808080;\" href=\"https:\/\/folienelf.ch\/impressum\/\">Impressum<\/a> <\/span>| <span style=\"color: #808080;\"><a style=\"color: #808080;\" href=\"https:\/\/folienelf.ch\/datenschutz\/\">Datenschutz<\/a><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Milchglasfolierung Dezent. Funktional. Sch\u00f6n Milchglasfolierung Sichtschutz f\u00fcr Glasfl\u00e4chen ohne Lichtverlust. Milchglasfolie sorgt f\u00fcr angenehme Privatsph\u00e4re, ohne R\u00e4ume dunkel wirken zu lassen. Ideal f\u00fcr B\u00fcros, Sitzungszimmer, Praxen, T\u00fcren, Fenster und Glasw\u00e4nde. Sichtschutz Mehr Privatsph\u00e4re Glasfl\u00e4chen bleiben hell, wirken aber diskreter und sch\u00fctzen vor unerw\u00fcnschten Blicken. Design Saubere Optik f\u00fcr Glasfl\u00e4chen Milchglasfolie kann schlicht, mit Streifen, Ausschnitten, [&hellip;]<\/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-1466","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Milchglasfolierung in Zug | Sichtschutz &amp; Design f\u00fcr Glasfl\u00e4chen<\/title>\n<meta name=\"description\" content=\"Hochwertige Milchglasfolierung f\u00fcr Fenster, T\u00fcren, B\u00fcror\u00e4ume und Trennw\u00e4nde. Moderner Sichtschutz ohne Lichtverlust, optional mit Streifen, Mustern oder Logo. Professionelle Montage in Zug und Umgebung.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/folienelf.ch\/en\/milchglasfolierung\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Milchglasfolierung in Zug | Sichtschutz &amp; Design f\u00fcr Glasfl\u00e4chen\" \/>\n<meta property=\"og:description\" content=\"Hochwertige Milchglasfolierung f\u00fcr Fenster, T\u00fcren, B\u00fcror\u00e4ume und Trennw\u00e4nde. Moderner Sichtschutz ohne Lichtverlust, optional mit Streifen, Mustern oder Logo. Professionelle Montage in Zug und Umgebung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/folienelf.ch\/en\/milchglasfolierung\/\" \/>\n<meta property=\"og:site_name\" content=\"FolienElf GmbH \u2013 Beschriftung &amp; Werbetechnik in Zug | Fahrzeugfolierung &amp; Fensterfolien\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-28T13:01:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/folienelf.ch\\\/milchglasfolierung\\\/\",\"url\":\"https:\\\/\\\/folienelf.ch\\\/milchglasfolierung\\\/\",\"name\":\"Milchglasfolierung in Zug | Sichtschutz & Design f\u00fcr Glasfl\u00e4chen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/folienelf.ch\\\/#website\"},\"datePublished\":\"2025-11-17T18:09:00+00:00\",\"dateModified\":\"2026-05-28T13:01:12+00:00\",\"description\":\"Hochwertige Milchglasfolierung f\u00fcr Fenster, T\u00fcren, B\u00fcror\u00e4ume und Trennw\u00e4nde. Moderner Sichtschutz ohne Lichtverlust, optional mit Streifen, Mustern oder Logo. Professionelle Montage in Zug und Umgebung.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/folienelf.ch\\\/milchglasfolierung\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/folienelf.ch\\\/milchglasfolierung\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/folienelf.ch\\\/milchglasfolierung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/folienelf.ch\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Milchglasfolierung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/folienelf.ch\\\/#website\",\"url\":\"https:\\\/\\\/folienelf.ch\\\/\",\"name\":\"FolienElf\",\"description\":\"Hochwertige Folierungen f\u00fcr Autos, K\u00fcchen, Fenster &amp; Werbung \u2013 langlebig &amp; professionell.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/folienelf.ch\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Milchglasfolierung in Zug | Sichtschutz & Design f\u00fcr Glasfl\u00e4chen","description":"Hochwertige Milchglasfolierung f\u00fcr Fenster, T\u00fcren, B\u00fcror\u00e4ume und Trennw\u00e4nde. Moderner Sichtschutz ohne Lichtverlust, optional mit Streifen, Mustern oder Logo. Professionelle Montage in Zug und Umgebung.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/folienelf.ch\/en\/milchglasfolierung\/","og_locale":"en_GB","og_type":"article","og_title":"Milchglasfolierung in Zug | Sichtschutz & Design f\u00fcr Glasfl\u00e4chen","og_description":"Hochwertige Milchglasfolierung f\u00fcr Fenster, T\u00fcren, B\u00fcror\u00e4ume und Trennw\u00e4nde. Moderner Sichtschutz ohne Lichtverlust, optional mit Streifen, Mustern oder Logo. Professionelle Montage in Zug und Umgebung.","og_url":"https:\/\/folienelf.ch\/en\/milchglasfolierung\/","og_site_name":"FolienElf GmbH \u2013 Beschriftung &amp; Werbetechnik in Zug | Fahrzeugfolierung &amp; Fensterfolien","article_modified_time":"2026-05-28T13:01:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/folienelf.ch\/milchglasfolierung\/","url":"https:\/\/folienelf.ch\/milchglasfolierung\/","name":"Milchglasfolierung in Zug | Sichtschutz & Design f\u00fcr Glasfl\u00e4chen","isPartOf":{"@id":"https:\/\/folienelf.ch\/#website"},"datePublished":"2025-11-17T18:09:00+00:00","dateModified":"2026-05-28T13:01:12+00:00","description":"Hochwertige Milchglasfolierung f\u00fcr Fenster, T\u00fcren, B\u00fcror\u00e4ume und Trennw\u00e4nde. Moderner Sichtschutz ohne Lichtverlust, optional mit Streifen, Mustern oder Logo. Professionelle Montage in Zug und Umgebung.","breadcrumb":{"@id":"https:\/\/folienelf.ch\/milchglasfolierung\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/folienelf.ch\/milchglasfolierung\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/folienelf.ch\/milchglasfolierung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/folienelf.ch\/"},{"@type":"ListItem","position":2,"name":"Milchglasfolierung"}]},{"@type":"WebSite","@id":"https:\/\/folienelf.ch\/#website","url":"https:\/\/folienelf.ch\/","name":"Home","description":"Hochwertige Folierungen f\u00fcr Autos, K\u00fcchen, Fenster &amp; Werbung \u2013 langlebig &amp; professionell.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/folienelf.ch\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"}]}},"_links":{"self":[{"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/pages\/1466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/comments?post=1466"}],"version-history":[{"count":143,"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/pages\/1466\/revisions"}],"predecessor-version":[{"id":3184,"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/pages\/1466\/revisions\/3184"}],"wp:attachment":[{"href":"https:\/\/folienelf.ch\/en\/wp-json\/wp\/v2\/media?parent=1466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}