
/* Basis der Baukasten-Embeds (vorher im Iframe, jetzt auf .lbw-embed begrenzt) */
.lbw-embed, .lbw-embed *, .lbw-embed *::before, .lbw-embed *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; }
.lbw-embed { font-size: 16px; line-height: 22.4px; font-family: helvetica, arial, tahoma, verdana, sans-serif; color: black; text-align: left; word-break: break-word; overflow-wrap: break-word; }
.lbw-embed * { max-width: 100%; }
.lbw-embed input, .lbw-embed textarea, .lbw-embed select, .lbw-embed button { color: initial; font: inherit; }
.lbw-embed b, .lbw-embed strong { font-weight: bold; }
.lbw-embed img { width: auto; height: auto; max-width: 100%; }
.lbw-embed h1, .lbw-embed h2, .lbw-embed h3, .lbw-embed h4, .lbw-embed p, .lbw-embed ul, .lbw-embed ol { margin: 16px 0; }
.lbw-embed ol, .lbw-embed ul { padding: 0 0 0 40px; }
.lbw-embed h1, .lbw-embed h2, .lbw-embed h3, .lbw-embed h4, .lbw-embed h5, .lbw-embed h6 { font-weight: bold; font-style: inherit; color: inherit; text-align: inherit; line-height: inherit; }
.lbw-embed h1 { font-size: 1.8em; } .lbw-embed h2 { font-size: 1.5em; } .lbw-embed h3 { font-size: 1.3em; } .lbw-embed h4 { font-size: 1.1em; }
/* main.css setzt h3 global auf Caveat !important – im Iframe griff das nicht */
.lbw-embed h3 { font-family: inherit !important; font-style: inherit !important; }
.lbw-embed a { color: rgb(205,73,54); text-decoration: none; }
.lbw-embed a:hover { color: rgb(220,128,115); text-decoration: underline; transition: color .3s ease, background-color .3s ease, border-color .3s ease; }
/* Fehlermeldung des Formulars */
.lbw-embed .lbw-form-error { background: #fdecea; color: #b71c1c; border-left: 4px solid #d32137; padding: 15px 20px; border-radius: 8px; margin: 0 0 25px; font-weight: bold; }
.lbw-embed .lbw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---- Block: hero ---- */
.lbw-hero, .lbw-hero * {margin: 0;
            padding: 0;
            box-sizing: border-box;}
.lbw-hero {font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;}
.lbw-hero .hero-block {background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
            color: white;
            padding: 80px 40px;
            text-align: center;
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;}
.lbw-hero .hero-content {max-width: 1000px;
            margin: 0 auto;}
.lbw-hero .hero-block h1 {font-size: 3.5em;
            margin-bottom: 20px;
            font-weight: 700;}
.lbw-hero .hero-block .subtitle {font-size: 1.6em;
            margin-bottom: 35px;
            font-style: italic;
            font-weight: 300;}
.lbw-hero .hero-block p {font-size: 1.2em;
            line-height: 1.7;
            margin-bottom: 40px;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;}
.lbw-hero .button-group {display: flex;
            gap: 20px;
            justify-content: center;
            flex-wrap: wrap;}
.lbw-hero .btn {display: inline-block;
            padding: 18px 40px;
            font-size: 1.2em;
            font-weight: 600;
            text-decoration: none;
            border-radius: 50px;
            transition: all 0.3s ease;
            cursor: pointer;
            border: none;}
.lbw-hero .btn-primary {background: rgba(255, 255, 255, 0.2);
            color: white;
            border: 2px solid white;}
.lbw-hero .btn-primary:hover {background: white;
            color: #f59e0b;
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);}
.lbw-hero .btn-secondary {background: white;
            color: #d97706;}
.lbw-hero .btn-secondary:hover {background: #f3f4f6;
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);}
@media (max-width: 768px) {
.lbw-hero .hero-block {padding: 60px 20px;}
.lbw-hero .hero-block h1 {font-size: 2.5em;}
.lbw-hero .hero-block .subtitle {font-size: 1.3em;}
.lbw-hero .hero-block p {font-size: 1.1em;}
.lbw-hero .button-group {flex-direction: column;
                gap: 15px;}
.lbw-hero .btn {width: 100%;
                max-width: 300px;}
}

/* ---- Block: leistungen ---- */
.lbw-leistungen, .lbw-leistungen * {margin: 0;
            padding: 0;
            box-sizing: border-box;}
