
.p1ra{
	--ra-primary: var(--e-global-color-primary, #5F7B6B);
	--ra-primary-light: var(--e-global-color-1536e0b, #748E7F);
	--ra-text: var(--e-global-color-text, #000000);
	--ra-white: var(--e-global-color-1f1b895, #FFFFFF);
	--ra-grey: var(--e-global-color-2920673, #E9EBEB);
	--ra-font-head: "Helvetica Neue",Helvetica,Arial,sans-serif;
	--ra-font-text: "Helvetica Neue",Helvetica,Arial,sans-serif;
	--ra-weight-head: var(--e-global-typography-primary-font-weight, 600);
	--ra-weight-text: var(--e-global-typography-text-font-weight, 400);
	--ra-weight-accent: var(--e-global-typography-accent-font-weight, 500);
	--ra-radius: 8px;
	--ra-gap: 18px;
	font-family: var(--ra-font-text);
	font-weight: var(--ra-weight-text);
	color: var(--ra-text);
	width: 100%;
	font-size: 17px;
	line-height: 1.6;
}
.p1ra *,.p1ra *::before,.p1ra *::after{ box-sizing: border-box; }
.p1ra [hidden]{ display:none !important; }   /* schlägt eigene display-Regeln (z. B. Buttons) */
.p1ra-hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }

/* --- Fortschritt --- */
.p1ra-progress{ margin-bottom: 28px; }
.p1ra-progress-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px;
	font-size:15px; font-weight:var(--ra-weight-accent); color:var(--ra-primary); letter-spacing:.02em; }
.p1ra-progress-bar{ height:6px; border-radius:999px; background:var(--ra-grey); overflow:hidden; }
.p1ra-progress-fill{ height:100%; width:9%; border-radius:999px; background:var(--ra-primary); transition:width .35s ease; }

/* --- Schritte --- */
.p1ra-step{ display:none; animation:p1raIn .3s ease; }
.p1ra-step.is-active{ display:block; }
@keyframes p1raIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }
@media (prefers-reduced-motion: reduce){ .p1ra-step{ animation:none; } .p1ra-progress-fill{ transition:none; } }

.p1ra-h2{ font-family:var(--ra-font-head); font-weight:var(--ra-weight-head); color:var(--ra-text);
	font-size:clamp(22px,3vw,30px); line-height:1.25; margin:0 0 10px; }
.p1ra-h3{ font-family:var(--ra-font-head); font-weight:var(--ra-weight-head); font-size:20px; margin:28px 0 10px; }
.p1ra-lead{ margin:0 0 20px; color:#4a4a4a; }
.p1ra-hint{ font-size:14px; color:#6d6d6d; margin:6px 0 0; }

/* --- Hinweisbox --- */
.p1ra-note{ background:var(--ra-grey); border-left:4px solid var(--ra-primary);
	border-radius:var(--ra-radius); padding:18px 20px; margin:0 0 22px; font-size:16px; }
.p1ra-note strong{ display:block; margin-bottom:6px; font-family:var(--ra-font-head);
	font-weight:var(--ra-weight-head); color:var(--ra-primary); }
.p1ra-note p{ margin:0 0 10px; }
.p1ra-note p:last-child{ margin-bottom:0; }

/* --- Felder --- */
.p1ra-grid{ display:flex; flex-wrap:wrap; gap:var(--ra-gap); }
.p1ra-col-100{ flex:0 0 100%; }
.p1ra-col-50{ flex:1 1 calc(50% - var(--ra-gap)); min-width:220px; }
.p1ra-field{ display:block; margin-bottom:var(--ra-gap); }
.p1ra-label{ display:block; font-weight:var(--ra-weight-accent); font-size:15px; margin-bottom:6px; }
.p1ra input[type=text],.p1ra input[type=email],.p1ra input[type=tel],.p1ra select,.p1ra textarea{
	width:100%; padding:13px 15px; font-family:var(--ra-font-text); font-size:16px; color:var(--ra-text);
	background:var(--ra-white); border:1px solid #cfd6d2; border-radius:var(--ra-radius);
	transition:border-color .2s, box-shadow .2s; }
.p1ra textarea{ resize:vertical; min-height:120px; }
.p1ra select{ appearance:none;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235F7B6B'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 12px center; background-size:22px; padding-right:42px; }
.p1ra input:focus,.p1ra select:focus,.p1ra textarea:focus{
	outline:none; border-color:var(--ra-primary); box-shadow:0 0 0 3px rgba(95,123,107,.18); }
.p1ra .has-error input,.p1ra .has-error select,.p1ra .has-error textarea{ border-color:#c0392b; }
.p1ra-error{ display:none; color:#c0392b; font-size:14px; margin-top:5px; }
.p1ra .has-error > .p1ra-error{ display:block; }
.p1ra .p1ra-check-block.has-error{ border-color:#c0392b; background:#fdf3f2; }
.p1ra .p1ra-check-block.has-error + .p1ra-error{ display:block; }
.p1ra-counter{ display:block; text-align:right; font-size:13px; color:#8a8a8a; margin-top:4px; }
.p1ra-sub{ margin-top:22px; }

/* --- Auswahl --- */
.p1ra-options{ display:flex; flex-wrap:wrap; gap:12px; }
.p1ra-options-inline .p1ra-check{ flex:0 1 auto; }
.p1ra-options-grid .p1ra-check-tile{ flex:1 1 calc(33.333% - 12px); min-width:190px; }
.p1ra-check{ display:flex; align-items:flex-start; gap:10px; cursor:pointer; line-height:1.5; }
.p1ra-check input{ flex:0 0 auto; width:20px; height:20px; margin:2px 0 0; accent-color:var(--ra-primary); cursor:pointer; }
.p1ra-check-block{ background:var(--ra-white); border:1px solid #cfd6d2; border-radius:var(--ra-radius);
	padding:14px 16px; margin-bottom:12px; transition:border-color .2s, background .2s; }
.p1ra-check-block:hover{ border-color:var(--ra-primary-light); }
.p1ra-check-block:has(input:checked){ border-color:var(--ra-primary); background:rgba(95,123,107,.07); }
.p1ra-check-tile{ background:var(--ra-white); border:1px solid #cfd6d2; border-radius:var(--ra-radius);
	padding:14px 16px; transition:border-color .2s, background .2s; }
.p1ra-check-tile:hover{ border-color:var(--ra-primary-light); }
.p1ra-check-tile:has(input:checked){ border-color:var(--ra-primary); background:rgba(95,123,107,.09); }
.p1ra-check small{ display:block; color:#6d6d6d; font-size:14px; margin-top:4px; }
.p1ra-check a{ color:var(--ra-primary); text-decoration:underline; }

/* --- Kacheln (Objektart) --- */
.p1ra-options-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; }
.p1ra-tile{ cursor:pointer; }
.p1ra-tile input{ position:absolute; width:1px; height:1px; opacity:0; margin:0; }
.p1ra-tile-inner{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
	padding:26px 14px; text-align:center; background:var(--ra-white); border:2px solid #cfd6d2;
	border-radius:var(--ra-radius); font-weight:var(--ra-weight-accent); transition:all .2s; height:100%; }
.p1ra-tile:hover .p1ra-tile-inner{ border-color:var(--ra-primary-light); transform:translateY(-2px); }
.p1ra-tile input:checked + .p1ra-tile-inner{ border-color:var(--ra-primary); background:rgba(95,123,107,.14);
	box-shadow:inset 0 0 0 1px var(--ra-primary); }
.p1ra-tile input:checked + .p1ra-tile-inner::after{ content:"\2713"; position:absolute; top:8px; right:12px;
	color:var(--ra-primary); font-size:18px; line-height:1; }
.p1ra-tile-inner{ position:relative; }
.p1ra-tile input:focus-visible + .p1ra-tile-inner{ box-shadow:0 0 0 3px rgba(95,123,107,.25); }
.p1ra-tile-icon{ font-size:30px; line-height:1; color:var(--ra-primary); }

/* --- Slider --- */
.p1ra-slider{ display:flex; align-items:center; gap:14px; margin-top:10px; }
.p1ra-slider-min,.p1ra-slider-max{ font-size:14px; color:#6d6d6d; white-space:nowrap; }
.p1ra input[type=range]{ flex:1; accent-color:var(--ra-primary); height:6px; }
.p1ra-slider-out{ text-align:center; margin-top:16px; font-size:20px; font-family:var(--ra-font-head); }
.p1ra-slider-val{ color:var(--ra-primary); font-size:30px; }

/* --- Upload --- */
.p1ra-upload{ margin-top:12px; }
.p1ra-upload-btn{ display:inline-flex; align-items:center; gap:10px; cursor:pointer;
	background:var(--ra-grey); border:1px dashed var(--ra-primary); color:var(--ra-primary);
	border-radius:var(--ra-radius); padding:14px 22px; font-weight:var(--ra-weight-accent); transition:background .2s; }
.p1ra-upload-btn:hover{ background:rgba(95,123,107,.14); }
.p1ra-upload-btn input{ position:absolute; width:1px; height:1px; opacity:0; margin:0; }
.p1ra-filelist{ list-style:none; margin:14px 0 0; padding:0; }
.p1ra-filelist li{ display:flex; justify-content:space-between; gap:12px; padding:9px 12px;
	background:var(--ra-grey); border-radius:6px; margin-bottom:6px; font-size:15px; }
.p1ra-filelist span{ color:#6d6d6d; white-space:nowrap; }

/* --- Details --- */
.p1ra-details{ background:var(--ra-grey); border-radius:var(--ra-radius); padding:0 18px; margin:0 0 16px; }
.p1ra-details summary{ cursor:pointer; padding:14px 0; font-weight:var(--ra-weight-accent); color:var(--ra-primary); }
.p1ra-details-body{ font-size:15px; padding-bottom:14px; }
.p1ra-details-body p{ margin:0 0 10px; }

/* --- Navigation --- */
.p1ra-nav{ display:flex; justify-content:space-between; gap:14px; margin-top:30px;
	padding-top:20px; border-top:1px solid var(--ra-grey); }
.p1ra-btn{ font-family:var(--ra-font-text); font-weight:var(--ra-weight-accent); font-size:16px;
	padding:13px 26px; border-radius:var(--ra-radius); cursor:pointer; border:1px solid var(--ra-primary);
	background:transparent; color:var(--ra-primary); transition:all .2s; }
.p1ra-btn:hover{ background:rgba(95,123,107,.1); }
.p1ra-next{ background:var(--ra-primary); color:var(--ra-white); margin-left:auto; }
.p1ra-next:hover,.p1ra .p1ra-next:focus{ background:var(--ra-primary-light); color:var(--ra-white); }
/* Zurück-Button: bleibt in jedem Zustand dunkel (kein weißer Text durch Theme-CSS) */
.p1ra .p1ra-prev{ color:var(--ra-text); border-color:#cfd6d2; background:transparent; }
.p1ra .p1ra-prev:hover,.p1ra .p1ra-prev:focus,.p1ra .p1ra-prev:active{
	background:var(--ra-grey); color:var(--ra-text); border-color:var(--ra-primary); }
.p1ra-submit{ display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-left:auto;
	font-family:var(--ra-font-text); font-weight:var(--ra-weight-accent); font-size:16px; letter-spacing:.02em;
	padding:13px 30px; border:1px solid var(--ra-primary); border-radius:var(--ra-radius);
	cursor:pointer; background:var(--ra-primary); color:var(--ra-white); transition:background .2s; }
.p1ra-submit:hover{ background:var(--ra-primary-light); border-color:var(--ra-primary-light); }
.p1ra-submit[disabled]{ opacity:.65; cursor:not-allowed; }
.p1ra-spinner{ display:none; width:18px; height:18px; border:2px solid rgba(255,255,255,.4);
	border-top-color:var(--ra-white); border-radius:50%; animation:p1raSpin .7s linear infinite; }
.is-sending .p1ra-spinner{ display:inline-block; }
@keyframes p1raSpin{ to{ transform:rotate(360deg); } }

.p1ra-formerror{ margin-top:18px; padding:14px 16px; border-radius:var(--ra-radius);
	background:#fdecea; border:1px solid #e6b0aa; color:#a5281b; font-size:15px; }

/* --- Erfolg --- */
.p1ra-success{ text-align:center; padding:50px 20px; background:var(--ra-grey); border-radius:var(--ra-radius); }
.p1ra-success-icon{ width:70px; height:70px; margin:0 auto 20px; border-radius:50%;
	background:var(--ra-primary); color:var(--ra-white); font-size:36px; line-height:70px; }

@media (max-width:600px){
	.p1ra{ font-size:16px; }
	.p1ra-col-50{ flex:0 0 100%; }
	.p1ra-options-grid .p1ra-check-tile{ flex:0 0 100%; }
	.p1ra-nav{ flex-wrap:wrap; }
	.p1ra-btn{ padding:12px 18px; font-size:15px; }
	.p1ra-submit{ flex:1 1 100%; margin-left:0; padding:12px 18px; font-size:15px; }
}
/* Dietz website appearance, independent of the previous Elementor theme. */
.p1ra{--ra-primary:#4a6155;--ra-primary-light:#768f80;--ra-text:#293c32;--ra-grey:#edf2ee;--ra-font-head:"Helvetica Neue",Helvetica,Arial,sans-serif;--ra-font-text:"Helvetica Neue",Helvetica,Arial,sans-serif;--ra-weight-head:700;--ra-weight-text:400;--ra-weight-accent:700;--ra-radius:14px;background:#fff;border:1px solid #dae3dc;padding:38px;border-radius:26px;font-size:16px}
.p1ra-btn{border-radius:99px}.p1ra-step{padding:0}.p1ra-card:has(input:checked){background:#edf2ee}.p1ra input:focus-visible,.p1ra select:focus-visible,.p1ra textarea:focus-visible,.p1ra button:focus-visible{outline:3px solid #9cb4a4;outline-offset:3px}.p1ra-form .p1ra-nav{flex-wrap:wrap}.p1ra-form input,.p1ra-form textarea,.p1ra-form select{font-size:16px}
@media(max-width:600px){.p1ra{padding:22px}.p1ra-submit{width:100%}.p1ra-h2{font-size:25px}}

/* Compact entry directly above the repair form. */
.dietz-repair-wrap{padding-top:32px}
.dietz-repair-wrap .dietz-repair-title{font-size:clamp(28px,4vw,38px);line-height:1.15;color:#293c32;margin:0 0 24px;font-weight:700;letter-spacing:-.7px}
@media(max-width:600px){.dietz-repair-wrap{padding-top:24px}.dietz-repair-wrap .dietz-repair-title{margin-bottom:20px}}

.p1ra .p1ra-tile-icon{display:block;width:100%;height:100px}.p1ra .p1ra-tile-icon img{width:100%;height:100%;object-fit:contain;border-radius:0}
