/* contaolabs Isotope OnePage-Checkout v1.0 – Basis-Theme, per CSS-Variablen anpassbar */

.shopify-checkout {
  --zst-paper: #ffffff;
  --zst-paper-soft: #f8fbff;
  --zst-field: #ffffff;
  --zst-ink: #111827;
  --zst-text: #374151;
  --zst-muted: #6b7280;
  --zst-line: #e5e7eb;
  --zst-line-strong: #d1d5db;
  --zst-brand: #4f46e5;
  --zst-brand-dark: #3730a3;
  --zst-brand-soft: #eef2ff;
  --zst-accent: #06b6d4;
  --zst-success: #059669;
  --zst-success-soft: #ecfdf5;
  --zst-danger: #dc2626;
  --zst-danger-soft: #fef2f2;
  --zst-info-soft: #eff6ff;
  --zst-info-ink: #1e3a8a;
  --zst-radius: 18px;
  --zst-radius-sm: 12px;
  --zst-shadow: 0 24px 70px rgba(15, 23, 42, .10);
  --zst-shadow-sm: 0 10px 28px rgba(15, 23, 42, .07);
  --zst-max: 1220px;
  color: var(--zst-text);
}

.shopify-checkout, .shopify-checkout * { box-sizing: border-box; }

.shopify-checkout-header { max-width: var(--zst-max); margin: 0 auto; padding: 0 0 24px; }
.shopify-checkout-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--zst-ink); text-decoration: none; font-size: clamp(24px, 3vw, 34px); line-height: 1; font-weight: 800; letter-spacing: -.035em; }
.shopify-checkout-brand::before { content: ""; width: 36px; height: 36px; border-radius: 12px; background: linear-gradient(135deg, var(--zst-brand), var(--zst-accent)); }
.shopify-checkout-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 16px; color: var(--zst-muted); font-size: 13px; font-weight: 600; }
.shopify-checkout-breadcrumb a, .shopify-checkout-breadcrumb strong { display: inline-flex; align-items: center; min-height: 30px; border-radius: 999px; padding: 6px 11px; }
.shopify-checkout-breadcrumb a { color: var(--zst-brand); background: var(--zst-brand-soft); text-decoration: none; }
.shopify-checkout-breadcrumb strong { color: var(--zst-text); background: var(--zst-paper); border: 1px solid var(--zst-line); font-weight: 700; }

.shopify-checkout .onepage-steps { display: none; }
.shopify-checkout .message, .shopify-checkout .iso_confirm, .shopify-checkout .iso_error { max-width: var(--zst-max); margin: 0 auto 18px; border-radius: var(--zst-radius-sm); padding: 13px 16px; font-size: 14px; font-weight: 700; }
.shopify-checkout form { background: transparent; border: 0; padding: 0; box-shadow: none; }

.shopify-checkout .onepage-grid { max-width: var(--zst-max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, .92fr) 435px; gap: 26px; align-items: start; }
.shopify-checkout .onepage-left { min-width: 0; }
.shopify-checkout .onepage-left > h2, .shopify-checkout .onepage-summary-card > h2 { margin: 0 0 18px; color: var(--zst-ink); font-size: 22px; line-height: 1.2; font-weight: 800; letter-spacing: -.025em; }

.shopify-checkout .onepage-accordion { position: relative; margin: 0 0 11px; overflow: hidden; background: var(--zst-paper); border: 1px solid var(--zst-line); border-radius: var(--zst-radius); box-shadow: var(--zst-shadow-sm); }
.shopify-checkout .onepage-accordion summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding: 13px 18px; background: var(--zst-paper-soft); color: var(--zst-ink); font-size: 15px; font-weight: 800; border-bottom: 1px solid var(--zst-line); }
.shopify-checkout .onepage-accordion summary::-webkit-details-marker { display: none; }
.shopify-checkout .onepage-accordion summary::after { content: "+"; display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 999px; background: var(--zst-brand-soft); color: var(--zst-brand); font-size: 20px; line-height: 1; font-weight: 800; }
.shopify-checkout .onepage-accordion[open] summary::after { content: "−"; }
.shopify-checkout .onepage-accordion__body { padding: 16px 18px 18px; }

.shopify-checkout .onepage-step { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
.shopify-checkout .onepage-step > h3, .shopify-checkout .onepage-review-help, .shopify-checkout legend { display: none !important; }
.shopify-checkout fieldset { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.shopify-checkout .widget { margin: 0 0 10px; }

.shopify-checkout .billingaddress .formbody, .shopify-checkout .shippingaddress .formbody,
.shopify-checkout .billingaddress .address_new, .shopify-checkout .shippingaddress .address_new { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px 12px; }
.shopify-checkout .billingaddress .widget, .shopify-checkout .shippingaddress .widget,
.shopify-checkout .billingaddress .address_new > .widget, .shopify-checkout .shippingaddress .address_new > .widget { grid-column: 1 / -1; margin: 0; }
.shopify-checkout .onepage-address-firstname, .shopify-checkout .onepage-address-lastname { grid-column: span 6 !important; }
.shopify-checkout .onepage-address-email, .shopify-checkout .onepage-address-full { grid-column: 1 / -1 !important; }
.shopify-checkout .onepage-address-full { position: relative; }
.shopify-checkout .onepage-native-address-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }

.shopify-checkout .onepage-address-suggestions { position: absolute; z-index: 50; top: calc(100% - 18px); left: 0; right: 0; overflow: hidden; border: 1px solid var(--zst-line-strong); border-radius: 14px; background: var(--zst-paper); box-shadow: var(--zst-shadow); }
.shopify-checkout .onepage-address-suggestion { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--zst-line); padding: 11px 13px; background: var(--zst-paper); color: var(--zst-text); text-align: left; cursor: pointer; }
.shopify-checkout .onepage-address-suggestion:last-child { border-bottom: 0; }
.shopify-checkout .onepage-address-suggestion:hover, .shopify-checkout .onepage-address-suggestion.is-active { background: var(--zst-brand-soft); }
.shopify-checkout .onepage-address-suggestion strong { display: block; color: var(--zst-ink); font-size: 14px; line-height: 1.25; }
.shopify-checkout .onepage-address-suggestion span { display: block; margin-top: 3px; color: var(--zst-muted); font-size: 12px; }

.shopify-checkout .onepage-address-check { margin: 0 0 14px; border: 1px solid var(--zst-line); border-radius: 14px; padding: 11px 13px; background: var(--zst-info-soft); color: var(--zst-info-ink); font-size: 13px; line-height: 1.4; font-weight: 600; }
.shopify-checkout .onepage-address-check.error { border-color: var(--zst-danger); background: var(--zst-danger-soft); color: var(--zst-danger); }
.shopify-checkout .shippingaddress:has(#opt_shippingaddress_0:checked) #shippingaddress_new { display: none !important; }

.shopify-checkout label, .shopify-checkout .widget label { display: block !important; float: none !important; width: auto !important; margin: 0 0 7px !important; color: var(--zst-muted) !important; font-size: 13px; font-weight: 700; }
.shopify-checkout label .mandatory { color: var(--zst-danger) !important; }

.shopify-checkout input.text, .shopify-checkout input[type="email"], .shopify-checkout input[type="text"], .shopify-checkout select, .shopify-checkout textarea {
  display: block !important; float: none !important; width: 100% !important; max-width: 100% !important; min-height: 44px; margin: 0 !important;
  border: 1px solid var(--zst-line-strong); border-radius: var(--zst-radius-sm); padding: 10px 12px; background: var(--zst-field); color: var(--zst-ink); font-size: 15px;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.shopify-checkout textarea { min-height: 104px; resize: vertical; }
.shopify-checkout input:focus, .shopify-checkout select:focus, .shopify-checkout textarea:focus { outline: none; border-color: var(--zst-brand); box-shadow: 0 0 0 4px var(--zst-brand-soft); }
.shopify-checkout .note { display: block; margin-top: 5px; color: var(--zst-muted); font-size: 12px; }

.shopify-checkout .onepage-address-full.is-complete input[type="text"] { border-color: var(--zst-success) !important; padding-right: 42px; box-shadow: 0 0 0 4px var(--zst-success-soft); }
.shopify-checkout .onepage-address-full.is-complete::after { content: "✓"; position: absolute; right: 14px; top: 35px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: var(--zst-success); color: #fff; font-size: 15px; font-weight: 900; pointer-events: none; }
.shopify-checkout .onepage-address-status { display: none; margin: 6px 0 0; color: var(--zst-success); font-size: 12px; font-weight: 800; }
.shopify-checkout .onepage-address-full.is-complete .onepage-address-status { display: block; }
.shopify-checkout .onepage-address-status::before { content: "✓ "; }

.shopify-checkout .radio_container, .shopify-checkout .checkbox_container { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.shopify-checkout .radio_container > span, .shopify-checkout .checkbox_container > span { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 10px; border: 1px solid var(--zst-line); border-radius: 15px; padding: 15px; background: var(--zst-paper); }
.shopify-checkout input[type="radio"], .shopify-checkout input[type="checkbox"] { width: 19px; height: 19px; min-width: 19px; accent-color: var(--zst-brand); }
.shopify-checkout .radio_container label, .shopify-checkout .checkbox_container label { margin: 0 !important; color: var(--zst-text) !important; font-size: 14px; }

.shopify-checkout .onepage-right { position: sticky; top: 100px; }
.shopify-checkout .onepage-summary-card { position: relative; overflow: hidden; background: var(--zst-paper); border: 1px solid var(--zst-line); border-radius: 24px; padding: 25px; box-shadow: var(--zst-shadow); }
.shopify-checkout .onepage-summary-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--zst-brand), var(--zst-accent)); }
.shopify-checkout .onepage-summary-note { margin: -8px 0 17px; color: var(--zst-muted); font-size: 13px; }
.shopify-checkout .onepage-cart-summary table { width: 100%; border-collapse: collapse; font-size: 14px; }
.shopify-checkout .onepage-cart-summary td { border: 0; padding: 11px 0; vertical-align: middle; color: var(--zst-text); background: transparent; }
.shopify-checkout .onepage-cart-summary tbody tr { border-bottom: 1px solid var(--zst-line); }
.shopify-checkout .onepage-cart-summary .image { width: 64px; padding-right: 12px; }
.shopify-checkout .onepage-cart-summary .image:empty { display: none; }
.shopify-checkout .onepage-cart-summary .image img { width: 52px; height: 52px; object-fit: cover; border-radius: 14px; }
.shopify-checkout .onepage-cart-summary .name { color: var(--zst-ink); font-weight: 700; }
.shopify-checkout .onepage-cart-summary .name ul { margin: 4px 0 0; padding: 0; list-style: none; font-size: 12px; font-weight: 500; color: var(--zst-muted); }
.shopify-checkout .onepage-cart-summary .tax, .shopify-checkout .onepage-cart-summary .price:not(.total) { display: none; }
.shopify-checkout .onepage-cart-summary .quantity { width: 40px; text-align: center; color: var(--zst-muted); font-size: 13px; }
.shopify-checkout .onepage-cart-summary .price.total { text-align: right; color: var(--zst-ink); font-weight: 800; white-space: nowrap; }
.shopify-checkout .onepage-cart-summary tfoot tr { border-top: 1px solid var(--zst-line); }
.shopify-checkout .onepage-cart-summary tfoot td { padding: 12px 0; font-weight: 600; }
.shopify-checkout .onepage-cart-summary tfoot .total td { color: var(--zst-ink); font-size: 17px; font-weight: 800; }
.shopify-checkout .onepage-cart-summary tfoot .total .price.total { color: var(--zst-brand); font-size: 22px; }

.shopify-checkout .onepage-discount { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--zst-line); }
.shopify-checkout .onepage-discount-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; }
.shopify-checkout .onepage-discount-button, .shopify-checkout .onepage-discount-remove { min-height: 44px; border: 0; border-radius: var(--zst-radius-sm); cursor: pointer; font-weight: 800; }
.shopify-checkout .onepage-discount-button { padding: 0 16px; background: var(--zst-ink) !important; color: var(--zst-paper) !important; }
.shopify-checkout .onepage-discount-remove { width: 44px; background: transparent !important; color: var(--zst-muted) !important; border: 1px solid var(--zst-line-strong); font-size: 22px; }
.shopify-checkout .onepage-discount-message { margin: 10px 0 0 !important; border-radius: 12px; padding: 10px 12px; font-size: 12px !important; font-weight: 700; }
.shopify-checkout .onepage-discount-message.confirm, .shopify-checkout .iso_confirm { background: var(--zst-success-soft); color: var(--zst-success) !important; }
.shopify-checkout .onepage-discount-message.error, .shopify-checkout .iso_error, .shopify-checkout p.error { background: var(--zst-danger-soft); color: var(--zst-danger) !important; }

.shopify-checkout .onepage-legal { margin-top: 21px; padding-top: 21px; border-top: 1px solid var(--zst-line); }
.shopify-checkout .onepage-check { display: flex !important; align-items: flex-start; gap: 12px; margin: 0 !important; color: var(--zst-text) !important; font-size: 14px; line-height: 1.45; font-weight: 600; }
.shopify-checkout .onepage-check input { margin-top: 2px; }
.shopify-checkout .onepage-legal-links { margin: 11px 0 0; color: var(--zst-muted); font-size: 12px; }
.shopify-checkout .onepage-legal-links a { color: var(--zst-brand); text-decoration: none; font-weight: 700; }
.shopify-checkout .onepage-terms-error { margin: 13px 0 0; border-radius: 12px; padding: 10px 12px; font-size: 13px; font-weight: 700; }

.shopify-checkout .onepage-submit { display: block; margin-top: 20px; padding: 0; border: 0; }
.shopify-checkout .onepage-submit input, .shopify-checkout input.submit, .shopify-checkout button.submit {
  display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 56px; border: 0; border-radius: 16px;
  background: linear-gradient(135deg, var(--zst-brand), var(--zst-accent)) !important; color: #fff !important; font-size: 16px; font-weight: 800; cursor: pointer;
  box-shadow: 0 18px 36px -12px var(--zst-brand); transition: transform .16s ease, box-shadow .16s ease;
}
.shopify-checkout .onepage-submit input:hover { transform: translateY(-1px); }
.shopify-checkout .widget.error input, .shopify-checkout .widget.error select { border-color: var(--zst-danger) !important; }
.shopify-checkout .invisible { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; }

