/* RMG Kundenbereiche – Formular-, Login- und Shop-Styling */

.um{margin:0 0 0 0!important;max-width:520px!important;padding:0!important}
.um .um-form form{margin:0!important}
.um .um-form{max-width:100%}
.um .um-field{padding-top:0!important;margin-bottom:22px!important}
.um .um-field-label{margin-bottom:8px!important}
.um .um-field-label label{font-size:16px!important;font-weight:600!important;color:#35415b!important;line-height:1.4!important}
.um .um-field-label .um-req{color:#2D719D!important}
.um input.um-form-field,.um select.um-form-field,.um textarea.um-form-field{height:50px!important;padding:0 16px!important;border:1px solid transparent!important;border-radius:6px!important;font-size:16px!important;background:#f2f4f7!important;box-shadow:none!important}
.um textarea.um-form-field{height:auto!important;padding:12px 16px!important}
.um input.um-form-field:focus,.um select.um-form-field:focus{border-color:#2D719D!important;outline:2px solid rgba(45,113,157,.15)!important}
.um .um-col-alt{margin-top:8px!important;display:flex!important;flex-direction:column!important;gap:20px!important}
.um .um-col-alt .um-field{margin:0!important;padding:0!important}
.um .um-field-checkbox{display:flex!important;align-items:center!important;gap:10px!important;padding:0!important;margin:0!important}
.um .um-field-checkbox .um-field-checkbox-state{display:none!important}
.um .um-field-checkbox input[type=checkbox]{position:static!important;opacity:1!important;width:20px!important;height:20px!important;margin:0!important;accent-color:#2D719D;border:1px solid #9aa6bd!important;border-radius:4px!important;background:#fff!important;cursor:pointer}
.um .um-field-checkbox .um-field-checkbox-option{margin:0!important;padding:0!important;font-size:16px!important;line-height:22px!important;color:#35415b!important}
.um .um-left,.um .um-right,.um .um-half{float:none!important;width:100%!important;margin:0!important}
.um input[type=submit].um-button,.um a.um-button,.um .um-button{display:inline-block!important;width:100%!important;max-width:320px!important;height:auto!important;min-height:52px!important;padding:15px 36px!important;background:#2D719D!important;color:#fff!important;border:0!important;border-radius:12px!important;font-size:16px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:.2px!important;cursor:pointer!important;box-shadow:none!important;transition:background .2s ease!important}
.um input[type=submit].um-button:hover,.um .um-button:hover{background:#245d82!important}
.um .um-button.um-alt{background:#fff!important;color:#2D719D!important;border:2px solid #2D719D!important}
.um .um-col-alt-b{margin-top:18px!important;padding:0!important}
.um .um-col-alt-b a.um-link-alt{font-size:15px!important;color:#2D719D!important;text-decoration:underline!important}
.um .um-field-error{margin-top:8px!important;border-radius:6px!important}
.um .um-field-gdpr,.um .um-field-type_terms_conditions{margin-top:6px!important}
@media (max-width:600px){.um input[type=submit].um-button,.um .um-button{max-width:100%!important}.um .um-field{margin-bottom:18px!important}}

/* Shop / Standrohre */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,a.wcrp-rental-products-select-dates-button,.single_add_to_cart_button,.wc-block-components-button:not(.is-link):not(.wc-block-components-totals-coupon__button){background:#2D719D!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 26px!important;font-size:15px!important;font-weight:700!important;line-height:1.3!important;box-shadow:none!important;text-transform:none!important;transition:background .2s ease!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,a.wcrp-rental-products-select-dates-button:hover,.single_add_to_cart_button:hover,.wc-block-components-button:not(.is-link):hover{background:#245d82!important;color:#fff!important}
.w-grid-item.product .w-grid-item-h{background:#fff;border:1px solid #e3e7f0;border-radius:12px;overflow:hidden;padding-bottom:22px;height:100%}
.w-grid-item.product .post_image img{border-radius:0}
.w-grid-item.product .post_title{font-size:19px!important;font-weight:600!important;line-height:1.35!important;margin:18px 22px 6px!important}
.w-grid-item.product .price{font-size:17px!important;font-weight:700!important;color:#2D719D!important;margin:0 22px 16px!important}
.w-grid-item.product .w-btn-wrapper{margin:0 22px!important}

.woocommerce div.product form.cart .single_add_to_cart_button.button.alt,.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:disabled,.woocommerce div.product form.cart .single_add_to_cart_button.button.alt.disabled{background:#2D719D!important;color:#fff!important;min-width:220px;padding:15px 32px!important;font-size:16px!important}
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:disabled,.woocommerce div.product form.cart .single_add_to_cart_button.button.alt.disabled{opacity:.45!important;cursor:not-allowed!important}
.wcrp-rental-products-rental-form{padding:0!important;margin:10px 0 22px!important}
.wcrp-rental-products-rental-form label,.wcrp-rental-products-rental-form .wcrp-rental-products-rental-dates-label{display:block;font-weight:600!important;color:#35415b!important;font-size:16px!important;margin:0 0 8px!important;padding:0!important}
input.wcrp-rental-products-rental-dates{width:100%!important;max-width:380px!important;height:50px!important;padding:0 16px!important;border:1px solid transparent!important;border-radius:6px!important;background:#f2f4f7!important;font-size:16px!important;color:#35415b!important;cursor:pointer!important;margin:0!important}
input.wcrp-rental-products-rental-dates:focus{border-color:#2D719D!important;outline:2px solid rgba(45,113,157,.15)!important}
.woocommerce div.product .product_meta{margin-top:18px}

.woocommerce div.product form.cart{display:block!important;width:100%!important;max-width:420px}
.woocommerce div.product form.cart .wcrp-rental-products-rental-form{width:100%!important;margin-left:0!important}

#gform_wrapper_4 .gform_footer [type=submit],#gform_wrapper_4 .gform_page_footer [type=submit]{background:#2D719D!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:15px 36px!important;font-weight:700!important;min-width:220px}
#gform_wrapper_4 .gform_footer [type=submit]:hover{background:#245d82!important}

#gform_wrapper_4 .gform_footer{margin-top:28px!important;padding-top:0!important}

/* Kachel-Raster (Icon-Boxen): leere Spalten ausblenden, saubere Silbentrennung mobil */
.g-cols.via_grid > .wpb_column:has(> .vc_column-inner:empty){display:none!important}
.w-iconbox-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:normal}
@media (max-width:600px){
 .g-cols.via_grid{gap:12px!important}
 .w-iconbox.style_outlined{padding-left:8px!important;padding-right:8px!important}
 .w-iconbox .w-iconbox-title{font-size:15px!important;line-height:1.35!important}
}

/* ===== Einheitliche Typografie (UX & Barrierefreiheit) ===== */
html:root{
 --h1-font-size:clamp(30px, 1.6vw + 22px, 44px);
 --h2-font-size:clamp(24px, 1vw + 18px, 32px);
 --h3-font-size:clamp(20px, .5vw + 17px, 24px);
 --h4-font-size:clamp(18px, .25vw + 16px, 20px);
 --h1-line-height:1.2;--h2-line-height:1.25;--h3-line-height:1.3;--h4-line-height:1.35;
 --line-height:1.6;
 --color-content-faded:#5f6b8a; /* vorher #727f9f – Kontrast jetzt AA */
 --color-footer-text:#ffffff;   /* vorher #D1D9E6 auf Blau – Kontrast 3,7:1 -> 5,3:1 */
}
h1,h2,h3,h4,.w-iconbox-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
h1,h2,h3{text-wrap:balance}
.l-main p,.l-main li{line-height:1.6}
.l-footer,.l-footer a{color:#fff}

/* Einleitungs-/Lead-Text unter Überschriften (ersetzt h5/h6 als Fließtext) */
.rmg-lead{font-size:clamp(17px, .3vw + 16px, 19px)!important;line-height:1.6!important;color:inherit;margin:0 auto 1.25rem;max-width:820px}
p.rmg-lead[style*="center"]{margin-left:auto;margin-right:auto}

/* Kachel-Titel nicht kleiner als Fließtext */
.w-iconbox .w-iconbox-title{font-size:17px!important;line-height:1.4!important}
@media (max-width:600px){.w-iconbox .w-iconbox-title{font-size:15px!important}}

/* FAQ-/Akkordeon-Titel einheitlich */
.w-tabs-section-title{font-size:18px!important;line-height:1.4!important;font-weight:600!important}
@media (max-width:600px){.w-tabs-section-title{font-size:17px!important}}

/* Sichtbarer Tastatur-Fokus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.w-btn:focus-visible{outline:3px solid #2D719D!important;outline-offset:2px!important}
.l-footer a:focus-visible{outline-color:#fff!important}
/* Bestehende Einleitungstexte, die als h5/h6 angelegt sind, optisch als Lead-Text */
.l-main .wpb_text_column h5,.l-main .wpb_text_column h6{font-size:clamp(17px, .3vw + 16px, 19px)!important;line-height:1.6!important;font-weight:400!important;margin-bottom:1.25rem!important}
.l-main .wpb_text_column h6[style*="center"],.l-main .wpb_text_column h5[style*="center"]{max-width:820px;margin-left:auto;margin-right:auto}

/* ===== Kundenbereich ===== */
.rmg-kb{max-width:1040px;margin:0 auto}
.rmg-kb-h{text-align:center;margin:0 0 .5rem}
.rmg-kb-sub{text-align:center;max-width:720px;margin:0 auto 1.75rem!important}
.rmg-kb-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 3rem}
.rmg-kb-card{display:flex;gap:18px;align-items:flex-start;background:#f2f4f7;border-radius:12px;padding:28px}
.rmg-kb-card--wide{grid-column:1/-1}
.rmg-kb-card-icon{flex:0 0 56px;height:56px;border:2px solid #2D719D;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2D719D;font-size:22px}
.rmg-kb-card-body h3{margin:4px 0 8px;font-size:var(--h3-font-size)}
.rmg-kb-card-body p{margin:0 0 14px}
.rmg-kb-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0!important}
.rmg-kb-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:12px;font-weight:700;text-decoration:none!important;border:2px solid #2D719D;line-height:1.2;transition:background .2s,color .2s}
.rmg-kb-btn--primary{background:#2D719D;color:#fff!important}
.rmg-kb-btn--primary:hover{background:#245d82;border-color:#245d82}
.rmg-kb-btn--outline{background:#fff;color:#2D719D!important}
.rmg-kb-btn--outline:hover{background:#2D719D;color:#fff!important}
.rmg-kb-note{display:flex;gap:12px;align-items:flex-start;background:#eaf3f9;border-left:4px solid #2D719D;border-radius:8px;padding:16px 18px;margin:0 auto!important;max-width:820px}
.rmg-kb-note i{color:#2D719D;margin-top:4px}
.rmg-kb-preview{text-align:center;font-size:14px;background:#fff7e0;border:1px dashed #d9a400;border-radius:8px;padding:8px 12px;margin:0 auto 24px!important;max-width:720px}
.rmg-kb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;background:#f2f4f7;border-radius:12px;padding:24px;margin:0 0 2.5rem}
.rmg-kb-tile .w-iconbox{height:100%}
.rmg-kb-tiles--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin-left:auto;margin-right:auto}
.rmg-kb-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.rmg-kb-tiles--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rmg-kb-login{max-width:560px}
.rmg-kb-login .um{margin:0 auto!important}
.rmg-kb-login-foot{text-align:center;margin:20px 0 28px}
.rmg-kb-login-foot p{margin:0 0 8px}
.rmg-kb-small{font-size:15px;color:var(--color-content-faded)}
@media (max-width:767px){
 .rmg-kb-cards{grid-template-columns:1fr;gap:16px}
 .rmg-kb-card{padding:22px;flex-direction:column}
 .rmg-kb-tiles,.rmg-kb-tiles--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
 .rmg-kb-actions .rmg-kb-btn{flex:1 1 auto;justify-content:center}
}

/* Unternavigation */
.rmg-kb-subnav{background:#fff;border-bottom:1px solid #e3e7f0;box-shadow:0 6px 16px rgba(0,0,0,.04);position:relative;z-index:5}
.rmg-kb-subnav-in{max-width:1240px;margin:0 auto;padding:10px 2.5rem;display:flex;align-items:center;gap:18px}
.rmg-kb-subnav-title{font-weight:700;color:#0f131f;white-space:nowrap}
.rmg-kb-subnav ul{list-style:none;margin:0!important;padding:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;flex:1}
.rmg-kb-subnav li{margin:0!important;flex:0 0 auto}
.rmg-kb-subnav a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;color:#35415b;text-decoration:none!important;font-size:15px;white-space:nowrap}
.rmg-kb-subnav a:hover{background:#f2f4f7;color:#2D719D}
.rmg-kb-subnav a[aria-current="page"]{background:#2D719D;color:#fff}
.rmg-kb-subnav-out{margin-left:auto!important}
@media (max-width:767px){.rmg-kb-subnav-in{padding:8px 16px}.rmg-kb-subnav-title{display:none}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
