/* Base styles (Boalingua-inspiriert) */
.lpp-wrapper{--accent:#8BAF7B;--accent-2:#6E8F61;--muted:#F4F6F8;--text:#0f172a;--border:#e5e7eb;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 28px rgba(2,6,23,.06);overflow:hidden}
.lpp-header{display:flex;gap:16px;align-items:center;padding:18px 20px;background:linear-gradient(180deg,#f8fafc,transparent)}
.lpp-header .lpp-media{width:92px;height:92px;border-radius:14px;background:linear-gradient(135deg,#e0f2f3,#fff);border:1px solid var(--border)}
.lpp-header h2{margin:0;font:700 26px/1.2 system-ui,Segoe UI,Inter,Roboto;color:var(--text)}
.lpp-header .sub{color:#64748b;margin-top:6px;font-size:14px}
.lpp-header .badge{margin-left:auto;font:700 10px/1.2 system-ui;color:#065f46;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:4px 8px}
.lpp-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr)}
@media (min-width:900px){ .lpp-grid{ display:grid !important; grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr) !important; align-items:start; gap:16px; } }
.lpp-left{padding:18px 20px;border-right:1px solid var(--border)}
.lpp-right{padding:18px 20px;background:var(--muted)}
.lpp-section{border:1px solid var(--border);border-radius:14px;padding:14px 14px 10px;margin-bottom:14px;background:#fff}
.lpp-section h3{margin:0 0 10px;font:600 18px/1.2 system-ui;color:#0b1f2a}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field{display:flex;flex-direction:column;gap:6px}
label{font:600 13px/1.2 system-ui;color:#2b3945}
select,.radio-group{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff}
.radio{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.radio input{accent-color:var(--accent)}
.radio em{font-style:normal;color:#64748b;font-weight:500}
.add-ons{display:grid;gap:8px}
.addon{display:flex;justify-content:space-between;align-items:center;border:1px dashed var(--border);border-radius:10px;padding:10px 12px;background:#fff}
.pill{font:700 11px;letter-spacing:.3px;color:#07585d;background:#E6F7F8;border:1px solid #C5EEF1;border-radius:999px;padding:4px 8px}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table td{padding:6px 0}
.table .k{color:#64748b}
.totalCard{position:sticky;top:20px;border-radius:16px;background:#fff;border:1px solid var(--border);padding:16px}
.totalCard h4{margin:0 0 10px;font:700 18px/1.2 system-ui;color:#0b1f2a}
.sum{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;border-top:1px dashed var(--border);font-weight:700}
.cta{display:flex;gap:8px;margin-top:14px}
.btn{flex:1;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 14px;font:600 14px system-ui;border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none}
.btn.secondary{background:#fff;color:#0F6B73;border-color:#BFDFC2}
.lpp-note{font-size:12px;color:#64748b;margin-top:4px}
#startDate,#endDate{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff}
.lpp-explain{margin:8px 0 6px;color:#394b59;font-size:13px}
.lpp-services{display:grid;gap:8px;margin-top:8px}
.lpp-services-title{font-weight:600;color:#2b3945;font-size:13px}
.lpp-header-image{width:100%;height:160px;border-radius:12px;background:#eef5f6 url() center/cover no-repeat;margin-bottom:12px;border:1px solid var(--border)}
.lpp-notes{margin-top:10px;font-size:14px;color:#2b3945}
/* Checkout/Thanks & redesign */
.lpp-checkout .lpp-summary, .lpp-thanks .lpp-summary{width:100%;border-collapse:collapse;margin:8px 0 16px}
.lpp-checkout .lpp-summary th{width:220px;text-align:left;color:#2b3945;padding:6px 8px;border-bottom:1px solid #e5e7eb}
.lpp-checkout .lpp-summary td{padding:6px 8px;border-bottom:1px solid #e5e7eb}
.lpp-checkout .lpp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lpp-checkout label{display:flex;flex-direction:column;font-weight:600;color:#2b3945}
.lpp-checkout input[type=text], .lpp-checkout input[type=email], .lpp-checkout input[type=password], .lpp-checkout textarea{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#fff;font-weight:500}
.lpp-agb{display:block;margin:10px 0}
.lpp-submit{cursor:pointer}
/* Hardening against theme overrides */
.lpp-wrapper, .lpp-checkout, .lpp-thanks, .lpp-card, .totalCard { background:#fff !important; }
.lpp-wrapper, .lpp-checkout, .lpp-thanks { color:#0f172a !important; }
.lpp-hero-copy h1, .lpp-section h3, .totalCard h4 { text-transform:none !important; }

/* v1.4.3 – checkout polish */
.lpp-card .subtle{color:#64748b;font-size:13px;margin:2px 0 0}
.lpp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width: 699px){ .lpp-summary-grid{grid-template-columns:1fr} }
.lpp-sum-item{position:relative;border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 12px}
.lpp-sum-item>span{font-size:11px;letter-spacing:.2px;text-transform:uppercase;color:#6b7280;margin-bottom:4px}
.lpp-sum-item>strong{font-size:15px;color:#0f172a}
.lpp-sum-total{background:#f8fafc;border:1px dashed var(--border);border-radius:12px;margin-top:4px}
.lpp-chipset{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.lpp-chip{display:inline-flex;align-items:center;border:1px solid #cfe9ec;background:#EAF7F8;border-radius:999px;padding:4px 10px;font:600 12px/1 system-ui;color:#0b5560}
.lpp-chip small{opacity:.7;margin-left:6px;font-weight:700}
.lpp-form .hint{font-size:12px;color:#6b7280;margin-top:4px}
.lpp-form input[type=text], .lpp-form input[type=email], .lpp-form textarea{box-shadow:0 1px 0 rgba(2,6,23,.03) inset}
.lpp-grid-2 label>input::placeholder{color:#9ca3af}
.lpp-card h2 .eyebrow{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.25px;margin-bottom:4px}
/* nicer fields */
.lpp-form label{gap:6px}
.lpp-form input, .lpp-form textarea{transition:border-color .15s ease, box-shadow .15s ease}
.lpp-form input:focus, .lpp-form textarea:focus{outline:none;border-color:#93c5cd;box-shadow:0 0 0 3px rgba(0,156,166,.12)}

/* v1.4.4 theme-green */ .pill{background:#EDF5EA;border-color:#D6E8CF;color:#365234}

/* v1.4.5 — layout centering & button visibility */
.lpp-hero, .lpp-layout { max-width: 1200px; margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px; }
.page .entry-content .lpp-hero, .page .entry-content .lpp-layout,
.entry-content .lpp-hero, .entry-content .lpp-layout { margin-left:auto !important; margin-right:auto !important; }

/* Ensure grid doesn't collapse and respects spacing */
.lpp-layout{ gap:22px; }
.lpp-col{ min-width:0; }
.lpp-col--main .lpp-card, .lpp-col--side .lpp-card { overflow:visible; }

/* Submit button always visible and prominent */
.lpp-submit{ display:block; width:100%; margin-top:10px; position:relative; z-index:1; }
.lpp-form .btn{ min-height:46px; font-size:15px; }

/* Add bottom padding so button isn't cut off by parents */
.lpp-col--main{ padding-bottom:16px; }

/* Guard against themes forcing left alignment */
.alignfull .lpp-layout, .alignwide .lpp-layout{ max-width:1200px; }

/* v1.4.6 — field-style cards for course summary */
.lpp-sum-item{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:10px;
  padding:12px 14px;
  box-shadow: 0 1px 0 rgba(2,6,23,.03) inset;
}
.lpp-sum-item:hover{
  border-color:#93c5cd;
  box-shadow: 0 0 0 3px rgba(139,175,123,.12), 0 1px 0 rgba(2,6,23,.03) inset;
}
/* ensure wide extras box also has the same framing */
.lpp-sum-item.lpp-sum-wide{
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
}
/* chips spacing inside field box */
.lpp-sum-item .lpp-chipset{margin-top:2px}

/* v1.4.7 — unify summary with form look & alignment */
.lpp-card{ padding:18px 20px; }
.lpp-summary-grid{ padding:4px; gap:14px; }
.lpp-sum-item{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:10px;
  padding:14px 16px;
  box-shadow: 0 1px 0 rgba(2,6,23,.03) inset;
}
.lpp-sum-item>span{ font-size:12px; color:#64748b; margin-bottom:6px; }
.lpp-sum-item>strong{ font-size:16px; color:#0f172a; line-height:1.35; word-break:keep-all; hyphens:none; }
.lpp-sum-item.lpp-sum-wide{ grid-column:1/-1; }
.lpp-sum-total{ grid-column:1/-1; background:#F6FAF5; border:1px dashed #d9e6d2; border-radius:12px; padding:12px 14px; }
.lpp-chipset{ margin-top:4px; }
.lpp-chip{ padding:5px 12px; }

/* align overall layout area with same inner paddings as form container */
.lpp-layout{ max-width: 1100px; padding-left:22px; padding-right:22px; }
.lpp-hero{ max-width: 1100px; padding-left:22px; padding-right:22px; }

/* fix: avoid theme hyphenation doing weird breaks */
.lpp-checkout, .lpp-checkout * { hyphens: none; }

/* ensure visibility in tight themes */
.lpp-col--main{ padding-bottom:22px; }

/* v1.4.7-rev — summary table aligned to form look */
.lpp-summary-table{width:100%; border-collapse:separate; border-spacing:0 8px; margin:6px 0 12px}
.lpp-summary-table th, .lpp-summary-table td{background:#fff; border:1px solid #e5e7eb; padding:10px 12px}
.lpp-summary-table th{width:44%; text-align:left; color:#2b3945; font-weight:600; border-right:none; border-radius:10px 0 0 10px}
.lpp-summary-table td{border-left:none; border-radius:0 10px 10px 0; color:#0f172a; font-weight:600}
.lpp-summary-table tr.sum th, .lpp-summary-table tr.sum td{background:#F6FAF5; border:1px dashed #d9e6d2}
.lpp-img-under-end{height:160px; border:1px solid var(--border); border-radius:12px; background:#edf2f7; }
.lpp-img-under-end::before{ content:'Bildplatzhalter'; display:block; text-align:center; padding-top:68px; color:#6b7280; font-size:12px; }
.lpp-actions-top{ margin:8px 0 12px; }
.lpp-actions-top .btn.secondary{ width:auto; }

/* v1.4.7-rev2 — enforce clean gap between summary and back button */
.lpp-card .lpp-summary-table ~ *:not(.lpp-actions-top){ display:none !important; }
.lpp-img-under-total{height:160px; border:1px solid var(--border); border-radius:12px; background:#edf2f7;}
.lpp-img-under-total::before{ content:'Bildplatzhalter'; display:block; text-align:center; padding-top:68px; color:#6b7280; font-size:12px; }

/* Submit always visible */
.lpp-submit{opacity:1 !important; visibility:visible !important; display:block !important;}
/* Remove any lower image placeholders after form */
.lpp-card-media-top, .lpp-card-media-top-2 { display:none !important; }
.lpp-agb-line{display:flex; align-items:center; gap:12px; margin:10px 0}
.lpp-agb-line a{text-decoration:underline}

/* v1.4.7-rev3 — media slot visuals + submit visibility */
.lpp-img-placeholder{height:160px;border:1px solid var(--border);border-radius:12px;background:#edf2f7}
.lpp-img-placeholder::before{content:'Bild/Video Platzhalter';display:block;text-align:center;padding-top:68px;color:#6b7280;font-size:12px}
.lpp-submit{opacity:1 !important; visibility:visible !important; display:block !important;}
/* hide any old lower placeholders */
.lpp-card-media-top, .lpp-card-media-top-2 { display:none !important; }

/* v1.4.7-rev4 — force CTA visible; remove lower placeholders */
.btn.lpp-submit,
button.lpp-submit{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  pointer-events:auto !important;
  transform:none !important;
  position:static !important;
}
/* In case a theme hides CTAs until hover within a card */
.lpp-card:hover .btn.lpp-submit{ opacity:1 !important; visibility:visible !important; }
/* Kill any legacy placeholder blocks below the form */
.lpp-card-media-top, .lpp-card-media-top-2 { display:none !important; height:0 !important; margin:0 !important; padding:0 !important; border:none !important; }