.lbw-leistungen {font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
            background: #505e56;}
.lbw-leistungen .services-section {background: #96ad99;
            padding: 80px 40px;}
.lbw-leistungen .services-container {max-width: 1400px;
            margin: 0 auto;}
.lbw-leistungen .services-section h2 {text-align: center;
            font-size: 2.8em;
            color: #1f2937;
            margin-bottom: 60px;
            font-weight: 700;}
.lbw-leistungen .services-grid {display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 30px;}
.lbw-leistungen .service-card {background: white;
            padding: 40px 35px;
            border-radius: 16px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;}
.lbw-leistungen .service-card:hover {transform: translateY(-8px);
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);}
.lbw-leistungen .service-card h3 {color: #f59e0b;
            font-size: 1.5em;
            margin-bottom: 25px;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 10px;}
.lbw-leistungen .service-card ul {list-style: none;
            padding: 0;}
.lbw-leistungen .service-card li {padding: 12px 0;
            color: #4b5563;
            font-size: 1.05em;
            line-height: 1.6;
            display: flex;
            align-items: flex-start;
            gap: 12px;}
.lbw-leistungen .service-card li::before {content: "✓";
            color: #10b981;
            font-weight: bold;
            font-size: 1.2em;
            flex-shrink: 0;
            margin-top: 2px;}
@media (max-width: 768px) {
.lbw-leistungen .services-section {padding: 60px 20px;}
.lbw-leistungen .services-section h2 {font-size: 2.2em;
                margin-bottom: 40px;}
.lbw-leistungen .services-grid {grid-template-columns: 1fr;
                gap: 25px;}
.lbw-leistungen .service-card {padding: 30px 25px;}
.lbw-leistungen .service-card h3 {font-size: 1.3em;}
}

/* ---- Block: vitalcheck-teaser ---- */
.lbw-vitalcheck-teaser, .lbw-vitalcheck-teaser * {margin: 0;
            padding: 0;
            box-sizing: border-box;}
.lbw-vitalcheck-teaser {font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
            background: #96ad99;}
.lbw-vitalcheck-teaser .vital-check-section {background: #96ad99;
            padding: 80px 40px;}
.lbw-vitalcheck-teaser .vital-check-container {max-width: 1100px;
            margin: 0 auto;
            text-align: center;}
.lbw-vitalcheck-teaser .vital-check-section h2 {font-size: 2.8em;
            color: #1f2937;
            margin-bottom: 25px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 15px;}
.lbw-vitalcheck-teaser .vital-check-section .intro-text {font-size: 1.2em;
            color: #4b5563;
            line-height: 1.7;
            margin-bottom: 45px;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;}
.lbw-vitalcheck-teaser .info-box {background: #fef3c7;
            padding: 40px 45px;
            border-radius: 16px;
            border-left: 6px solid #f59e0b;
            margin-bottom: 40px;
            text-align: left;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);}
.lbw-vitalcheck-teaser .info-box h3 {color: #92400e;
            font-size: 1.8em;
            margin-bottom: 25px;
            text-align: center;
            font-weight: 700;}
.lbw-vitalcheck-teaser .info-box ul {list-style: none;
            padding: 0;}
.lbw-vitalcheck-teaser .info-box li {padding: 12px 0;
            color: #78350f;
            font-size: 1.1em;
            line-height: 1.6;
            display: flex;
            align-items: flex-start;
            gap: 12px;}
.lbw-vitalcheck-teaser .info-box li::before {content: "✓";
            color: #10b981;
            font-weight: bold;
            font-size: 1.3em;
            flex-shrink: 0;
            margin-top: 2px;}
.lbw-vitalcheck-teaser .cta-button {display: inline-block;
            background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
            color: white;
            padding: 20px 50px;
            font-size: 1.4em;
            font-weight: 700;
            text-decoration: none;
            border-radius: 50px;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
            box-shadow: 0 6px 20px rgba(245, 158, 11, 0.3);
            margin-bottom: 25px;}