@media (max-width: 980px) {
  .shopify-checkout .onepage-grid { grid-template-columns: 1fr; gap: 18px; }
  .shopify-checkout .onepage-right { position: static; }
}
@media (max-width: 680px) {
  .shopify-checkout-breadcrumb { flex-wrap: nowrap; overflow-x: auto; font-size: 11px; }
  .shopify-checkout .onepage-accordion summary { min-height: 48px; padding: 12px 13px; font-size: 14px; }
  .shopify-checkout .onepage-accordion__body { padding: 12px; }
  .shopify-checkout .billingaddress .address_new, .shopify-checkout .shippingaddress .address_new { grid-template-columns: 1fr !important; }
  .shopify-checkout .onepage-address-firstname, .shopify-checkout .onepage-address-lastname { grid-column: 1 / -1 !important; }
  .shopify-checkout input[type="text"], .shopify-checkout input[type="email"], .shopify-checkout select { font-size: 16px; }
  .shopify-checkout .onepage-address-suggestions { position: static; margin-top: 8px; max-height: 238px; overflow-y: auto; }
  .shopify-checkout .onepage-summary-card { border-radius: 18px; padding: 17px; }
  .shopify-checkout .onepage-discount-row { grid-template-columns: 1fr; }
  .shopify-checkout .onepage-discount-button, .shopify-checkout .onepage-discount-remove { width: 100%; }
}