.lbw-vitalcheck-teaser .cta-button:hover {transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(245, 158, 11, 0.4);
            background: linear-gradient(135deg, #d97706 0%, #b45309 100%);}
.lbw-vitalcheck-teaser .cta-button::before {content: "🚀 ";
            margin-right: 8px;}
.lbw-vitalcheck-teaser .footer-note {font-size: 1em;
            color: #6b7280;
            margin-top: 20px;}
@media (max-width: 768px) {
.lbw-vitalcheck-teaser .vital-check-section {padding: 60px 20px;}
.lbw-vitalcheck-teaser .vital-check-section h2 {font-size: 2em;
                flex-direction: column;
                gap: 10px;}
.lbw-vitalcheck-teaser .vital-check-section .intro-text {font-size: 1.1em;}
.lbw-vitalcheck-teaser .info-box {padding: 30px 25px;}
.lbw-vitalcheck-teaser .info-box h3 {font-size: 1.5em;}
.lbw-vitalcheck-teaser .info-box li {font-size: 1em;}
.lbw-vitalcheck-teaser .cta-button {font-size: 1.2em;
                padding: 18px 40px;
                width: 100%;
                max-width: 400px;}
}

/* ---- Block: kontakt ---- */
.lbw-kontakt, .lbw-kontakt * {margin: 0;
            padding: 0;
            box-sizing: border-box;}
.lbw-kontakt {font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;}
.lbw-kontakt .contact-section {background: #f59e0b;
            padding: 80px 40px;
            text-align: center;}
.lbw-kontakt .contact-section h2 {font-size: 2.8em;
            color: #1f2937;
            margin-bottom: 25px;
            font-weight: 700;}
.lbw-kontakt .contact-section .subtitle {font-size: 1.2em;
            color: #4b5563;
            margin-bottom: 40px;}
.lbw-kontakt .contact-info {display: flex;
            justify-content: center;
            align-items: center;
            gap: 50px;
            flex-wrap: wrap;
            max-width: 900px;
            margin: 0 auto;}
.lbw-kontakt .contact-item {display: flex;
            align-items: center;
            gap: 12px;
            font-size: 1.1em;}
.lbw-kontakt .contact-item .icon {font-size: 1.5em;}
.lbw-kontakt .contact-item a {color: #d97706;
            text-decoration: none;
            font-weight: 500;
            transition: color 0.3s ease;}
.lbw-kontakt .contact-item a:hover {color: #f59e0b;
            text-decoration: underline;}
.lbw-kontakt .footer {background: #FFFFFF;
            padding: 40px 20px;
            text-align: center;}
.lbw-kontakt .footer img {max-width: 250px;
            height: auto;
            opacity: 0.8;}
@media (max-width: 768px) {
.lbw-kontakt .contact-section {padding: 60px 20px;}
.lbw-kontakt .contact-section h2 {font-size: 2.2em;}
.lbw-kontakt .contact-info {flex-direction: column;
                gap: 25px;}
.lbw-kontakt .contact-item {font-size: 1em;}
}

/* ---- Block: vitalcheck-form ---- */
.lbw-vitalcheck-form, .lbw-vitalcheck-form * {margin: 0;
            padding: 0;
            box-sizing: border-box;}
.lbw-vitalcheck-form {font-family: 'Arial', sans-serif;
            line-height: 1.6;
            color: #333;
            background: linear-gradient(135deg, #FFA500 0%, #c8e6c9 100%);}
.lbw-vitalcheck-form .container {max-width: 800px;
            margin: 0 auto;
            padding: 20px;}
.lbw-vitalcheck-form .form-container {background: white;
            border-radius: 15px;
            padding: 40px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);}
.lbw-vitalcheck-form .header {text-align: center;
            margin-bottom: 40px;}
.lbw-vitalcheck-form .logo {font-size: 3em;
            font-weight: bold;
            color: #2e7d32;
            font-style: italic;
            margin-bottom: 10px;}
.lbw-vitalcheck-form .personal-info {display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            margin-bottom: 30px;}
.lbw-vitalcheck-form .input-group {display: flex;
            flex-direction: column;}
.lbw-vitalcheck-form .input-group label {font-weight: bold;
            margin-bottom: 8px;
            color: #333;}
.lbw-vitalcheck-form .input-group input {padding: 12px;
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            font-size: 16px;
            transition: border-color 0.3s;}
.lbw-vitalcheck-form .input-group input:focus {outline: none;
            border-color: #2e7d32;}
.lbw-vitalcheck-form .section {margin-bottom: 40px;}
.lbw-vitalcheck-form .section h3 {font-size: 1.5em;
            color: #2e7d32;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid #2e7d32;}
.lbw-vitalcheck-form .goals-grid {display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 15px;
            margin-bottom: 30px;}
.lbw-vitalcheck-form .checkbox-item {display: flex;
            align-items: center;
            padding: 12px;
            background: #f1f8f4;
            border-radius: 8px;
            transition: all 0.3s;
            cursor: pointer;}
.lbw-vitalcheck-form .checkbox-item:hover {background: #c8e6c9;
            transform: translateX(5px);}
.lbw-vitalcheck-form .checkbox-item input[type="checkbox"] {margin-right: 12px;
            transform: scale(1.2);
            accent-color: #2e7d32;}
.lbw-vitalcheck-form .checkbox-item label {cursor: pointer;
            font-weight: 500;}
.lbw-vitalcheck-form .weight-section {display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
            margin-bottom: 30px;}
.lbw-vitalcheck-form .radio-group {display: flex;
            gap: 20px;
            margin-bottom: 20px;}
.lbw-vitalcheck-form .radio-item {display: flex;
            align-items: center;}
.lbw-vitalcheck-form .radio-item input[type="radio"] {margin-right: 8px;
            transform: scale(1.2);
            accent-color: #2e7d32;}
.lbw-vitalcheck-form .btn {padding: 15px 40px;
            border: none;
            border-radius: 25px;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s;
            background: linear-gradient(45deg, #2e7d32, #43a047);
            color: white;
            display: block;
            margin: 40px auto 0;
            max-width: 250px;}
.lbw-vitalcheck-form .btn:hover {transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(46, 125, 50, 0.4);
            background: linear-gradient(45deg, #1b5e20, #2e7d32);}
.lbw-vitalcheck-form .textarea-group {margin-bottom: 20px;}
.lbw-vitalcheck-form .textarea-group label {display: block;
            font-weight: bold;
            margin-bottom: 8px;
            color: #333;}
.lbw-vitalcheck-form .textarea-group textarea {width: 100%;
            padding: 12px;
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            font-size: 16px;
            resize: vertical;
            min-height: 100px;
            font-family: inherit;}
.lbw-vitalcheck-form .textarea-group textarea:focus {outline: none;
            border-color: #2e7d32;}
.lbw-vitalcheck-form .privacy-checkbox {background: #f1f8f4;
            padding: 20px;
            border-radius: 8px;
            border-left: 4px solid #2e7d32;
            margin: 30px 0;}
.lbw-vitalcheck-form .privacy-checkbox label {display: flex;
            align-items: flex-start;
            cursor: pointer;}
.lbw-vitalcheck-form .privacy-checkbox input[type="checkbox"] {margin-right: 12px;
            margin-top: 4px;
            transform: scale(1.3);
            accent-color: #2e7d32;}
.lbw-vitalcheck-form .privacy-checkbox a {color: #2e7d32;
            text-decoration: none;
            font-weight: bold;}
.lbw-vitalcheck-form .privacy-checkbox a:hover {text-decoration: underline;}
.lbw-vitalcheck-form .thank-you {text-align: center;
            color: #2e7d32;
            font-size: 2em;
            font-weight: bold;
            font-style: italic;
            margin-top: 30px;}
.lbw-vitalcheck-form .page-separator {height: 2px;
            background: linear-gradient(90deg, transparent, #2e7d32, transparent);
            margin: 60px 0;
            position: relative;}
.lbw-vitalcheck-form .page-separator::before {content: "🌿";
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            background: white;
            padding: 0 15px;
            font-size: 24px;}
@media (max-width: 768px) {
.lbw-vitalcheck-form .container {padding: 10px;}
.lbw-vitalcheck-form .form-container {padding: 20px;}
.lbw-vitalcheck-form .goals-grid {grid-template-columns: 1fr;}
.lbw-vitalcheck-form .weight-section {grid-template-columns: 1fr;}
}

/* ---- Block: danke ---- */
.lbw-danke {font-family: Arial, sans-serif;
            background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
            
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;}
.lbw-danke .thank-you-container {background: white;
            padding: 60px 40px;
            border-radius: 15px;
            text-align: center;
            max-width: 600px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);}
.lbw-danke h1 {color: #2e7d32;
            font-size: 2.5em;
            margin-bottom: 20px;}
.lbw-danke p {font-size: 1.2em;
            color: #333;
            line-height: 1.6;
            margin-bottom: 30px;}
.lbw-danke .btn {background: linear-gradient(45deg, #2e7d32, #43a047);
            color: white;
            padding: 15px 40px;
            border: none;
            border-radius: 25px;
            font-size: 1.1em;
            text-decoration: none;
            display: inline-block;
            transition: all 0.3s;}
.lbw-danke .btn:hover {transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(46, 125, 50, 0.4);}