.cc-head>*:first-child{margin-top:0}.cc-head>*:last-child{margin-bottom:15px}.contao-cookiebar{--ccb-backdrop: rgba(0, 0, 0, .75);--ccb-anim-duration: .5s;--ccb-checked-clr: #399d32;--ccb-checked-bg: #dcf3db;--ccb-unchecked-clr: #9c9b99;--ccb-unchecked-bg: #fff;--ccb-disabled-clr: #c8c7c5;--ccb-disabled-bg: #f4f4f4;--ccb-focus-clr: #00a4f4;position:fixed;inset:0;z-index:9999;display:flex;align-items:var(--ccb-align, center);justify-content:var(--ccb-justify, center);letter-spacing:0;padding:15px;max-height:100dvh;box-sizing:border-box;pointer-events:none;overflow:hidden;color:var(--ccb-clr, #444)}.contao-cookiebar *{box-sizing:border-box}.contao-cookiebar p{color:var(--ccb-text, #868686);line-height:1.4}.contao-cookiebar label{position:relative;display:block;padding:8px 13px 8px 0;line-height:1.2rem}.contao-cookiebar label.group{font-weight:600}.contao-cookiebar input{position:absolute;width:1px;height:1px;outline:0 none;opacity:0}.contao-cookiebar input+label{padding:8px 13px 8px 45px;cursor:pointer}.contao-cookiebar input+label:before,.contao-cookiebar input+label:after{content:"";position:absolute;border-radius:10px}.contao-cookiebar input+label:before{top:7px;left:0;width:35px;height:18px;margin:0;box-sizing:content-box;background:var(--ccb-unchecked-bg);border:1px solid var(--ccb-unchecked-clr);transition:border-color .2s}.contao-cookiebar input+label:after{display:block;top:11px;left:4px;width:12px;height:12px;background:var(--ccb-unchecked-clr);transition:background .2s,margin-left .2s,padding .2s}.contao-cookiebar input+label:active:after{padding-left:5px}.contao-cookiebar input.cc-group-half+label:after{background:linear-gradient(to right, var(--ccb-unchecked-clr) 0%, var(--ccb-unchecked-clr) 50%, var(--ccb-checked-clr) 50%, var(--ccb-checked-clr) 100%)}.contao-cookiebar input:checked+label:after{background:var(--ccb-checked-clr);margin-left:17px}.contao-cookiebar input:checked+label:active:after{margin-left:12px}.contao-cookiebar input:checked+label:before{background:var(--ccb-checked-bg);border-color:var(--ccb-checked-clr)}.contao-cookiebar input:disabled+label{pointer-events:none}.contao-cookiebar input:disabled+label:after{background:var(--ccb-disabled-clr)}.contao-cookiebar input:disabled+label:before{background:var(--ccb-disabled-bg);border-color:var(--ccb-disabled-clr)}.contao-cookiebar input:focus-visible:not(.cc-hide-focus)+label:before{outline:3px dashed var(--ccb-focus-clr);outline-offset:2px}.contao-cookiebar .cc-btn{display:inline-block;cursor:pointer;width:100%;padding:8px 14px;margin-bottom:8px;font-size:15px;outline:0 none;border:1px solid var(--ccb-btn-bdr, #cfcfcf);border-radius:4px;color:var(--ccb-btn-clr, #444);background:var(--ccb-btn-bg, #f5f5f5)}.contao-cookiebar .cc-btn:hover,.contao-cookiebar .cc-btn:focus{background:var(--ccb-btn-bg-hvr, #ececec)}.contao-cookiebar .cc-btn:last-child{margin-bottom:0}.contao-cookiebar .grayscale{--ccb-btn-bg: #f1efef;--ccb-btn-bg-hvr: #ececec}.contao-cookiebar .grayscale .success{--ccb-btn-bg: #fbfbfb;--ccb-btn-bg-hvr: #f7f7f7}.contao-cookiebar .highlight .success{--ccb-btn-bg: #4e9e3e;--ccb-btn-bg-hvr: #4c933f;--ccb-btn-bdr: #3e7830;--ccb-btn-clr: #fff}.cc-focus:not(.cc-hide-focus):focus-visible{outline:3px dashed var(--ccb-focus-clr);outline-offset:-3px}.cc-invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;float:left}.cc-inner{display:inline-block;overflow-y:auto;max-height:100%;max-width:100%;padding:23px;border-radius:3px;opacity:0;pointer-events:none;visibility:hidden;font-size:1rem;text-align:left;background:var(--ccb-bg, #fff);box-shadow:var(--ccb-box-shadow, rgba(99, 99, 99, 0.2)) 0 2px 8px 0;animation:var(--ccb-anim, cookiebar-middle-in) var(--ccb-anim-duration) ease-in-out forwards}.cc-group{position:relative;border:1px solid var(--ccb-bdr, #d0d0d0);border-radius:5px;margin-bottom:10px}.cc-cookie-info{font-size:.875rem;background:var(--ccb-info-bg, #fff);border:1px solid var(--ccb-info-bdr, #efefef);padding:10px;border-radius:5px}.cc-cookie-info>div>span{font-weight:600}.cc-cookie-info>div+div{margin-top:5px;word-wrap:break-word}.cc-cookie-info+button.cc-detail-btn-details{margin-top:15px}.cc-cookies{background:var(--ccb-cookies-bg, #fbfbfb);border-radius:0 0 5px 5px}.cc-cookies>p{font-size:.875rem}.cc-cookies>p,.cc-cookies>.cc-cookie{margin:0;padding:15px;border-top:1px solid var(--ccb-cookies-bdr, #fbfbfb)}.cc-cookie label.cookie+*{margin-top:10px}.cc-cookie p{margin:0 0 15px;font-size:.875rem}.cc-cookie-desc p{margin-bottom:0}.cc-footer,.cc-info{text-align:center}.cc-info{margin-top:15px}.cc-info>p{font-size:.875rem}.cc-info>a{display:inline-block;font-size:.813rem;color:var(--ccb-detail-clr, #a2a2a2);text-decoration:none}.cc-info>a:hover{color:var(--ccb-detail-clr-hvr, #717171)}.cc-info>a+a:before{display:inline-block;content:"·";margin-right:5px}.cc-active .cc-inner{opacity:1;pointer-events:auto;visibility:visible}.cc-active.cc-blocked{pointer-events:auto;animation:cookiebar-overlay-in var(--ccb-anim-duration) ease-in-out forwards}.cc-saved.cc-inner{opacity:0;pointer-events:none;visibility:hidden}.cc-saved.cc-blocked{pointer-events:none;animation:cookiebar-overlay-out var(--ccb-anim-duration) ease-in-out forwards}.cc-left{--ccb-justify: flex-start}.cc-right{--ccb-justify: flex-end}.cc-top{--ccb-align: flex-start}.cc-top.cc-active{--ccb-anim: cookiebar-top-in}.cc-top.cc-saved{--ccb-anim: cookiebar-top-out}.cc-middle.cc-active{--ccb-anim: cookiebar-middle-in}.cc-middle.cc-saved{--ccb-anim: cookiebar-middle-out}.cc-bottom{--ccb-align: flex-end}.cc-bottom.cc-active{--ccb-anim: cookiebar-bottom-in}.cc-bottom.cc-saved{--ccb-anim: cookiebar-bottom-out}@media(min-width: 768px){.contao-cookiebar .cc-btn{width:auto;margin-bottom:0}.cc-inner{max-width:var(--ccb-max-width, 750px)}}@media(forced-colors){.contao-cookiebar input+label:after{border:1px solid currentColor}.cc-inner{border:1px solid currentColor}input.cc-group-half+label:after{margin-left:9px}}@media(prefers-reduced-motion){.contao-cookiebar{--ccb-anim-duration: 2s}}@media print{.contao-cookiebar{opacity:0}}@keyframes cookiebar-overlay-in{0%{background:rgba(0,0,0,0)}to{background:var(--ccb-backdrop)}}@keyframes cookiebar-overlay-out{0%{background:var(--ccb-backdrop)}to{background:rgba(0,0,0,0);visibility:hidden}}@keyframes cookiebar-top-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes cookiebar-top-out{0%{opacity:1;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(-100%)}}@keyframes cookiebar-middle-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes cookiebar-middle-out{0%{opacity:1;visibility:visible;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(0)}}@keyframes cookiebar-bottom-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes cookiebar-bottom-out{0%{opacity:1;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(100%)}}.cc-group{display:flex;flex-wrap:wrap;justify-content:space-between;align-content:center}.cc-group>label{flex-grow:1;margin:5px 0 5px 10px}.cc-cookies{display:none;width:100%}.cc-detail-btn{padding:8px 10px;line-height:1.2rem}.cc-detail-btn-details{text-decoration:underline;padding:0;margin:0 0 10px}.cc-detail-btn,.cc-detail-btn-details{display:inline-block;color:var(--ccb-detail-clr, #a2a2a2);border:0 none;outline:0 none;background:rgba(0,0,0,0);font-size:13px;letter-spacing:0;text-transform:initial;cursor:pointer}.cc-detail-btn span:nth-child(2),.cc-detail-btn-details span:nth-child(2){display:none}.cc-detail-btn.cc-active span:nth-child(1),.cc-detail-btn-details.cc-active span:nth-child(1){display:none}.cc-detail-btn.cc-active span:nth-child(2),.cc-detail-btn-details.cc-active span:nth-child(2){display:inline}.cc-detail-btn:hover,.cc-detail-btn-details:hover{background:rgba(0,0,0,0);color:var(--ccb-detail-clr-hvr, #717171)}
@media screen{
#iso_ajaxBox{width:20%;padding:9px 50px 9px 24px;position:fixed;top:10%;left:40%;background:#fff url(../../system/modules/isotope/assets/images/loading.gif) no-repeat right center;border:2px solid #000;font-family:"Trebuchet MS",Verdana,sans-serif;font-size:15px;line-height:18px;text-align:left;color:#000;z-index:9999}#iso_ajaxBox.btnClose{background-image:none;cursor:pointer}#iso_ajaxBox p{margin:1em 0;padding:0}#iso_ajaxBox .iso_error{padding-left:34px;background:url(../../system/modules/isotope/assets/images/cross-24.png) left center no-repeat}#iso_ajaxBox .iso_confirm{padding-left:34px;background:url(../../system/modules/isotope/assets/images/tick-24.png) left center no-repeat}#iso_ajaxBox .iso_info{padding-left:34px;background:url(../../system/modules/isotope/assets/images/information-24.png) left center no-repeat}#iso_ajaxOverlay{width:100%;height:100%;position:fixed;top:0;left:0;background-color:#000;z-index:9998;-moz-opacity:.5;opacity:.5;_display:none;filter:Alpha(opacity=50)}
}
/*!
 * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
 *//*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after{display:table;content:" "}.clearfix:after,.container:after,.container-fluid:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}
@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 300;src: url('../../files/assets/font/inter-v20-latin-300.eot');src: url('../../files/assets/font/inter-v20-latin-300.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-300.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-300.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-300.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-300.svg#Inter') format('svg')}@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 400;src: url('../../files/assets/font/inter-v20-latin-regular.eot');src: url('../../files/assets/font/inter-v20-latin-regular.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-regular.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-regular.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-regular.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-regular.svg#Inter') format('svg')}@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 500;src: url('../../files/assets/font/inter-v20-latin-500.eot');src: url('../../files/assets/font/inter-v20-latin-500.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-500.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-500.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-500.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-500.svg#Inter') format('svg')}@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 600;src: url('../../files/assets/font/inter-v20-latin-600.eot');src: url('../../files/assets/font/inter-v20-latin-600.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-600.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-600.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-600.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-600.svg#Inter') format('svg')}@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 700;src: url('../../files/assets/font/inter-v20-latin-700.eot');src: url('../../files/assets/font/inter-v20-latin-700.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-700.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-700.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-700.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-700.svg#Inter') format('svg')}@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 800;src: url('../../files/assets/font/inter-v20-latin-800.eot');src: url('../../files/assets/font/inter-v20-latin-800.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-800.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-800.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-800.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-800.svg#Inter') format('svg')}@font-face{font-display: swap;font-family: 'Inter';font-style: normal;font-weight: 900;src: url('../../files/assets/font/inter-v20-latin-900.eot');src: url('../../files/assets/font/inter-v20-latin-900.eot?#iefix') format('embedded-opentype'), url('../../files/assets/font/inter-v20-latin-900.woff2') format('woff2'), url('../../files/assets/font/inter-v20-latin-900.woff') format('woff'), url('../../files/assets/font/inter-v20-latin-900.ttf') format('truetype'), url('../../files/assets/font/inter-v20-latin-900.svg#Inter') format('svg')}
/* =========================================================
   contaolabs – Theme 2026 (Contao 4.13 / Isotope 2.9)
   ersetzt uikit.min.css + main.less
   ========================================================= */
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../../files/assets/font/sora-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../../files/assets/font/sora-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../../files/assets/font/sora-latin-800-normal.woff2') format('woff2'); }

:root {
  --bg: #07070c;
  --bg-2: #0c0c14;
  --surface: rgba(255,255,255,.035);
  --surface-2: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.08);
  --border-2: rgba(255,255,255,.14);
  --text: #f4f3fb;
  --muted: #9a98b0;
  --violet: #9b3cff;
  --violet-2: #b46bff;
  --blue: #3466ff;
  --blue-2: #5b8cff;
  --grad: linear-gradient(120deg, #b14bff 0%, #7a3dff 45%, #3466ff 100%);
  --font-head: 'Sora', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --radius: 18px;
  --ease: cubic-bezier(.22,1,.36,1);
  color-scheme: dark;
}
@property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 15px/1.7 var(--font-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover, a:focus { color: inherit; text-decoration: none; }
/* Fokusrahmen nur bei Tastaturbedienung – dezent im Markenstil statt Browser-Kasten */
a:focus, button:focus, [tabindex]:focus { outline: none; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible, summary:focus-visible { outline: 2px solid rgba(180,107,255,.75); outline-offset: 4px; border-radius: 10px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-head); line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.02em; font-weight: 700; color: #fff; }
p { margin: 0 0 1em; }
figure { margin: 0; }
::selection { background: var(--violet); color: #fff; }
.invisible, .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ic { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; display: inline-block; vertical-align: middle; }

#wrapper { position: relative; }
.container { width: min(1360px, 100% - 64px); max-width: none; margin-inline: auto; padding: 0; }
.row { display: flex; flex-wrap: wrap; margin-inline: -16px; }
/* Bootstrap-Clearfix stört Flex/Grid-Layouts */
.container::before, .container::after, .row::before, .row::after { content: none; display: none; }
.row > [class*="col-"] { padding-inline: 16px; }
.col-start-1, .col-start-2 { margin-left: 0; }

h1 strong, h2 strong, h3 strong, .grad-text {
  font-weight: inherit; font-style: normal;
  background: linear-gradient(100deg, #c26bff, #8b4dff 30%, #4f7dff 60%, #c26bff 90%);
  background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: cl-shimmer 8s linear infinite;
}
@keyframes cl-shimmer { to { background-position: -200% 0; } }

/* ---------- Hintergrund ---------- */
.bg-grid {
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size: 34px 34px;
  -webkit-mask-image: radial-gradient(ellipse 120% 90% at 50% 30%, #000 30%, rgba(0,0,0,.45) 100%);
  mask-image: radial-gradient(ellipse 120% 90% at 50% 30%, #000 30%, rgba(0,0,0,.45) 100%);
}
.bg-noise {
  position: fixed; inset: 0; z-index: 90; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Buttons (inkl. Contao-Hyperlinks) ---------- */
.btn, .ce_hyperlink a, .trust-large .txt > p:last-child a,
.widget-submit button, button.submit, .submit_container .submit {
  position: relative; display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px; border-radius: 12px; border: 1px solid transparent;
  font: 500 14px/1 var(--font-body); color: #fff; cursor: pointer; white-space: nowrap;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), background .3s, border-color .3s;
}
.btn-primary, .ce_hyperlink.primary a, .trust-large .txt > p:last-child a,
.widget-submit button, button.submit, .submit_container .submit {
  background: var(--grad); box-shadow: 0 10px 30px -10px rgba(140,60,255,.8), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:hover, .ce_hyperlink.primary a:hover, .trust-large .txt > p:last-child a:hover,
.widget-submit button:hover, button.submit:hover { box-shadow: 0 16px 40px -10px rgba(140,60,255,1), inset 0 1px 0 rgba(255,255,255,.3); color: #fff; }
.btn-ghost, .ce_hyperlink a { background: var(--surface); border-color: var(--border-2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.btn-ghost:hover, .ce_hyperlink a:hover { background: var(--surface-2); border-color: rgba(180,107,255,.5); color: #fff; }
.ce_hyperlink.primary a { border-color: transparent; background: var(--grad); }
.ce_hyperlink a::after, .trust-large .txt > p:last-child a::after {
  content: ''; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .4s var(--ease);
}
.ce_hyperlink a:hover::after, .trust-large .txt > p:last-child a:hover::after { transform: translateX(3px); }
.ce_hyperlink.packages a::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12M3.3 7l7.7 4.73a2 2 0 0 0 2 0L20.7 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12M3.3 7l7.7 4.73a2 2 0 0 0 2 0L20.7 7'/%3E%3C/svg%3E");
}
.ce_hyperlink.default a { background: none; border: 0; padding: 0; color: var(--muted); -webkit-backdrop-filter: none; backdrop-filter: none; }
.ce_hyperlink.default a:hover { background: none; color: #fff; }
.btn-sm { padding: 10px 14px; font-size: 13px; border-radius: 10px; }

/* ---------- Header ---------- */
#header { position: fixed; top: 14px; left: 0; right: 0; z-index: 80; height: auto; transition: top .4s var(--ease); }
#header .inside { padding: 0; }
.header-inner {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px;
  width: calc(min(1360px, 100% - 64px) + 40px); padding: 12px 20px; border-radius: 20px; border: 1px solid transparent;
  transition: background .4s, border-color .4s, box-shadow .4s, -webkit-backdrop-filter .4s, backdrop-filter .4s;
}
.is-scrolled #header { top: 10px; }
.is-scrolled .header-inner {
  background: rgba(12,12,20,.6); border-color: var(--border);
  -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
  box-shadow: 0 20px 50px -20px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.05);
}
.header-inner .logo img { display: block; height: 46px; width: auto; }
.main-nav { position: absolute; left: 50%; translate: -50% 0; }
.main-nav ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.main-nav li { position: relative; }
.main-nav .level_2 {
  position: absolute; top: calc(100% + 10px); left: 50%; translate: -50% 6px; z-index: 5; display: grid; gap: 2px; min-width: 230px; padding: 8px;
  border-radius: 16px; background: rgba(14,14,22,.96); border: 1px solid var(--border-2); box-shadow: 0 24px 60px -20px rgba(0,0,0,.8);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); opacity: 0; visibility: hidden; transition: opacity .25s, translate .3s var(--ease), visibility .25s;
}
.main-nav .level_2::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.main-nav li:hover > .level_2, .main-nav li:focus-within > .level_2 { opacity: 1; visibility: visible; translate: -50% 0; }
.main-nav .level_2 a, .main-nav .level_2 strong { padding: 10px 12px; border-radius: 10px; white-space: nowrap; }
.main-nav .submenu > a::after, .main-nav .submenu > strong::after { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; rotate: 45deg; opacity: .6; }
.main-nav a, .main-nav strong { display: block; padding: 8px 14px; border-radius: 10px; font-size: 14px; font-weight: 400; color: #c9c7da; transition: color .25s, background .25s; }
.main-nav a:hover, .main-nav strong, .main-nav .trail > a { color: #fff; background: var(--surface-2); }
.header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.cart-btn, .menu-btn {
  position: relative; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 10px;
  background: var(--surface); border: 1px solid var(--border-2); color: #fff; cursor: pointer; transition: background .25s, border-color .25s;
}
.cart-btn:hover, .menu-btn:hover { background: var(--surface-2); border-color: rgba(180,107,255,.5); color: #fff; }
.cart-count { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--grad); font-size: 10px; font-weight: 600; line-height: 18px; text-align: center; }
.menu-btn { display: none; }

/* ---------- Artikel ---------- */
#container, #main, #main .inside { padding: 0; margin: 0; width: auto; float: none; }
.mod_article { position: relative; padding: clamp(60px, 9vw, 110px) 0; }
/* Unterseiten: Platz unter dem fixierten Header */
#main .inside > .mod_article:first-child:not(.teaser) { padding-top: clamp(130px, 14vw, 170px); }
#main .inside:empty { min-height: 140px; }
:where(.mod_article .ce_text) p, :where(.mod_article .ce_text) li { color: var(--muted); }
:where(.mod_article .ce_text) strong { color: #fff; }

.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: var(--d, 0s); }
.js .reveal.in { opacity: 1; transform: none; }

/* ---------- Teaser / Hero ---------- */
.mod_article.teaser { min-height: clamp(560px, 80svh, 820px); display: flex; align-items: center; padding: 110px 0 32px; overflow: clip; }
.mod_article.teaser::before {
  content: ''; position: absolute; inset: -20% -10% auto auto; width: 80vw; height: 80vw; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, rgba(155,60,255,.22), transparent 70%) 70% 30% / 60% 60% no-repeat, radial-gradient(closest-side, rgba(52,102,255,.18), transparent 70%) 40% 60% / 55% 55% no-repeat;
  filter: blur(40px); animation: cl-aurora 18s ease-in-out infinite alternate;
}
@keyframes cl-aurora { to { transform: translate(-6%, 8%) rotate(12deg); } }
.teaser .inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 24px; }
.teaser .row { margin: 0; display: block; position: relative; z-index: 5; }
.mod_article.teaser .row > [class*="col-"] { width: 100%; max-width: none; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.teaser .ce_text { width: 100%; margin-bottom: 22px; }
.teaser .ce_text .txt > p:first-child {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 22px; padding: 7px 14px 7px 10px; border-radius: 99px;
  border: 1px solid var(--border-2); background: var(--surface); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #d9d6ee;
}
.teaser .ce_text .txt > p:first-child strong { font-weight: 600; color: #d9d6ee; }
.teaser .ce_text .txt > p:first-child::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--blue-2); animation: cl-ping 2s var(--ease) infinite; }
@keyframes cl-ping { 0% { box-shadow: 0 0 0 0 rgba(91,140,255,.7); } 70%, 100% { box-shadow: 0 0 0 10px rgba(91,140,255,0); } }
.teaser h1 { margin: 0 0 22px; font-size: clamp(40px, 5.4vw, 70px); font-weight: 800; line-height: 1.04; letter-spacing: -.035em; animation: cl-heroIn 1.2s var(--ease) both; }
@keyframes cl-heroIn { from { opacity: 0; transform: translateY(30px); filter: blur(8px); } }
.teaser .ce_text .txt > p:last-child { max-width: 480px; margin: 0; font-size: 16px; color: var(--muted); }
.teaser .hero-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; width: 100%; margin: 22px 0 0; padding: 0; list-style: none; font-size: 13px; color: #c9c7da; }
.teaser .hero-meta li { display: flex; align-items: center; gap: 8px; }
.teaser .hero-meta li::before { content: '✓'; color: var(--violet-2); font-weight: 700; }

.hero-visual { position: relative; aspect-ratio: 1 / 1; width: 100%; margin-right: -6%; }
.hero-visual canvas { position: absolute; inset: -18%; width: 136%; height: 136%; z-index: 2; opacity: 0; transition: opacity 1.4s var(--ease); }
.hero-visual.is-ready canvas { opacity: 1; }
.hero-glow { position: absolute; inset: 15%; z-index: 0; border-radius: 50%; background: radial-gradient(circle at 60% 40%, rgba(160,60,255,.55), rgba(52,102,255,.35) 45%, transparent 70%); filter: blur(60px); animation: cl-breathe 6s ease-in-out infinite; }
@keyframes cl-breathe { 50% { transform: scale(1.12); opacity: .8; } }
.hero-fallback { position: absolute; inset: 0; width: 42%; height: auto; margin: auto; z-index: 1; transition: opacity .8s; animation: cl-float 6s ease-in-out infinite; }
.hero-visual.is-ready .hero-fallback { opacity: 0; }
/* Platzhalter bis WebGL bereit ist: weicher Farbverlauf statt Logo-Icon, bleibt danach als Glow hinter dem Blob */
.hero-glow { position: absolute; inset: 20%; z-index: 1; border-radius: 50%; background: radial-gradient(circle at 42% 38%, rgba(176,98,255,.95), rgba(110,70,255,.75) 38%, rgba(55,80,255,.45) 62%, transparent 72%); filter: blur(46px); opacity: .7; transform: scale(.92); animation: cl-glow 6s ease-in-out infinite; transition: opacity 1.4s var(--ease); pointer-events: none; }
.hero-visual.is-ready .hero-glow { opacity: .32; }
@keyframes cl-glow { 0%, 100% { transform: scale(.92) translateY(0); } 50% { transform: scale(1) translateY(-10px); } }
@media (prefers-reduced-motion: reduce) { .hero-glow { animation: none; } }
.orbit-tile {
  position: absolute; left: -18%; top: -18%; z-index: 3; opacity: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 74px; height: 74px; border-radius: 20px;
  background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 20px 40px -12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #fff; will-change: transform, opacity; pointer-events: none;
}
.orbit-tile .ic { width: 28px; height: 28px; stroke-width: 1.6; }
.orbit-tile span { font-size: 9px; font-weight: 500; letter-spacing: .04em; color: #cfcbe6; }

/* ---------- Trust ---------- */
.mod_article.trust { padding: 10px 0 40px; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.trust-grid .ce_text { height: 100%; padding: 22px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.trust-grid .ce_text .inner { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 16px; }
.trust-grid .image_container { display: grid; place-items: center; width: 52px; height: 52px; flex: none; border-radius: 14px; background: linear-gradient(140deg, rgba(177,75,255,.25), rgba(52,102,255,.2)); border: 1px solid rgba(180,107,255,.3); }
.trust-grid .image_container img { width: 28px; height: 28px; }
.trust-grid .headline h3 { margin: 0; font-size: 16px; font-weight: 600; }
.trust-grid .txt p { margin: 0; font-size: 13px; color: var(--muted); }
.marquee { margin-top: 56px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); }
.marquee-track { display: flex; align-items: center; gap: 36px; width: max-content; animation: cl-marquee 40s linear infinite; }
.marquee span { font: 600 clamp(22px, 3vw, 36px)/1.2 var(--font-head); color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.22); white-space: nowrap; letter-spacing: -.02em; }
.marquee i { width: 10px; height: 10px; border-radius: 50%; background: var(--grad); flex: none; }
@keyframes cl-marquee { to { transform: translateX(-50%); } }

/* ---------- Spotlight ---------- */
.spot { position: relative; isolation: isolate; }
.spot::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; z-index: -1; pointer-events: none;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(180,107,255,.9), rgba(52,102,255,.4) 40%, transparent 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .4s;
}
.spot::after { content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none; background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 50%), rgba(140,70,255,.1), transparent 60%); opacity: 0; transition: opacity .4s; }
.spot:hover::before, .spot:hover::after { opacity: 1; }

/* ---------- Produkte ---------- */
.mod_article .space-between { justify-content: space-between; align-items: flex-end; gap: 24px; margin: 0 0 40px; }
.mod_article .space-between .ce_text h3 { margin: 0; font-size: clamp(28px, 3.6vw, 44px); }
.mod_article .space-between .ce_text p { margin: 0; }
.mod_iso_productlist .empty.message { margin: 0; padding: 48px 28px; border-radius: 22px; text-align: center; color: var(--muted); border: 1px dashed var(--border-2); background: var(--surface); }
.mod_iso_productlist .product_list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.product-card, .mod_iso_productlist .product {
  position: relative; display: flex; flex-direction: column; padding: 26px; border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); border: 1px solid var(--border);
  transform-style: preserve-3d; transition: transform .5s var(--ease), border-color .3s;
}
.product-icon { display: grid; place-items: center; width: 84px; height: 84px; margin-bottom: 28px; border-radius: 24px; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.35), transparent 40%), var(--grad); box-shadow: 0 20px 40px -14px rgba(140,60,255,.9), inset 0 -6px 14px rgba(0,0,0,.25); transform: translateZ(40px); transition: transform .5s var(--ease); }
.product-icon .ic, .product-icon img { width: 38px; height: 38px; }


/* ---------- Installation ---------- */
.install-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.install-copy h2 { font-size: clamp(28px, 3.6vw, 44px); }
.kicker { display: inline-block; margin-bottom: 14px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.install-copy > p { margin-top: 16px; max-width: 460px; color: var(--muted); }
.steps { list-style: none; padding: 0; margin: 36px 0 0; display: grid; gap: 14px; }
.steps li { display: flex; gap: 18px; align-items: flex-start; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface); }
.steps li > span { font: 700 14px/1 var(--font-mono); padding: 8px 9px; border-radius: 10px; background: var(--grad); }
.steps h4 { margin: 0; font-size: 15px; font-weight: 600; }
.steps p { margin: 0; font-size: 13px; color: var(--muted); }
.terminal { position: relative; border-radius: 20px; overflow: hidden; background: rgba(10,10,18,.85); border: 1px solid var(--border-2); box-shadow: 0 40px 80px -30px rgba(100,40,255,.55); }
.terminal::before {
  content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--angle), transparent 0 70%, #b14bff 80%, #3466ff 90%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: cl-spin 6s linear infinite;
}
@keyframes cl-spin { to { --angle: 360deg; } }
.terminal-bar { display: flex; align-items: center; gap: 8px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.terminal-bar i { width: 11px; height: 11px; border-radius: 50%; background: #ff5f57; }
.terminal-bar i:nth-child(2) { background: #febc2e; }
.terminal-bar i:nth-child(3) { background: #28c840; }
.terminal-bar span { margin-left: 10px; font: 12px var(--font-mono); color: var(--muted); }
.terminal-body { margin: 0; padding: 22px 24px 28px; min-height: 250px; font: 13.5px/1.9 var(--font-mono); color: #d8d5ec; white-space: pre-wrap; word-break: break-word; background: none; border: 0; }
.t-line { display: block; }
.t-prompt { color: var(--violet-2); }
.t-out { display: block; opacity: 0; transform: translateY(4px); transition: opacity .4s, transform .4s var(--ease); color: var(--muted); }
.t-out.show { opacity: 1; transform: none; }
.t-out b { color: #fff; font-weight: 500; }
.t-out em { color: var(--blue-2); font-style: normal; }
.t-ok { color: #6ee7a8 !important; }
.t-caret { display: inline-block; width: 8px; height: 1.1em; vertical-align: -3px; background: var(--violet-2); animation: cl-blink 1s steps(1) infinite; }
@keyframes cl-blink { 50% { opacity: 0; } }

/* ---------- Preis-Banner (ce_text_pricing) ---------- */
.mod_article.trust-large { padding-block: 50px; }
.pricing-banner {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(28px, 4vw, 64px);
  padding: clamp(32px, 4.5vw, 64px) clamp(28px, 4.5vw, 72px); border-radius: 34px;
  background: radial-gradient(70% 120% at 0% 0%, rgba(155,60,255,.08), transparent 60%), radial-gradient(90% 130% at 100% 100%, rgba(52,102,255,.32), transparent 60%), #0a0a13;
  box-shadow: 0 50px 120px -60px rgba(52,102,255,.5), inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .6s var(--ease), box-shadow .6s var(--ease);
}
.pricing-banner:hover { transform: translateY(-2px); box-shadow: 0 60px 140px -60px rgba(52,102,255,.65), inset 0 1px 0 rgba(255,255,255,.1); }
.pricing-banner::before { padding: 1.5px; }
.pb-border { position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--angle), rgba(255,255,255,.08) 0deg, rgba(122,140,255,.55) 70deg, rgba(52,102,255,.7) 110deg, rgba(255,255,255,.08) 170deg, rgba(255,255,255,.08) 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  }
.pb-aurora { position: absolute; inset: 0; z-index: -2; pointer-events: none; filter: blur(70px); opacity: .45; }
.pb-aurora span { position: absolute; border-radius: 50%; }
.pb-aurora span:nth-child(1) { display: none; }
.pb-aurora span:nth-child(2) { width: 36%; aspect-ratio: 1; right: -6%; bottom: -60%; background: #2f5bff; }
.pb-aurora span:nth-child(3) { display: none; }
@keyframes pb-drift1 { to { transform: translate(30%, 35%) scale(1.15); } }
@keyframes pb-drift2 { to { transform: translate(-12%, -10%) scale(1.08); } }
@keyframes pb-drift3 { to { transform: translate(-60%, 40%) scale(.8); } }
.pb-grid { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 34px 34px;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.35) 60%, rgba(0,0,0,.7)); mask-image: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.35) 60%, rgba(0,0,0,.7)); }
.pricing-banner::after { /* Lichtkante beim Hover */
  content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.09) 48%, transparent 60%) no-repeat;
  background-size: 250% 100%; background-position: 130% 0; opacity: 1; transition: background-position 1.4s var(--ease);
}
.pricing-banner:hover::after { background-position: -40% 0; opacity: 1; }

.pb-mark { position: relative; display: grid; place-items: center; width: clamp(130px, 13vw, 180px); aspect-ratio: 1; }
.pb-mark figure, .pb-mark img { position: relative; z-index: 2; width: 58%; height: auto; margin: 0; }
.pb-mark img { width: 100%; filter: drop-shadow(0 20px 30px rgba(90,80,255,.45)); animation: cl-float 9s ease-in-out infinite; transition: transform .8s var(--ease); }
.pricing-banner:hover .pb-mark img { transform: rotate(-10deg) scale(1.06); }
.pb-mark::before { content: ''; position: absolute; inset: -6%; border-radius: 50%; background: radial-gradient(circle, rgba(7,7,14,.85) 30%, rgba(7,7,14,.4) 55%, transparent 72%); }
.pb-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(180,107,255,.35); }
.pb-ring.r1 { border-color: rgba(255,255,255,.07); }
.pb-ring.r2 { inset: 12%; border-style: dashed; border-color: rgba(91,140,255,.3); animation: cl-rotate 60s linear infinite; }
.pb-ring.r3 { inset: -14%; border-color: rgba(255,255,255,.06); }
.pb-ring.r3::before { content: ''; position: absolute; top: 8%; left: 18%; width: 10px; height: 10px; border-radius: 50%; background: #7aa0ff; box-shadow: 0 0 14px #5b8cff; }
.pb-ring.r3 { animation: cl-rotate 40s linear infinite reverse; }
@keyframes cl-rotate { to { transform: rotate(360deg); } }
@keyframes pb-pulse { 0% { transform: scale(.85); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }

.pb-copy { position: relative; z-index: 1; min-width: 0; }
.pb-copy .kicker { margin-bottom: 10px; }
.pricing-banner .pb-title strong { background: linear-gradient(100deg, #a98bff, #6f8dff 60%, #8fb0ff); -webkit-background-clip: text; background-clip: text; animation: none; }
.pricing-banner .pb-title { margin: 0; font-size: clamp(30px, 3.6vw, 50px); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; }
.pb-text > p { margin: 14px 0 0; max-width: 560px; color: #b9b6cf; font-size: 16px; }
.pricing-banner .pb-text ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.pricing-banner .pb-text ul li {
  display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px 9px 10px; border-radius: 99px;
  font-size: 13.5px; color: #fff; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: border-color .3s, background .3s, transform .4s var(--ease);
}
.pricing-banner .pb-text ul li:hover { border-color: rgba(180,107,255,.55); background: rgba(155,60,255,.12); transform: translateY(-2px); }

.pb-cta { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 26px 28px; border-radius: 24px; text-align: center;
  background: linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.pb-price { display: grid; justify-items: center; line-height: 1; }
.pb-price small { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pb-price b { margin: 8px 0 6px; font: 800 clamp(44px, 4.6vw, 64px)/1 var(--font-head); letter-spacing: -.04em;
  background: linear-gradient(120deg, #fff 10%, #c9a2ff 45%, #7aa0ff 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pb-price span { font-size: 12px; color: var(--muted); }
.pb-btn { width: 100%; justify-content: center; }
.pb-note { font-size: 11.5px; color: #8d8aa6; }

.trust-large ul li::before, :where(.mod_article .ce_text) ul li::before {
  content: ''; width: 18px; height: 18px; flex: none; border-radius: 6px; background: var(--grad);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 0h10a7 7 0 0 1 7 7v10a7 7 0 0 1-7 7H7a7 7 0 0 1-7-7V7a7 7 0 0 1 7-7Zm10.3 7.3-7 7-3.6-3.6-1.4 1.4 5 5 8.4-8.4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 0h10a7 7 0 0 1 7 7v10a7 7 0 0 1-7 7H7a7 7 0 0 1-7-7V7a7 7 0 0 1 7-7Zm10.3 7.3-7 7-3.6-3.6-1.4 1.4 5 5 8.4-8.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Content + FAQ ---------- */
:where(.mod_article .ce_text) ul { list-style: none; padding: 0; margin: 18px 0 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
:where(.mod_article .ce_text) ul li { display: flex; gap: 10px; font-size: 14px; color: #e7e5f2; }
:where(.mod_article .ce_text) ul li::before { margin-top: 3px; }
:where(.mod_article .ce_text) h1 { font-size: clamp(28px, 3.8vw, 46px); font-weight: 800; margin-bottom: 24px; }
:where(.mod_article .ce_text) h2 { font-size: 20px; margin: 0 0 16px; }
:where(.mod_article .ce_text) h3 { font-size: 20px; margin: 40px 0 16px; }
.mod_article .row > .col-md-10 { width: 100%; max-width: 980px; flex: none; }
.mod_article .row > .col-md-5 { width: 50%; max-width: 50%; flex: 0 0 50%; }
.mod_faqlist { position: sticky; top: 110px; padding: 30px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); }
.mod_faqlist h2 { font-size: 20px; margin-bottom: 14px; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item:last-child { border-bottom: 0; }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; list-style: none; cursor: pointer; font-weight: 500; font-size: 14.5px; color: #fff; transition: color .25s; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--violet-2); }
.faq-item summary .ic { width: 28px; height: 28px; padding: 6px; border-radius: 9px; background: var(--surface-2); transition: transform .4s var(--ease), background .3s; }
.faq-item[open] summary .ic { transform: rotate(135deg); background: var(--grad); }
.faq-item .answer p { padding-bottom: 18px; margin: 0; color: var(--muted); font-size: 14px; }
@supports (interpolate-size: allow-keywords) {
  .mod_faqlist { interpolate-size: allow-keywords; }
  .faq-item::details-content { height: 0; overflow: clip; transition: height .45s var(--ease), content-visibility .45s allow-discrete; }
  .faq-item[open]::details-content { height: auto; }
}

/* ---------- Formulare ---------- */
.widget { margin: 0 0 14px; }
.widget label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--muted); }
.widget input.text, .widget input[type=email], .widget input[type=password], .widget input.captcha, .widget select, .widget textarea {
  width: 100%; padding: 13px 16px; border-radius: 12px; border: 1px solid var(--border-2); background: rgba(0,0,0,.35);
  color: #fff; font: 14px var(--font-body); outline: none; transition: border-color .25s, box-shadow .25s;
}
.widget input:focus, .widget select:focus, .widget textarea:focus { border-color: rgba(180,107,255,.6); box-shadow: 0 0 0 4px rgba(155,60,255,.15); }
p.error, .widget .error { color: #ff8a8a; font-size: 13px; }

/* ---------- Footer ---------- */
#footer { margin-top: 20px; height: auto; }
#footer .inside { padding: 0; }
.cta-box { position: relative; overflow: hidden; padding: clamp(40px, 7vw, 80px) clamp(24px, 6vw, 80px); border-radius: 32px; text-align: center; background: radial-gradient(ellipse at top, rgba(155,60,255,.25), transparent 60%), var(--bg-2); border: 1px solid var(--border-2); }
.cta-orb { position: absolute; left: 50%; bottom: -70%; width: 120%; aspect-ratio: 2/1; translate: -50% 0; border-radius: 50%; pointer-events: none; background: conic-gradient(from var(--angle), #b14bff, #3466ff, #7a3dff, #b14bff); filter: blur(80px); opacity: .35; animation: cl-spin 14s linear infinite; }
.cta-box h2 { position: relative; max-width: 700px; margin: 0 auto; font-size: clamp(28px, 4vw, 48px); }
.cta-box > p { position: relative; margin: 14px 0 0; color: var(--muted); }
.cta-box .mod_subscribe { position: relative; max-width: 480px; margin: 32px auto 0; text-align: left; }
.cta-box .mod_subscribe .formbody { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px; border-radius: 16px; background: rgba(0,0,0,.4); border: 1px solid var(--border-2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); margin: 0; }
.cta-box .mod_subscribe .formbody:focus-within { border-color: rgba(180,107,255,.6); box-shadow: 0 0 0 4px rgba(155,60,255,.15); }
.cta-box .mod_subscribe .widget { margin: 0; padding: 0; }
.cta-box .mod_subscribe .widget-text { flex: 1; min-width: 180px; }
.cta-box .mod_subscribe .widget-text input { border: 0; background: transparent; box-shadow: none !important; padding: 12px 14px; }
.cta-box .mod_subscribe .widget-captcha { order: 3; width: 100%; display: flex; align-items: center; gap: 10px; padding: 4px 10px 8px; }
.cta-box .mod_subscribe .widget-captcha label { margin: 0; }
.cta-box .mod_subscribe .widget-captcha input { padding: 8px 12px; max-width: 90px; }
.cta-box .mod_subscribe .widget-captcha .captcha_text { font-size: 13px; color: var(--muted); }
.cta-box .mod_subscribe .widget-submit button { padding: 13px 22px; }
.cta-box .mod_subscribe p.confirm, .cta-box .mod_subscribe p.error { margin: 10px 0 0; text-align: center; }

.site-footer { position: relative; margin-top: clamp(70px, 10vw, 130px); padding: 0 0 28px; overflow: hidden; background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(155,60,255,.12), transparent 70%); }
.site-footer::before { content: ''; position: absolute; top: 0; left: 50%; translate: -50% 0; width: min(900px, 90%); height: 1px; background: linear-gradient(90deg, transparent, rgba(180,107,255,.8), rgba(52,102,255,.8), transparent); }
.footer-brand { display: flex; align-items: center; gap: 28px; padding: 56px 0 48px; }
.footer-brand::before, .footer-brand::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--border-2)); }
.footer-brand::after { background: linear-gradient(90deg, var(--border-2), transparent); }
.footer-logo img { display: block; height: 42px; width: auto; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 0; padding-bottom: 48px; }
.footer-col { padding: 4px 36px; border-left: 1px solid var(--border); }
.footer-col:first-child { padding-left: 0; border-left: 0; }
.footer-col h4 { margin: 0 0 16px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.footer-col, .footer-col p, .footer-col a { font-size: 13.5px; color: var(--muted); line-height: 1.9; }
.footer-col p { margin: 0; }
.footer-col .ce_text, .footer-col .mod_navigation { margin: 0; }
.footer-col .ce_text strong { color: #fff; }
.footer-col a { transition: color .2s; }
.footer-col a:hover { color: #fff; }
.footer-col .links a, .footer-col .mod_navigation a, .footer-col .mod_navigation strong { display: inline-flex; align-items: center; gap: 0; padding: 0; font-weight: 400; }
.footer-col .links a::before, .footer-col .mod_navigation a::before { content: ''; width: 0; height: 1px; background: var(--grad); transition: width .3s var(--ease), margin .3s var(--ease); }
.footer-col .links a:hover::before, .footer-col .mod_navigation a:hover::before { width: 12px; margin-right: 8px; }
.footer-col .mod_navigation li { padding: 0; margin: 0; }
.footer-col .links, .footer-col .mod_navigation ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.footer-col .cookielink a { color: var(--muted); }
.footer-tagline { margin-bottom: 18px !important; color: #d7d4ea !important; max-width: 300px; }
.footer-mail { display: inline-flex; margin-top: 10px; color: #fff !important; border-bottom: 1px solid rgba(180,107,255,.5); line-height: 1.5 !important; }
.socials { display: flex; gap: 8px; margin-top: 20px; }
.socials a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; border: 1px solid var(--border-2); background: var(--surface); color: #fff; transition: border-color .25s, background .25s, transform .3s var(--ease); }
.socials a:hover { border-color: rgba(180,107,255,.6); background: var(--surface-2); transform: translateY(-2px); }
.footer-col .ce_gallery ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.footer-col .ce_gallery li { padding: 0; margin: 0; }
.footer-col .ce_gallery img { display: block; height: 34px; width: auto; border-radius: 8px; box-shadow: 0 6px 16px -8px rgba(0,0,0,.6); }
.footer-col .ssl { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 8px 12px; width: fit-content; border-radius: 10px; border: 1px solid var(--border); background: var(--surface); }
.footer-col .ssl .txt p { font-size: 12px; line-height: 1.4; }
.footer-col .ssl figure { order: -1; }
.footer-col .ssl img { width: 14px; height: 14px; }
.footer-bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--border); font-size: 12.5px; color: var(--muted); }
.footer-bottom .made { display: inline-flex; align-items: center; gap: 8px; }
.footer-bottom .made i { width: 6px; height: 6px; border-radius: 50%; background: #6ee7a8; box-shadow: 0 0 10px #6ee7a8; }
.to-top { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); transition: color .2s; }
.to-top:hover { color: #fff; }
.to-top span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--border-2); background: var(--surface); }
.footer-watermark { position: relative; margin: 34px 0 -0.32em; font: 800 clamp(64px, 15vw, 230px)/1 var(--font-head); letter-spacing: -.05em; text-align: center; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.07); background: linear-gradient(180deg, rgba(155,60,255,.18), transparent 75%); -webkit-background-clip: text; background-clip: text; user-select: none; pointer-events: none; white-space: nowrap; }


/* ---------- Offcanvas-Warenkorb ---------- */
.cart-drawer { position: fixed; inset: 0; z-index: 120; visibility: hidden; pointer-events: none; }
.cart-drawer.is-open { visibility: visible; pointer-events: auto; }
.cart-backdrop { position: absolute; inset: 0; background: rgba(4,4,10,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .4s var(--ease); }
.cart-drawer.is-open .cart-backdrop { opacity: 1; }
.cart-panel {
  position: absolute; top: 12px; right: 12px; bottom: 12px; width: min(440px, calc(100% - 24px)); display: flex; flex-direction: column;
  border-radius: 24px; background: linear-gradient(180deg, rgba(20,20,32,.96), rgba(10,10,18,.98)); border: 1px solid var(--border-2);
  box-shadow: -30px 0 80px -30px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.06);
  transform: translateX(calc(100% + 24px)); transition: transform .55s var(--ease); outline: none; overflow: hidden;
}
.cart-panel::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(80% 50% at 100% 100%, rgba(52,102,255,.22), transparent 70%); }
.cart-drawer.is-open .cart-panel { transform: none; }
.cart-head { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 26px 26px 18px; border-bottom: 1px solid var(--border); }
.cart-head .kicker { margin-bottom: 6px; }
.cart-head h2 { margin: 0; font-size: 22px; }
.cart-close { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; border: 1px solid var(--border-2); background: var(--surface); color: #fff; cursor: pointer; font-size: 14px; transition: background .25s, border-color .25s, transform .3s var(--ease); }
.cart-close:hover { background: var(--surface-2); border-color: rgba(180,107,255,.5); transform: rotate(90deg); }
.cart-body { position: relative; flex: 1; overflow-y: auto; padding: 20px 26px 26px; display: flex; flex-direction: column; }
.cart-body .mod_iso_cart { display: flex; flex-direction: column; flex: 1; }
.cart-body .oc-fallback { display: none; }
.cart-body.is-empty .oc-fallback { display: flex; }
.oc-empty { flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; color: var(--muted); padding: 40px 0; }
.oc-empty:not(.oc-fallback) { display: flex; }
.oc-empty > .ic { width: 46px; height: 46px; padding: 12px; border-radius: 16px; background: var(--surface-2); border: 1px solid var(--border); color: #fff; }
.oc-empty p { margin: 0; }
.oc-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.oc-item { display: flex; justify-content: space-between; gap: 14px; padding: 16px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); }
.oc-item-main { display: grid; gap: 3px; min-width: 0; }
.oc-name { font-weight: 600; color: #fff; }
.oc-name:hover { color: var(--violet-2); }
.oc-meta { display: inline-flex; width: fit-content; padding: 2px 9px; border-radius: 99px; font-size: 11.5px; color: #c9d4ff; background: rgba(52,102,255,.15); border: 1px solid rgba(91,140,255,.35); }
.oc-qty { font-size: 12.5px; color: var(--muted); }
.oc-item-side { display: grid; justify-items: end; align-content: space-between; gap: 8px; white-space: nowrap; }
.oc-item-side strong { font-family: var(--font-head); }
.oc-remove { font-size: 12px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.oc-remove:hover { color: #ff9a9a; }
.oc-summary { margin-top: auto; padding-top: 22px; display: grid; gap: 8px; }
.oc-row { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); }
.oc-total { padding-top: 12px; margin-top: 4px; border-top: 1px solid var(--border); color: #fff; font: 700 20px var(--font-head); }
.oc-note { margin: 4px 0 8px; font-size: 12px; color: var(--muted); }
.oc-checkout { justify-content: center; width: 100%; }
.oc-cartlink { text-align: center; font-size: 13px; color: var(--muted); padding: 6px; }
.oc-cartlink:hover { color: #fff; }
.cart-count.bump { animation: cl-bump .6s var(--ease); }
@keyframes cl-bump { 40% { transform: scale(1.5); } }
html.cart-locked { overflow: hidden; }


/* ---------- Produktkarten (Isotope-Liste) ---------- */
.mod_iso_productlist .product_list { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
.ce_text + .mod_iso_productlist, .ce_text + .category-grid, .ce_text + .mod_navigation { margin-top: 36px; }
.mod_iso_productlist .product { padding: 0; border: 0; background: none; transform: none; }
.product-card { height: 100%; }
.product-card .product-cat { margin: 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--violet-2); }
.product-card .tags { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding: 22px 0 0; }
.product-card .tags span { padding: 4px 10px; border-radius: 99px; font-size: 11px; color: #cfcbe6; background: var(--surface-2); border: 1px solid var(--border); }
.product-card .price small { font-size: 13px; font-weight: 500; color: var(--muted); }
.product-card .price { font: 700 22px/1.1 var(--font-head); white-space: nowrap; }
.product-card .price .price-note { display: block; white-space: normal; margin-top: 6px; font: 400 10.5px/1.3 var(--font-body); color: var(--muted); }
.product-card:hover { border-color: rgba(180,107,255,.4); }
.product-card:hover .add-btn { transform: translateX(3px); }
.mod_iso_productlist > .empty.message:only-child { grid-column: 1 / -1; }

/* ---------- Kategorie-Kacheln ---------- */
.category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; margin-top: 8px; }
.category-card { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 22px; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); color: inherit; text-decoration: none; transition: transform .5s var(--ease), border-color .3s; }
.category-card:hover { border-color: rgba(180,107,255,.4); color: inherit; transform: translateY(-4px); }
.category-card:focus-visible { outline: 2px solid var(--violet-2); outline-offset: 3px; }
.category-card .product-icon { transform: none; transition: transform .5s var(--ease); }
.category-card:hover .product-icon { transform: rotate(-6deg) scale(1.05); }
.category-card .category-more .ic { transition: transform .35s var(--ease); }
.category-card:hover .category-more .ic { transform: translateX(4px); }
.mod_navigation:has(> .category-grid) { margin-bottom: clamp(48px, 6vw, 90px); }
.category-card .product-icon { margin-bottom: 14px; width: 64px; height: 64px; border-radius: 18px; }
.category-card .product-icon .ic { width: 30px; height: 30px; }
.category-card h3 { margin: 0; font-size: 20px; }
.category-card p { margin: 0; color: var(--muted); font-size: 14px; }
.category-more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-size: 13.5px; color: var(--violet-2); }

/* ---------- Produktdetail ---------- */
.mod_iso_productreader { padding-top: 10px; }
.mod_iso_productreader .back { display: none; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr); gap: clamp(28px, 4vw, 60px); align-items: start; }
.pd-head { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.pd-icon { display: grid; place-items: center; width: 76px; height: 76px; flex: none; border-radius: 22px; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.35), transparent 40%), var(--grad); box-shadow: 0 20px 40px -14px rgba(140,60,255,.9); }
.pd-icon .ic { width: 36px; height: 36px; }
.pd-head h1 { margin: 0; font-size: clamp(30px, 3.6vw, 48px); font-weight: 800; letter-spacing: -.03em; }
.pd-tagline { margin: 6px 0 0; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--violet-2); }
.pd-intro { font-size: 17px; color: #d7d4ea; max-width: 640px; }
.pd-intro p { margin: 0; }
.pd-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.pd-badges li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 10px; border: 1px solid var(--border-2); background: var(--surface); font-size: 12.5px; font-weight: 500; }
.pd-badges .ic { width: 15px; height: 15px; color: var(--violet-2); }
.pd-tabs { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--border); }
.pd-tablist { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; padding: 5px; width: fit-content; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.pd-tablist button { padding: 9px 16px; border: 0; border-radius: 10px; background: none; color: var(--muted); font: 500 14px var(--font-body); cursor: pointer; transition: background .25s, color .25s; }
.pd-tablist button:hover { color: #fff; }
.pd-tablist button[aria-selected="true"] { background: var(--grad); color: #fff; box-shadow: 0 8px 20px -10px rgba(140,60,255,.9); }
.pd-panel { color: var(--muted); font-size: 15px; }
.pd-panel p { margin: 0 0 14px; }
.pd-panel strong { color: #fff; }
.pd-panel h3 { margin: 28px 0 14px; font-size: 18px; color: #fff; }
.pd-features { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pd-features li { display: flex; gap: 10px; color: #e7e5f2; font-size: 14.5px; }
.pd-features li::before { content: ''; width: 18px; height: 18px; flex: none; margin-top: 3px; border-radius: 6px; background: var(--grad);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 0h10a7 7 0 0 1 7 7v10a7 7 0 0 1-7 7H7a7 7 0 0 1-7-7V7a7 7 0 0 1 7-7Zm10.3 7.3-7 7-3.6-3.6-1.4 1.4 5 5 8.4-8.4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 0h10a7 7 0 0 1 7 7v10a7 7 0 0 1-7 7H7a7 7 0 0 1-7-7V7a7 7 0 0 1 7-7Zm10.3 7.3-7 7-3.6-3.6-1.4 1.4 5 5 8.4-8.4z'/%3E%3C/svg%3E") center / contain no-repeat; }
.pd-panel .steps { margin-top: 0; }
.pd-hint { margin-top: 18px !important; font-size: 13.5px; }
.pd-hint a { color: var(--violet-2); text-decoration: underline; text-underline-offset: 3px; }
.pd-changelog { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pd-changelog li { display: grid; grid-template-columns: auto auto 1fr; gap: 14px; align-items: baseline; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); }
.pd-changelog strong { font-family: var(--font-mono); color: var(--violet-2); }
.pd-changelog time { font-size: 12.5px; color: var(--muted); }
.pd-changelog span { color: #e7e5f2; font-size: 14px; }

.pd-aside { position: sticky; top: 110px; display: grid; gap: 16px; }
.plan-card { position: relative; display: grid; gap: 22px; padding: 26px; border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); border: 1px solid var(--border-2); overflow: hidden; }
.plan-card::after { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--grad); }
.plan-agentur::after { background: linear-gradient(90deg, #3466ff, #5b8cff); }
.plan-top { display: grid; gap: 18px; }
.plan-card h2 { margin: 0; font-size: 22px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.plan-agentur h2 { background: linear-gradient(90deg, #5b8cff, #8fb0ff); -webkit-background-clip: text; background-clip: text; }
.plan-for { margin: 4px 0 0; color: #fff; font-weight: 500; font-size: 14px; }
.plan-desc { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.plan-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.plan-card ul li { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: #e7e5f2; }
.plan-card ul .ic { width: 16px; height: 16px; color: var(--violet-2); }
.plan-agentur ul .ic { color: var(--blue-2); }
.plan-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; padding-top: 18px; border-top: 1px solid var(--border); flex-wrap: wrap; }
.plan-price b { display: block; white-space: nowrap; font: 800 30px/1 var(--font-head); letter-spacing: -.03em; color: #fff; }
.plan-price .price-note { display: block; margin-top: 6px; font-size: 11.5px; color: var(--muted); }
.plan-agentur .btn-primary { background: linear-gradient(120deg, #3466ff, #5b8cff); box-shadow: 0 10px 30px -10px rgba(52,102,255,.8); }
.pd-demo { justify-content: center; }
.pd-trust { list-style: none; margin: 0; padding: 14px 16px; display: grid; gap: 8px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface); }
.pd-trust li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--muted); }
.pd-trust .ic { width: 16px; height: 16px; color: #fff; }

/* ---------- Kundenbereich: Lizenzen & Bestellungen ---------- */
.license-list { display: grid; gap: 14px; }
.license-card { padding: 22px; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); }
.license-card header { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.license-card h3 { margin: 0; font-size: 18px; }
.license-type { font-size: 12.5px; color: var(--muted); }
.license-state { padding: 4px 10px; border-radius: 99px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.is-active .license-state { color: #6ee7a8; background: rgba(110,231,168,.1); border: 1px solid rgba(110,231,168,.35); }
.is-pending .license-state { color: #fcd34d; background: rgba(252,211,77,.1); border: 1px solid rgba(252,211,77,.35); }
.is-revoked .license-state { color: #ff8a8a; background: rgba(255,138,138,.1); border: 1px solid rgba(255,138,138,.35); }
.license-key, .cl-item-license { display: flex; align-items: center; gap: 10px; margin: 16px 0; padding: 10px 10px 10px 16px; border-radius: 12px; background: rgba(0,0,0,.35); border: 1px dashed var(--border-2); }
.license-key code, .cl-item-license code { flex: 1; font: 600 15px var(--font-mono); letter-spacing: .04em; color: #fff; word-break: break-all; }
.copy-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 9px; border: 1px solid var(--border-2); background: var(--surface-2); color: #fff; font: 500 12.5px var(--font-body); cursor: pointer; transition: background .25s, border-color .25s; }
.copy-btn:hover { border-color: rgba(180,107,255,.6); }
.copy-btn.copied { border-color: rgba(110,231,168,.6); color: #6ee7a8; }
.license-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.license-card dt { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.license-card dd { margin: 2px 0 0; font-size: 14px; }
.license-card dd small { color: var(--muted); }
.cl-item-licenses { margin-top: 10px; }
.cl-item-license { margin: 8px 0 0; flex-wrap: wrap; }
.cl-label { width: 100%; font-size: 11.5px; color: var(--muted); }

/* Isotope-Tabellen (Warenkorb, Bestellung) */
.mod_iso_cart table, .mod_iso_orderdetails table, .mod_iso_orderhistory table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mod_iso_cart td, .mod_iso_orderdetails td, .mod_iso_orderhistory td, .mod_iso_orderhistory th { padding: 14px 10px; border-bottom: 1px solid var(--border); vertical-align: top; color: #e7e5f2; text-align: left; }
.mod_iso_cart tfoot td, .mod_iso_orderdetails tfoot td { color: var(--muted); }
.mod_iso_cart tfoot .total td, .mod_iso_orderdetails tfoot .total td { color: #fff; font: 700 18px var(--font-head); border-bottom: 0; }
.mod_iso_cart .name ul, .mod_iso_orderdetails .name ul { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--muted); }
.mod_iso_cart .quantity input { width: 70px; padding: 8px; border-radius: 10px; border: 1px solid var(--border-2); background: rgba(0,0,0,.35); color: #fff; }
.mod_iso_cart .remove { color: var(--muted); }
.mod_iso_cart .submit_container { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 22px; }
.mod_iso_cart .submit_container .submit { background: var(--surface); border: 1px solid var(--border-2); box-shadow: none; }
.mod_iso_cart .submit_container .submit.checkout, .mod_iso_cart .submit_container .checkout { background: var(--grad); border: 0; }
.mod_iso_cart > .empty.message, .mod_iso_orderhistory .empty { padding: 40px; border-radius: 20px; border: 1px dashed var(--border-2); text-align: center; color: var(--muted); }
.cart-body .mod_iso_cart > .empty.message { display: none; }

/* Mein Konto */
.account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.mod_login, .mod_registration, .mod_personalData, .mod_cl_my_licenses, .mod_iso_orderhistory, .mod_iso_orderdetails { padding: 28px; border-radius: 24px; border: 1px solid var(--border); background: var(--surface); margin-bottom: 24px; }
.mod_login h2, .mod_registration h2, .mod_personalData h2, .mod_cl_my_licenses h2, .mod_iso_orderhistory h2 { font-size: 20px; margin-bottom: 18px; }
.mod_login .widget-checkbox label, .widget-checkbox label { display: inline; }

/* ---------- OnePage-Checkout im contaolabs-Theme ---------- */
.shopify-checkout {
  --zst-paper: rgba(255,255,255,.04); --zst-paper-soft: rgba(255,255,255,.03); --zst-field: rgba(0,0,0,.35);
  --zst-ink: #ffffff; --zst-text: #d7d4ea; --zst-muted: #9a98b0; --zst-line: rgba(255,255,255,.08); --zst-line-strong: rgba(255,255,255,.16);
  --zst-brand: #9b3cff; --zst-brand-dark: #7a3dff; --zst-brand-soft: rgba(155,60,255,.14); --zst-accent: #3466ff;
  --zst-success: #6ee7a8; --zst-success-soft: rgba(110,231,168,.12); --zst-danger: #ff8a8a; --zst-danger-soft: rgba(255,138,138,.1);
  --zst-info-soft: rgba(52,102,255,.12); --zst-info-ink: #c9d4ff; --zst-shadow: 0 30px 80px -40px rgba(0,0,0,.8); --zst-shadow-sm: none; --zst-max: 100%;
}
.shopify-checkout-brand { display: none; }
.shopify-checkout .onepage-summary-card { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.shopify-checkout .onepage-discount-button { background: var(--surface-2) !important; color: #fff !important; border: 1px solid var(--border-2) !important; }
.shopify-checkout select option { background: #11111a; color: #fff; }

/* ---------- Isotope-Hinweisbox ---------- */
#iso_ajaxBox { position: fixed !important; top: 22px !important; left: 50% !important; translate: -50% 0; z-index: 130 !important; width: auto !important; max-width: min(440px, calc(100% - 32px)); margin: 0 !important; padding: 14px 18px 14px 46px !important;
  border-radius: 14px !important; border: 1px solid rgba(110,231,168,.35) !important; background: rgba(14,14,22,.96) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236ee7a8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 16px center / 18px no-repeat !important;
  color: #fff !important; font: 500 14px var(--font-body) !important; box-shadow: 0 24px 60px -20px rgba(0,0,0,.8) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
#iso_ajaxBox * { color: inherit !important; background: none !important; }
/* Erfolgsmeldung „in den Warenkorb gelegt“ ausblenden – der Offcanvas-Warenkorb übernimmt das Feedback */
#iso_ajaxBox.cl-silent, #iso_ajaxOverlay.cl-silent, #iso_ajaxBox:has(.iso_confirm):not(:has(.iso_error, .iso_info)) { display: none !important; }
body:has(#iso_ajaxBox .iso_confirm):not(:has(#iso_ajaxBox .iso_error, #iso_ajaxBox .iso_info)) #iso_ajaxOverlay { display: none !important; }

/* ---------- Cookie-Banner ---------- */
.contao-cookiebar.cc-wrap .cc-inner { background: rgba(14,14,22,.96) !important; color: var(--text) !important; border: 1px solid var(--border-2); border-radius: 22px !important; box-shadow: 0 30px 80px -20px rgba(0,0,0,.8) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); font-family: var(--font-body) !important; }
.contao-cookiebar .cc-head p, .contao-cookiebar .cc-cookie p { color: var(--muted) !important; }
.contao-cookiebar .cc-head strong { color: #fff; font-family: var(--font-head); font-size: 16px; }
.contao-cookiebar .cc-group { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: 14px !important; }
.contao-cookiebar .cc-group label, .contao-cookiebar .cc-detail-btn { color: #fff !important; }
.contao-cookiebar .cc-btn { border-radius: 12px !important; border: 1px solid var(--border-2) !important; background: var(--surface-2) !important; color: #fff !important; font: 500 13.5px var(--font-body) !important; padding: 11px 16px !important; }
.contao-cookiebar .cc-btn.success { background: var(--grad) !important; border-color: transparent !important; }
.contao-cookiebar .cc-info a { color: var(--muted) !important; }


/* ---------- Blog ---------- */
.mod_newslist { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; margin-top: 36px; }
.mod_newslist .layout_latest { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 22px; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); transition: border-color .3s, transform .4s var(--ease); }
.mod_newslist .layout_latest:hover { border-color: rgba(180,107,255,.4); transform: translateY(-3px); }
.mod_newslist .info, .mod_newsreader .info { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--violet-2); }
.mod_newslist h2 { margin: 0; font-size: 21px; }
.mod_newslist h2 a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.mod_newslist .teaser p { margin: 0; color: var(--muted); font-size: 14.5px; }
.mod_newslist .more { margin-top: auto; padding-top: 10px; font-size: 13.5px; color: var(--violet-2); }
.mod_newslist .pagination { grid-column: 1 / -1; }
.mod_newsreader { max-width: 820px; }
.mod_newsreader .layout_full h1 { font-size: clamp(30px, 4vw, 52px); font-weight: 800; letter-spacing: -.03em; margin: 10px 0 8px; }
.mod_newsreader .layout_full > h2, .mod_newsreader .subheadline { font-size: 18px; color: var(--muted); font-weight: 500; font-family: var(--font-body); }
.mod_newsreader .ce_text h2 { font-size: 22px; margin: 34px 0 12px; }
.mod_newsreader .ce_text p, .mod_newsreader .ce_text li { font-size: 16px; color: #d7d4ea; }
.mod_newsreader .back { margin-top: 30px; }
.mod_newsreader .back a { color: var(--violet-2); }
.mod_newsreader + .mod_newslist, .mod_newsreader ~ .ce_text { display: none; }

/* ---------- Doku & Rechtstexte ---------- */
:where(.mod_article .ce_text) ol { margin: 14px 0 22px; padding: 0; list-style: none; counter-reset: cl-step; display: grid; gap: 10px; }
:where(.mod_article .ce_text) ol li { position: relative; padding: 12px 14px 12px 52px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); counter-increment: cl-step; color: #e7e5f2; font-size: 14.5px; }
:where(.mod_article .ce_text) ol li::before { content: counter(cl-step, decimal-leading-zero); position: absolute; left: 12px; top: 11px; padding: 3px 6px; border-radius: 8px; background: var(--grad); font: 700 11px var(--font-mono); color: #fff; }
.mod_article code { padding: 2px 6px; border-radius: 6px; background: rgba(155,60,255,.14); border: 1px solid rgba(155,60,255,.25); font: 13px var(--font-mono); color: #e3d4ff; }
.mod_article pre { margin: 16px 0 22px; padding: 20px 22px; border-radius: 16px; background: rgba(10,10,18,.85); border: 1px solid var(--border-2); overflow-x: auto; white-space: pre-wrap; word-break: break-word; }
.mod_article pre code { padding: 0; border: 0; background: none; color: #d8d5ec; font-size: 13px; line-height: 1.8; }
:where(.mod_article .ce_text) h2 { margin-top: 38px; }
:where(.mod_article .ce_text) h1 + p + h2, :where(.mod_article .ce_text) .txt > h2:first-child { margin-top: 0; }
:where(.mod_article .ce_text) a:not(.btn) { color: var(--violet-2); text-decoration: underline; text-underline-offset: 3px; }
:where(.mod_article .ce_text) em { color: var(--muted); }
/* Lesebreite für reine Textseiten (Rechtstexte, Doku), links bündig zum Container */
#main .inside > .mod_article:only-child > .container > .inner:not(:has(.mod_iso_productlist, .category-grid, .product-detail, .mod_newslist, .mod_newsreader, .mod_iso_cart, .shopify-checkout, .mod_login, .mod_iso_orderdetails, .req-form)) { max-width: 860px; }


/* ---------- Produktkarte (komplett klickbar) ---------- */
a.product-card { display: flex; flex-direction: column; color: inherit; text-decoration: none; transform: none; }
a.product-card:hover { color: inherit; transform: translateY(-4px); }
a.product-card:focus-visible { outline: 2px solid var(--violet-2); outline-offset: 3px; }
a.product-card .product-icon { transform: none; transition: transform .5s var(--ease); }
a.product-card:hover .product-icon { transform: rotate(-6deg) scale(1.05); }
a.product-card h3 { margin: 6px 0 0; font-size: 20px; }
a.product-card .product-cat { display: block; min-height: 2.6em; }
a.product-card .product-desc { display: block; margin-top: 12px; font-size: 14px; color: var(--muted); line-height: 1.65; }
.product-card .product-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: 16px; padding-top: 18px; border-top: 1px solid var(--border); }
.product-card .add-btn { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 13px; color: #fff; background: var(--grad); box-shadow: 0 10px 24px -10px rgba(140,60,255,.9); transition: transform .35s var(--ease), box-shadow .35s; }
a.product-card:hover .add-btn { transform: translateX(4px); box-shadow: 0 14px 30px -8px rgba(140,60,255,1); }
.mod_iso_productlist { margin-bottom: clamp(48px, 6vw, 90px); }

/* ---------- Karte „Nächste Erweiterung“ ---------- */
.product-soon { display: flex; flex-direction: column; align-items: flex-start; height: 100%; border-style: dashed; border-color: var(--border-2); background: transparent; box-shadow: none; }
.product-soon:hover { transform: none; }
.product-soon .product-icon { background: var(--surface-2); box-shadow: none; border: 1px dashed var(--border-2); color: #fff; }
.product-card.product-soon .product-cat { display: block; color: var(--muted); letter-spacing: 0; text-transform: none; font-size: 14px; min-height: 0; }
.product-soon h3 { margin: 6px 0 0; font-size: 20px; }
.product-soon .product-desc { display: block; margin: 12px 0 24px; font-size: 14px; color: var(--muted); line-height: 1.65; }
.product-card.product-soon .btn { margin-top: auto; align-self: flex-start; width: auto; }
#newsletter { scroll-margin-top: 110px; }


/* ---------- Kicker in Textelementen (<p><strong>…</strong></p> vor h1/h2) ---------- */
.ce_text .txt > p:first-child:has(> strong:only-child):has(+ h1, + h2) { margin: 0 0 14px; }
.ce_text .txt > p:first-child:has(> strong:only-child):has(+ h1, + h2) > strong { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- Kundenbereich: Login, Kontoleiste, Registrierung ---------- */
.cl-login.login { padding: 0; overflow: hidden; }
.login-grid { display: grid; grid-template-columns: 1.15fr .85fr; }
.login-form { padding: clamp(24px, 4vw, 44px); }
.login-form h2 { margin: 0 0 6px; font-size: 24px; }
.login-lead { margin: 0 0 24px; color: var(--muted); font-size: 14px; }
.login-form .widget-submit { margin-top: 22px; }
.login-form .widget-submit .btn { width: 100%; justify-content: center; }
.login-form .widget-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--muted); }
.login-form .widget-checkbox input { accent-color: #9b3cff; width: 16px; height: 16px; }
.login-aside { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: clamp(24px, 4vw, 44px); border-left: 1px solid var(--border); background: radial-gradient(120% 90% at 100% 0%, rgba(80,110,255,.18), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.03), transparent); }
.login-aside .kicker { margin-bottom: 6px; }
.login-aside h3 { margin: 0 0 16px; font-size: 22px; }
.login-aside .check-list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 12px; font-size: 14.5px; color: #d9d6ea; }
.login-aside .check-list li { display: flex; gap: 10px; align-items: flex-start; }
.login-aside .check-list .ic { flex: none; width: 18px; height: 18px; margin-top: 2px; color: #9fb2ff; }
.login-aside .btn { margin-top: auto; }

.account-bar { display: flex; align-items: center; gap: 16px; margin: 0; }
.cl-login.logout { padding: 18px 22px; }
.account-avatar { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 14px; background: var(--grad); color: #fff; font: 700 20px var(--font-head); box-shadow: 0 10px 24px -10px rgba(140,60,255,.9); }
.account-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; margin-right: auto; }
.account-info strong { font-family: var(--font-head); font-size: 17px; }
.account-info span { color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-bar .btn .ic { rotate: 180deg; }

.mod_registration .fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.mod_registration .fields > :not(.widget), .mod_registration .fields > .widget-captcha, .mod_registration .fields > .widget-checkbox { grid-column: 1 / -1; }
.mod_registration .widget-submit button { width: 100%; justify-content: center; }
.mod_registration .widget-submit { margin-top: 10px; }
.mod_registration h2 { margin-bottom: 18px; }
.account-switch { margin: -6px 0 0; text-align: center; color: var(--muted); font-size: 14px; }
.account-switch a { color: var(--violet-2); }
@media (max-width: 760px) {
  .login-grid { grid-template-columns: 1fr; }
  .login-aside { border-left: 0; border-top: 1px solid var(--border); }
  .mod_registration .fields { grid-template-columns: 1fr; }
  .account-bar { flex-wrap: wrap; }
}


/* ---------- Produktbilder aus der Isotope-Bildverwaltung ---------- */
/* Linien-Icons (SVG) werden weiß auf der Verlaufs-Kachel dargestellt */
.product-icon.has-image img, .pd-icon.has-image img, .ci-icon img, .oc-icon img { display: block; width: 46%; height: 46%; object-fit: contain; filter: brightness(0) invert(1); }
.oc-icon, .ci-icon { display: grid; place-items: center; flex: none; overflow: hidden; color: #fff; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.3), transparent 45%), var(--grad); }
.oc-icon { width: 46px; height: 46px; border-radius: 13px; }
.oc-icon .ic { width: 22px; height: 22px; }
.oc-item { justify-content: flex-start; align-items: flex-start; }
.oc-item-main { flex: 1; }

/* ---------- Warenkorbseite ---------- */
.mod_iso_cart:has(.cart-page) { padding: 0; border: 0; background: none; }
.cart-page { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.cart-items { display: grid; gap: 12px; }
.cart-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; align-items: center; gap: 18px; padding: 18px 20px; border-radius: 20px; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); transition: border-color .3s; }
.cart-item:hover { border-color: rgba(180,107,255,.35); }
.ci-icon { width: 58px; height: 58px; border-radius: 16px; }
.ci-icon .ic { width: 26px; height: 26px; }
.ci-main { display: grid; gap: 6px; min-width: 0; }
.ci-name { font: 700 17px var(--font-head); color: #fff; }
a.ci-name:hover { color: var(--violet-2); }
.ci-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ci-tags span { padding: 3px 10px; border-radius: 99px; font-size: 12px; color: #cfd6ff; background: rgba(80,110,255,.12); border: 1px solid rgba(110,140,255,.3); }
.ci-note { font-size: 12.5px; color: var(--muted); }
.ci-qty input { width: 64px; padding: 10px 8px; text-align: center; border-radius: 12px; border: 1px solid var(--border-2); background: rgba(0,0,0,.35); color: #fff; font: 600 15px var(--font-body); }
.ci-qty input:focus { outline: none; border-color: rgba(180,107,255,.6); box-shadow: 0 0 0 4px rgba(155,60,255,.15); }
.ci-price { display: grid; justify-items: end; gap: 2px; white-space: nowrap; }
.ci-price strong { font: 700 18px var(--font-head); color: #fff; }
.ci-price small { font-size: 12px; color: var(--muted); }
.ci-remove { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--muted); border: 1px solid var(--border); transition: color .2s, border-color .2s, background .2s; }
.ci-remove:hover { color: #ff8a8a; border-color: rgba(255,120,120,.4); background: rgba(255,90,90,.08); }
.cart-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 14px; color: var(--muted); }
.cart-back .ic { rotate: 180deg; width: 16px; height: 16px; }
.cart-back:hover { color: #fff; }
.cart-summary { position: sticky; top: 100px; padding: 26px; border-radius: 22px; border: 1px solid var(--border-2); background: radial-gradient(120% 80% at 100% 0%, rgba(80,110,255,.16), transparent 60%), var(--surface); }
.cart-summary h2 { margin: 0 0 18px; font-size: 20px; }
.cs-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 14.5px; }
.cs-sub { color: var(--muted); font-size: 13px; }
.cs-total { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--border); font: 700 22px var(--font-head); color: #fff; }
.cs-actions { display: grid; gap: 10px; margin-top: 22px; }
.cs-actions button, .cs-actions input[type=submit] { width: 100%; padding: 14px 18px; border-radius: 14px; border: 1px solid var(--border-2); background: var(--surface-2); color: #fff; font: 600 14.5px var(--font-body); cursor: pointer; transition: transform .3s var(--ease), box-shadow .3s, background .3s; }
.cs-actions input[name*=checkout], .cs-actions button[name*=checkout] { order: -1; border-color: transparent; background: var(--grad); box-shadow: 0 14px 30px -12px rgba(140,60,255,.9); }
.cs-actions button:hover, .cs-actions input[type=submit]:hover { transform: translateY(-2px); }
.cs-trust { list-style: none; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--border); display: grid; gap: 10px; font-size: 13px; color: var(--muted); }
.cs-trust li { display: flex; gap: 10px; align-items: center; }
.cs-trust .ic { width: 16px; height: 16px; color: #9fb2ff; flex: none; }
@media (max-width: 960px) { .cart-page { grid-template-columns: 1fr; } .cart-summary { position: static; } }
@media (max-width: 600px) {
  .cart-item { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icon main remove" "icon qty price"; gap: 12px 14px; padding: 16px; }
  .ci-icon { grid-area: icon; align-self: start; width: 48px; height: 48px; }
  .ci-main { grid-area: main; } .ci-qty { grid-area: qty; } .ci-price { grid-area: price; } .ci-remove { grid-area: remove; align-self: start; }
}


/* ---------- Blog ---------- */
.mod_newslist:has(.blog-card) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.blog-card { position: relative; display: flex; flex-direction: column; border-radius: 24px; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); overflow: hidden; transition: border-color .3s, transform .5s var(--ease), box-shadow .5s; }
.blog-card:hover { border-color: rgba(180,107,255,.45); transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(120,60,255,.55); }
.bc-cover { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; overflow: hidden; }
.bc-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.blog-card:hover .bc-cover img, .blog-card:hover .bc-art { transform: scale(1.06); }
.bc-cover figure { margin: 0; width: 100%; height: 100%; }
[class*="cover-"] { background-color: #120f22; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px), var(--cover-glow); background-size: 28px 28px, 28px 28px, cover; }
.cover-1 { --cover-glow: radial-gradient(80% 90% at 20% 10%, rgba(155,60,255,.75), transparent 60%), radial-gradient(70% 80% at 90% 100%, rgba(60,110,255,.6), transparent 60%); }
.cover-2 { --cover-glow: radial-gradient(80% 90% at 85% 15%, rgba(80,120,255,.75), transparent 60%), radial-gradient(70% 80% at 10% 100%, rgba(170,70,255,.55), transparent 60%); }
.cover-3 { --cover-glow: radial-gradient(90% 90% at 50% 0%, rgba(120,80,255,.7), transparent 60%), radial-gradient(60% 70% at 100% 100%, rgba(40,170,255,.45), transparent 60%); }
.cover-4 { --cover-glow: radial-gradient(80% 90% at 0% 100%, rgba(200,80,255,.6), transparent 60%), radial-gradient(70% 80% at 100% 0%, rgba(70,100,255,.7), transparent 60%); }
.bc-art { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 22px; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 20px 40px -14px rgba(0,0,0,.6); transition: transform .8s var(--ease); }
.bc-art .ic { width: 34px; height: 34px; }
.bc-body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 22px 26px 26px; }
.bc-meta { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 12.5px; color: var(--muted); }
.bc-chip { padding: 3px 9px; border-radius: 99px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--grad); }
.blog-card h2 { margin: 0; font-size: 20px; line-height: 1.3; }
.blog-card h2 a { color: #fff; }
.blog-card h2 a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.bc-teaser, .bc-teaser p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.65; }
.bc-more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; font-size: 14px; font-weight: 600; color: var(--violet-2); }
.bc-more .ic { width: 16px; height: 16px; transition: transform .35s var(--ease); }
.blog-card:hover .bc-more .ic { transform: translateX(4px); }
.blog-card.is-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr 1fr; }
.blog-card.is-featured .bc-cover { aspect-ratio: auto; min-height: 340px; }
.blog-card.is-featured .bc-art { width: 104px; height: 104px; border-radius: 28px; }
.blog-card.is-featured .bc-art .ic { width: 46px; height: 46px; }
.blog-card.is-featured .bc-body { justify-content: center; padding: clamp(26px, 4vw, 52px); gap: 14px; }
.blog-card.is-featured h2 { font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -.02em; }
.blog-card.is-featured .bc-teaser p { font-size: 16px; }
.blog-card.is-featured .bc-more { margin-top: 10px; }
@media (max-width: 1000px) { .mod_newslist:has(.blog-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .mod_newslist:has(.blog-card) { grid-template-columns: 1fr; } .blog-card.is-featured { grid-template-columns: 1fr; } .blog-card.is-featured .bc-cover { min-height: 200px; } }

.mod_newsreader:has(.blog-article) { max-width: none; }
#main .inner:has(.blog-article) > .ce_text, #main .inside:has(.blog-article) > .mod_article:not(:has(.blog-article)):has(.mod_newslist, > .container > .inner > .ce_text:only-child) { display: none; }
.mod_newsreader:has(.blog-article) > .back { display: none; }
.blog-article { max-width: 860px; margin: 0 auto; }
.ba-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 26px; font-size: 14px; color: var(--muted); }
.ba-back .ic { rotate: 180deg; width: 16px; height: 16px; }
.ba-back:hover { color: #fff; }
.ba-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 13.5px; color: var(--muted); }
.ba-meta .kicker { margin: 0 6px 0 0; }
.blog-article h1 { margin: 0 0 16px; font-size: clamp(32px, 4.6vw, 58px); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; }
.ba-lead { margin: 0; font-size: clamp(17px, 1.6vw, 20px); color: #c9c6dc; line-height: 1.6; }
.ba-cover { display: grid; place-items: center; margin: 36px 0 44px; aspect-ratio: 21 / 8; border-radius: 26px; border: 1px solid var(--border); overflow: hidden; }
.ba-cover img { width: 100%; height: 100%; object-fit: cover; }
.ba-cover .bc-art { width: 96px; height: 96px; border-radius: 26px; }
.ba-cover .bc-art .ic { width: 42px; height: 42px; }
.ba-content { max-width: 720px; margin: 0 auto; }
.ba-content .ce_text p, .ba-content .ce_text li { font-size: 17px; line-height: 1.8; color: #d7d4ea; }
.ba-content .ce_text h2 { margin: 44px 0 14px; font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -.02em; }
.ba-content .ce_text h3 { margin: 32px 0 10px; font-size: 20px; }
.ba-content .ce_text ul { padding: 0; list-style: none; display: grid; gap: 10px; }
.ba-content .ce_text ul li { position: relative; padding-left: 28px; }
.ba-content .ce_text ul li::before { content: ''; position: absolute; left: 4px; top: .7em; width: 9px; height: 9px; border-radius: 3px; background: var(--grad); }
.ba-content .ce_text strong { color: #fff; }
.ba-content .ce_text a { color: var(--violet-2); text-decoration: underline; text-underline-offset: 3px; }
.ba-content blockquote { margin: 28px 0; padding: 18px 24px; border-left: 3px solid #9b3cff; border-radius: 0 14px 14px 0; background: var(--surface); font-size: 18px; color: #fff; }
.ba-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 720px; margin: 56px auto 0; padding: 28px 30px; border-radius: 22px; border: 1px solid var(--border-2); background: radial-gradient(120% 120% at 100% 0%, rgba(80,110,255,.22), transparent 60%), var(--surface); }
.ba-cta h2 { margin: 0 0 6px; font-size: 22px; }
.ba-cta p { margin: 0; color: var(--muted); font-size: 14.5px; }
.ba-cta .kicker { margin-bottom: 8px; }
.ba-cta .btn { flex: none; }
@media (max-width: 680px) { .ba-cta { flex-direction: column; align-items: flex-start; } .ba-cover { aspect-ratio: 16 / 9; } }


/* ---------- Anfrage: Individuelle Erweiterungen ---------- */
#main .inner:has(> .req-form) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 28px clamp(28px, 5vw, 72px); align-items: start; max-width: none; }
#main .inner:has(> .req-form) > .req-intro { grid-column: 1 / -1; max-width: 980px; }
.req-intro h1 { font-size: clamp(36px, 5.4vw, 68px); }
.req-intro .txt > p:last-child { font-size: clamp(16px, 1.5vw, 19px); color: #c9c6dc; max-width: 680px; }
.req-info h2 { margin: 0 0 14px; font-size: 22px; }
.req-info h2:not(:first-child) { margin-top: 38px; }
#main .req-info ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
#main .req-info ul li { display: block; position: relative; padding: 14px 16px 14px 48px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface); color: var(--muted); font-size: 14.5px; }
.req-info ul li::before { content: ''; position: absolute; left: 16px; top: 16px; width: 20px; height: 20px; border-radius: 7px; background: var(--grad); box-shadow: 0 6px 16px -6px rgba(140,60,255,.9); }
.req-info ul li strong { display: block; color: #fff; font-size: 15px; margin-bottom: 2px; }
.req-info .req-note { margin-top: 26px; padding: 12px 16px; border-radius: 12px; border: 1px dashed var(--border-2); color: #cfd6ff; font-size: 13.5px; text-align: center; }
.req-form { position: sticky; top: 100px; padding: clamp(24px, 3.5vw, 40px); border-radius: 26px; border: 1px solid var(--border-2); background: radial-gradient(120% 70% at 100% 0%, rgba(80,110,255,.18), transparent 60%), radial-gradient(90% 60% at 0% 100%, rgba(155,60,255,.14), transparent 60%), var(--surface); box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.req-form h2 { margin: 0 0 22px; font-size: 24px; }
.ce_form .formbody { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ce_form .formbody > * { grid-column: 1 / -1; }
.ce_form .formbody > .widget.w50 { grid-column: auto; }
.ce_form label.w50, .ce_form input.w50, .ce_form select.w50 { width: 100%; }
.ce_form .widget select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8b5cc' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.ce_form .widget select option { background: #15151f; color: #fff; }
.ce_form .widget textarea { min-height: 150px; resize: vertical; }
.ce_form .widget-checkbox fieldset { margin: 4px 0 0; padding: 0; border: 0; }
.ce_form .widget-checkbox span { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--muted); line-height: 1.55; }
.ce_form .widget-checkbox input { flex: none; margin-top: 2px; width: 17px; height: 17px; accent-color: #9b3cff; }
.ce_form .widget-checkbox a { color: var(--violet-2); text-decoration: underline; text-underline-offset: 2px; }
.ce_form .widget-checkbox legend { display: none; }
.ce_form .widget-captcha .captcha_text { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.ce_form .widget-submit button { width: 100%; justify-content: center; padding: 15px 22px; border: 0; border-radius: 14px; background: var(--grad); color: #fff; font: 600 15px var(--font-body); cursor: pointer; box-shadow: 0 16px 34px -14px rgba(140,60,255,.95); transition: transform .3s var(--ease), box-shadow .3s; }
.ce_form .widget-submit button:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -14px rgba(140,60,255,1); }
.ce_form p.error { margin: 0 0 6px; }
@media (max-width: 960px) { #main .inner:has(> .req-form) { grid-template-columns: 1fr; } .req-form { position: static; } }
@media (max-width: 560px) { .ce_form .formbody { grid-template-columns: 1fr; } }


/* ---------- Kundenbereich: Bestellhistorie & Bestelldetails ---------- */
.order-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.order-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; align-items: center; gap: 18px; padding: 16px 18px; border-radius: 18px; border: 1px solid var(--border); background: rgba(255,255,255,.025); transition: border-color .3s; }
.order-row:hover { border-color: rgba(180,107,255,.35); }
.or-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: rgba(155,60,255,.14); border: 1px solid rgba(180,107,255,.3); color: #d7c8ff; }
.or-icon .ic { width: 20px; height: 20px; }
.or-main { display: grid; gap: 2px; min-width: 0; }
.or-main strong { font: 700 16px var(--font-head); color: #fff; }
.or-main span { font-size: 13px; color: var(--muted); }
.or-status { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 99px; font-size: 12.5px; font-weight: 600; white-space: nowrap; color: #f2d27a; background: rgba(242,201,76,.1); border: 1px solid rgba(242,201,76,.35); }
.or-status.is-paid, .or-status.is-complete, .or-status.is-paid_complete { color: #7be0ad; background: rgba(95,212,154,.1); border-color: rgba(95,212,154,.4); }
.or-total { font: 700 17px var(--font-head); color: #fff; white-space: nowrap; }
.or-actions { display: flex; gap: 8px; }
.or-actions .btn { white-space: nowrap; }
.oh-empty { margin: 0; color: var(--muted); }
.oh-empty a { color: var(--violet-2); }
@media (max-width: 860px) {
  .order-row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .or-status { grid-column: 2; justify-self: start; } .or-total { grid-column: 3; grid-row: 1; }
  .or-actions { grid-column: 1 / -1; }
  .or-actions .btn { flex: 1; justify-content: center; }
}

.mod_iso_orderdetails:has(.od-head) { padding: clamp(22px, 3vw, 36px); }
.od-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-bottom: 24px; }
.od-head h2 { margin: 0; font-size: clamp(20px, 2.2vw, 26px); }
.od-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 26px; }
.od-card { padding: 18px 20px; border-radius: 16px; border: 1px solid var(--border); background: rgba(255,255,255,.025); }
.od-card h3 { margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--violet-2); font-family: var(--font-body); }
.od-card .info, .od-card .info p { margin: 0; font-size: 14.5px; line-height: 1.7; color: #d9d6ea; }
.od-card .info *:not(a) { background: none !important; }
.od-card .clear { display: none; }
.mod_iso_orderdetails .clear { display: none; }
.order-items { display: grid; gap: 12px; }
.order-item { padding: 18px 20px; border-radius: 18px; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012)); }
.oi-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; }
.order-item .cl-item-licenses { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); display: grid; gap: 8px; }
.order-item .cl-label .ic { width: 14px; height: 14px; vertical-align: -2px; color: #9fb2ff; }
.order-item .cl-item-license.is-active .cl-label b { color: #7be0ad; }
.order-item .cl-item-license.is-pending .cl-label b { color: #f2d27a; }
.order-sum { margin-top: 6px; padding: 18px 20px; border-radius: 18px; border: 1px solid var(--border-2); background: var(--surface-2); }
.order-sum .cs-total { margin-top: 6px; }


/* ---------- Newsletter: animierter Hintergrund (nur transform/opacity → GPU, pausiert außerhalb des Viewports) ---------- */
.cta-box > *:not(.cta-anim) { position: relative; z-index: 1; }
.cta-anim { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.cta-anim > * { position: absolute; will-change: transform; animation-play-state: paused; }
.cta-box.is-inview .cta-anim > * { animation-play-state: running; }
.cta-blob { border-radius: 50%; }
.cta-blob.b1 { width: 62%; aspect-ratio: 1; left: -12%; top: -45%; background: radial-gradient(circle, rgba(165,70,255,.55), rgba(165,70,255,0) 68%); animation: cta-drift1 18s ease-in-out infinite; }
.cta-blob.b2 { width: 58%; aspect-ratio: 1; right: -14%; bottom: -55%; background: radial-gradient(circle, rgba(55,95,255,.55), rgba(55,95,255,0) 68%); animation: cta-drift2 22s ease-in-out infinite; }
.cta-blob.b3 { width: 40%; aspect-ratio: 1; left: 34%; top: 10%; background: radial-gradient(circle, rgba(120,80,255,.35), rgba(120,80,255,0) 70%); animation: cta-drift3 16s ease-in-out infinite; }
.cta-ring { width: 120px; height: 120px; right: 12%; top: 16%; border-radius: 50%; border: 9px solid rgba(175,115,255,.5); box-shadow: 0 0 30px -6px rgba(150,90,255,.6), inset 0 0 18px -6px rgba(150,90,255,.6); opacity: .7; animation: cta-float 12s ease-in-out infinite; }
.cta-tile { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 17px; color: #fff; background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 18px 40px -18px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.2); opacity: .85; }
.cta-tile .ic { width: 24px; height: 24px; }
.cta-tile.t1 { left: 7%; top: 22%; animation: cta-float 9s ease-in-out infinite; }
.cta-tile.t2 { left: 15%; bottom: 14%; width: 48px; height: 48px; border-radius: 14px; animation: cta-float 11s ease-in-out -3s infinite; }
.cta-tile.t3 { right: 8%; bottom: 20%; animation: cta-float 10s ease-in-out -5s infinite; }
.cta-tile.t4 { right: 20%; top: 9%; width: 44px; height: 44px; border-radius: 13px; opacity: .6; animation: cta-float 13s ease-in-out -2s infinite; }
.cta-tile.t2 .ic, .cta-tile.t4 .ic { width: 20px; height: 20px; }
.cta-dot { width: 16px; height: 16px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #c7d2ff, #4f6bff 60%, #2b3bb8); box-shadow: 0 6px 16px -4px rgba(70,100,255,.8); }
.cta-dot.d1 { left: 26%; top: 14%; animation: cta-float 8s ease-in-out -1s infinite; }
.cta-dot.d2 { right: 30%; bottom: 12%; width: 22px; height: 22px; animation: cta-float 10s ease-in-out -4s infinite; }
@keyframes cta-drift1 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(18%, 22%) scale(1.15); } }
@keyframes cta-drift2 { 0%, 100% { transform: translate(0, 0) scale(1.1); } 50% { transform: translate(-20%, -18%) scale(.95); } }
@keyframes cta-drift3 { 0%, 100% { transform: translate(-10%, 0) scale(.9); } 50% { transform: translate(14%, 18%) scale(1.2); } }
@keyframes cta-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-16px) rotate(6deg); } }
@media (max-width: 760px) { .cta-tile.t2, .cta-tile.t4, .cta-ring, .cta-dot.d1 { display: none; } .cta-tile.t1 { top: 8%; left: 5%; } .cta-tile.t3 { bottom: 6%; right: 5%; } }
@media (prefers-reduced-motion: reduce) { .cta-anim > * { animation: none !important; } }

/* ---------- OnePage-Checkout: Bestellübersicht ohne Produktbild ---------- */
.shopify-checkout td.image, .shopify-checkout th.image, .shopify-checkout tfoot tr > td.col_0.col_first { display: none; }

/* ---------- Filter-Buttons (Erweiterungen / Kategorien) ---------- */
.mod_customnav:has(.filter-chips) { margin: 6px 0 28px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-chips .chip { display: inline-flex; align-items: center; padding: 10px 18px; border-radius: 99px; border: 1px solid var(--border-2); background: var(--surface); color: #d9d6ea; font-size: 14px; font-weight: 500; transition: border-color .25s, background .25s, color .25s, transform .3s var(--ease); }
.filter-chips a.chip:hover { color: #fff; border-color: rgba(180,107,255,.55); background: var(--surface-2); transform: translateY(-1px); }
.filter-chips .chip.is-active { color: #fff; border-color: transparent; background: var(--grad); box-shadow: 0 10px 24px -12px rgba(140,60,255,.9); }
.ce_text + .mod_customnav:has(.filter-chips) { margin-top: 28px; }
.mod_customnav:has(.filter-chips) + .mod_iso_productlist { margin-top: 0; }
@media (max-width: 600px) { .filter-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; } .filter-chips::-webkit-scrollbar { display: none; } .filter-chips .chip { flex: none; } }

/* ---------- Produkt-Slider (Startseite) ---------- */
.product-slider { position: relative; }
.ps-track {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * 18px) / 2.6); gap: 18px;
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 6px 2px 10px; margin: -6px -2px 0; scrollbar-width: none; cursor: grab;
  -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent);
}
.ps-track::-webkit-scrollbar { display: none; }
.ps-track.is-end { -webkit-mask-image: none; mask-image: none; }
.ps-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.ps-track.is-dragging a { pointer-events: none; }
.ps-slide { scroll-snap-align: start; min-width: 0; }
.ps-slide > .product-card { height: 100%; }
.ps-controls { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 26px; }
.ps-progress { position: relative; flex: 1; max-width: 360px; height: 3px; border-radius: 3px; background: var(--border-2); overflow: hidden; }
.ps-progress span { position: absolute; inset: 0 auto 0 0; width: 30%; border-radius: inherit; background: var(--grad); transition: width .3s var(--ease), left .3s var(--ease); }
.ps-buttons { display: flex; gap: 10px; }
.ps-btn { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; border: 1px solid var(--border-2); background: var(--surface); color: #fff; cursor: pointer; transition: background .25s, border-color .25s, opacity .25s, transform .3s var(--ease); }
.ps-btn:hover:not(:disabled) { background: var(--surface-2); border-color: rgba(180,107,255,.6); transform: translateY(-2px); }
.ps-btn:disabled { opacity: .35; cursor: default; }
.ps-prev .ic { rotate: 180deg; }
@media (max-width: 1080px) { .ps-track { grid-auto-columns: calc((100% - 18px) / 1.6); } }
@media (max-width: 600px) { .ps-track { grid-auto-columns: 86%; } .ps-controls { margin-top: 18px; } }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .main-nav { display: none; }
  .menu-btn { display: grid; }
  .header-actions { margin-left: auto; }
  .main-nav.open { display: block; position: absolute; top: calc(100% + 8px); left: 0; right: 0; translate: none; padding: 12px; border-radius: 18px; background: rgba(12,12,20,.96); border: 1px solid var(--border); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
  .main-nav.open ul { flex-direction: column; }
  .main-nav.open .level_2 { position: static; translate: none; opacity: 1; visibility: visible; min-width: 0; padding: 0 0 0 14px; background: none; border: 0; box-shadow: none; }
  .main-nav.open a, .main-nav.open strong { padding: 14px; font-size: 16px; }
  .trust-grid, .mod_iso_productlist .product_list { grid-template-columns: repeat(2, 1fr); }
  .pricing-banner { grid-template-columns: 1fr; }
  .pb-cta { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; justify-content: space-between; text-align: left; }
  .pb-price { justify-items: start; }
  .pb-btn { width: auto; }
}
@media (max-width: 860px) {
  .product-detail, .account-grid { grid-template-columns: 1fr; }
  .pd-aside { position: static; }
  .mod_article.teaser { padding-top: 110px; min-height: auto; }
  .teaser .inner, .install-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 36px; }
  .footer-col:nth-child(3) { border-left: 0; padding-left: 0; }
  .hero-visual { order: -1; max-width: 520px; margin: -20px auto -30px; }
  .mod_article .row > .col-md-5 { width: 100%; max-width: 100%; flex-basis: 100%; }
  .mod_faqlist { position: static; margin-top: 30px; }
}
@media (max-width: 600px) {
  .container { width: calc(100% - 32px); }
  .header-inner .logo img { height: 38px; }
  .header-inner { width: calc(100% - 12px); padding: 10px; }
  .header-actions .btn span { display: none; }
  .trust-grid, .mod_iso_productlist .product_list, :where(.mod_article .ce_text) ul, .footer-grid { grid-template-columns: 1fr; }
  .footer-col { border-left: 0 !important; padding: 0 !important; }
  .footer-brand { padding: 40px 0 32px; }
  .pricing-banner { grid-template-columns: 1fr; }
  .pb-cta { flex-direction: column; align-items: stretch; text-align: center; }
  .pb-price { justify-items: center; }
  .pb-btn { width: 100%; }
  .orbit-tile { width: 56px; height: 56px; border-radius: 16px; }
  .orbit-tile .ic { width: 22px; height: 22px; }
  .orbit-tile span { display: none; }
  .cta-box .mod_subscribe .widget-submit, .cta-box .mod_subscribe .widget-submit button { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}

