/* Gemeinsame Präsentationsschicht. Keine Änderungen an Shop- oder Checkout-Logik. */
:root {
 --ktx-premium-bg: #05090d;
 --ktx-premium-line: #23343e;
 --ktx-premium-text: #eef5f6;
 --ktx-premium-radius: 20px;
 --kaftronix-gradient: linear-gradient(90deg,#9aff35 0%,#24e88a 35%,#00c9d9 70%,#1769e8 100%);
 --ktx-header-gradient: var(--kaftronix-gradient);
}
body { background: var(--ktx-premium-bg); }
.ktx-main { --wp--style--global--content-size: 1280px; --wp--style--global--wide-size: 1280px; }
.ktx-main h1,.ktx-main h2,.ktx-main h3 { text-wrap: balance; letter-spacing: -.035em; }
.ktx-main h2 { font-size: clamp(1.75rem,3vw,2.65rem); line-height: 1.18; }
.ktx-main p { line-height: 1.7; }
.ktx-main > .ktx-section { margin: 0 auto; padding: clamp(2.75rem,6vw,5rem) clamp(1rem,4vw,3rem); max-width: 1376px; }
.ktx-section-head { grid-template-columns: minmax(320px,1fr) minmax(0,1fr); gap: 2rem; margin-bottom: 2rem; }
.ktx-section-head h2 { font-size: clamp(1.75rem,3vw,2.65rem); }
.ktx-section-head > :last-child { max-width: 42ch; }
.ktx-kicker { font-size: .72rem; font-weight: 700; letter-spacing: .13em; color: #54eab5; }
.ktx-site-header { position: relative; background: #060c10; }
.ktx-site-header.ktx-compact-header { --ktx-header-gradient: linear-gradient(90deg,#9aff35 0%,#24e88a 35%,#00c9d9 70%,#5da1ff 100%); display: block; position: relative; min-height: 0; }
.ktx-header-bar { display: grid; grid-template-columns: 104px minmax(0,1fr) auto; align-items: center; gap: 1.5rem; max-width: 1440px; margin: 0 auto; padding: .4rem clamp(1rem,3vw,2rem); position: relative; }
.ktx-header-brand { display: block; width: 96px; line-height: 0; }
.ktx-header-brand img { width: 96px; height: 80px; object-fit: contain; }
.ktx-header-bar > .ktx-header-nav { position: static; transform: none; order: 0; max-width: none; margin: 0; justify-self: center; }
.ktx-header-bar > .ktx-header-actions { margin: 0; gap: .65rem; }
.ktx-header-bar .ktx-search__toggle,.ktx-header-bar .wc-block-mini-cart__button,.ktx-header-bar .wp-block-woocommerce-customer-account a { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
.ktx-header-bar .ktx-search { position: static; }
.ktx-header-bar .ktx-search__panel { inset: calc(100% + 8px) 1rem auto auto; width: min(360px,calc(100vw - 32px)); }
.ktx-header-nav a[aria-current="page"]::after { transform: translateX(-50%) scaleX(1); opacity: 1; }
.ktx-header-nav a[aria-current="page"] { font-weight: 750; }
.ktx-header-bar .wp-block-navigation__responsive-container-open,.ktx-header-bar .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.ktx-header-nav .wp-block-navigation__container { gap: clamp(.7rem,1.7vw,1.6rem); }
.ktx-header-nav a { font-weight: 600; letter-spacing: .2px; }
.ktx-search__toggle,.wc-block-mini-cart__button { min-height: 44px; min-width: 44px; }
.ktx-search__panel { border-radius: 18px; background: rgba(7,19,25,.96); backdrop-filter: blur(20px); box-shadow: 0 22px 65px #0008; }
.ktx-search__panel input { min-width: 0; font-size: 16px; }
/* Logo und Text besitzen eigene Grid-Spalten: keine Überlagerung und kein Crop. */
.ktx-main .kaftronix-hero {
 display: grid; grid-template-columns: minmax(320px,1fr) minmax(0,1.05fr);
 align-items: center; gap: clamp(1rem,4vw,4rem);
 max-width: 1440px; margin: 0 auto; min-height: 0;
 padding: clamp(2.5rem,5vw,5rem) clamp(1rem,4vw,3rem);
 text-align: left; overflow: visible;
}
.kaftronix-hero::after { animation: none; opacity: .45; inset: 0; }
.ktx-main .kaftronix-hero__visual {
 position: relative; inset: auto; transform: none; width: 100%; max-width: 640px;
 grid-column: 2; grid-row: 1; margin: 0; justify-self: center; mix-blend-mode: lighten;
}
.ktx-main .kaftronix-hero__visual img { opacity: 1; filter: none; object-fit: contain; mix-blend-mode: lighten; }
.ktx-main .kaftronix-hero__content {
 grid-column: 1; grid-row: 1; width: 100%; max-width: 100% !important;
 padding: 0; margin: 0; min-width: 0;
}
.ktx-main .kaftronix-hero h1 { font-size: clamp(2.35rem,4.7vw,4.5rem); line-height: 1.08; max-width: 14ch; margin: 1.25rem 0; }
.ktx-main .kaftronix-hero .ktx-lead { font-size: clamp(1rem,1.5vw,1.2rem); max-width: 40ch; margin: 0 0 2rem; color: #b7c7cf; }
.ktx-main .kaftronix-hero .wp-block-buttons { justify-content: flex-start; gap: .75rem; }
.wp-element-button,.woocommerce .button,.wc-block-components-button { font-size: .95rem; min-height: 48px; }
.ktx-main .is-style-outline .wp-element-button { background: transparent; border-color: #42606b; color: #eef5f6; }
.ktx-main .is-style-outline .wp-element-button:hover { background: #14252d; }
.ktx-categories { border-top: 1px solid #1c3039; }
.ktx-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1.1rem; max-width: 1280px; }
.ktx-category-grid.is-single { grid-template-columns: minmax(0,560px) !important; }
.ktx-category-card { min-width: 0; padding: 1.6rem; min-height: 230px; background: #0b151c; border-color: #263b45; border-radius: 20px; box-shadow: none; transition: border-color .2s,transform .2s; }
.ktx-category-card:hover { border-color: #24e88a; transform: translateY(-3px); background: #10232b; }
.ktx-category-card__icon { width: 48px; height: 48px; margin-bottom: .8rem; }
.ktx-category-card__body strong { display: block; overflow: visible; font-size: 1.1rem; line-height: 1.4; -webkit-line-clamp: unset; }
.ktx-category-card__body small { display: block; overflow: visible; color: #b7c7cf; line-height: 1.6; -webkit-line-clamp: unset; }
.ktx-category-card__action { margin-top: 1.5rem; font-size: .8rem; color: #68efbe; }
.ktx-main .wc-block-product-template { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 1.25rem; }
.ktx-main .wc-block-product-template > li { background: #0b151c; border: 1px solid #253842; border-radius: 20px; overflow: hidden; padding: 1rem; min-width: 0; }
.ktx-main .wc-block-product-template .wp-block-post-title { font-size: 1.05rem; line-height: 1.5; text-wrap: pretty; letter-spacing: -.01em; }
.ktx-main .wc-block-product-template .wp-block-post-title a { color: #f2f7f8; text-decoration: none; }
.ktx-main .wc-block-product-template .wc-block-components-product-image { background: #f5f7f8; border-radius: 12px; }
.ktx-main .wc-block-product-template img { object-fit: contain; aspect-ratio: 1; padding: .5rem; }
.ktx-main .wc-block-product-template .wc-block-components-product-price { font-size: 1.2rem; font-weight: 700; }
.ktx-main .wc-block-product-template .wp-block-woocommerce-product-button { margin-top: auto; }
.ktx-main > .ktx-section.ktx-featured-products { padding-block: 2rem; }
.ktx-preparation-note { font-size: .9rem; color: #b7c7cf; max-width: 45ch; margin: 1.2rem auto 0; }
.ktx-empty-catalog p { max-width: 65ch; }
.ktx-empty-catalog .wp-block-buttons { gap: .75rem; margin-top: 1.25rem; }
.ktx-main.ktx-catalog-shell { min-height: 0; max-width: 1280px; margin-inline: auto; padding: 2.5rem 1rem; }
.ktx-catalog-shell .wp-block-search { max-width: 720px; margin-inline: 0; }
.ktx-catalog-shell .wp-block-search__inside-wrapper { gap: .75rem; }
.ktx-catalog-shell .wp-block-search__input { background: #0b151c; border: 1px solid #34515d; border-radius: 12px; color: #eef5f6; min-height: 48px; padding: .75rem; font-size: 16px; }
.ktx-catalog-shell .wp-block-search__button { margin: 0; }
.ktx-main > .ktx-faq,.ktx-main > .ktx-contact { padding-block: 2.5rem; }
.ktx-main .wp-block-woocommerce-product-collection-no-results { padding: 2rem; background: #0b151c; border: 1px solid #263b45; border-radius: 20px; }
.ktx-benefits { border-block: 1px solid #20343c; }
.ktx-benefits .wp-block-columns { gap: 1.5rem; margin-top: 2rem; }
.ktx-benefits .wp-block-column { padding: 1.5rem; border: 1px solid #263b45; border-radius: 20px; background: #0b151c; }
.ktx-benefits h3 { font-size: 1.2rem; line-height: 1.4; }
.ktx-benefits p { font-size: .95rem; color: #b7c7cf; }
.ktx-benefits .ktx-feature-number { color: #50eab0; font-size: .8rem; letter-spacing: .12em; }
.ktx-faq .wp-block-details { background: transparent; border: 0; border-bottom: 1px solid #2a3e47; border-radius: 0; padding: 1.2rem 0; }
.ktx-faq summary { padding: .35rem 0; font-size: 1.05rem; line-height: 1.5; }
.ktx-faq details p { color: #b7c7cf; }
.ktx-future { padding: clamp(1.5rem,4vw,3rem); background: #102029; border: 1px solid #31535d; border-radius: 24px; }
.ktx-site-footer { background: #03070a; margin-top: 2rem; padding: 2.5rem clamp(1rem,4vw,3rem) 1.5rem; border-top: 1px solid #253842; }
.ktx-footer-grid { max-width: 1280px; margin: auto; gap: 2rem; }
.ktx-footer-brand img { width: 160px; display: block; }
.ktx-footer-links h3 { font-size: .95rem; }
.ktx-footer-links p { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.ktx-footer-links a { display: inline-block; min-height: 44px; padding-block: .45rem; color: #b7c7cf; line-height: 1.6; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.ktx-footer-links a:hover { color: #68efbe; }
.ktx-footer-bottom { max-width: 1280px; margin: 2rem auto 0; font-size: .8rem; color: #a3b5bd; }
.ktx-product-shell .ktx-product-buybox { background: #0b151c; border: 1px solid #2a3e47; border-radius: 24px; padding: clamp(1.2rem,3vw,2.5rem); }
.ktx-product-buybox h1 { font-size: clamp(1.75rem,3vw,2.8rem); line-height: 1.2; }
.ktx-product-shell .woocommerce-product-gallery { background: #f5f7f8; border-radius: 24px; overflow: hidden; }
.ktx-product-shell .woocommerce-product-gallery img { object-fit: contain; }
.ktx-product-shell table { width: 100%; border-collapse: collapse; }
.ktx-product-shell th,.ktx-product-shell td { padding: 1rem; border-bottom: 1px solid #2a3e47; text-align: left; }
.woocommerce-account main { --wp--style--global--content-size: 1160px; --wp--style--global--wide-size: 1160px; min-height: 0; max-width: 1224px; margin-inline: auto; padding: 2.5rem 1.5rem; }
.woocommerce-account main > .wp-block-post-content { max-width: 1160px; width: 100%; }
.woocommerce-account main .woocommerce { max-width: none; width: 100%; }
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0,1fr); align-items: start; gap: 1.5rem; }
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { display: none; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; min-width: 0; min-height: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { padding: 0; margin: 0; border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { padding: .7rem 1rem; min-height: 44px; font-size: 1rem; line-height: 1.5; display: block; }
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.woocommerce-account #customer_login::before,.woocommerce-account #customer_login::after { display: none; }
.woocommerce-account #customer_login > div { width: auto; float: none; min-width: 0; }
.woocommerce-account #customer_login h2 { font-size: 1.7rem; }
.woocommerce-account form.login,.woocommerce-account form.register { margin-top: 1rem; padding: 1.5rem; border-color: #34515d; border-radius: 16px; }
.woocommerce-account .woocommerce form .form-row { padding: 0; margin-bottom: 1.1rem; }
.woocommerce-account .woocommerce form .form-row label { font-size: 1rem; line-height: 1.5; margin-bottom: .5rem; }
.woocommerce-account .woocommerce form .form-row input.input-text { width: 100%; padding: .7rem .9rem; }
.woocommerce-account .woocommerce form .show-password-input { top: 0; right: .15rem; min-height: 48px; min-width: 44px; }
.woocommerce-account .woocommerce-EditAccountForm { display: flow-root; }
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,.woocommerce-account .woocommerce-EditAccountForm .form-row-last { width: calc(50% - .65rem); }
.woocommerce-account .woocommerce-EditAccountForm fieldset { clear: both; padding: 1.25rem; margin: 1.5rem 0; border: 1px solid #34515d; border-radius: 14px; }
.woocommerce-account .woocommerce-EditAccountForm legend { padding-inline: .5rem; font-weight: 600; }
.woocommerce-account .woocommerce-error,.woocommerce-account .woocommerce-info,.woocommerce-account .woocommerce-message { background: #10212c; color: #eef5f6; border-radius: 12px; }
.woocommerce-account .woocommerce-info .button { float: none; display: inline-flex; align-items: center; margin: 0 .8rem .5rem 0; }
.ktx-account-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: 1.5rem; }
.ktx-account-shortcuts a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: 1rem; border: 1px solid #34515d; border-radius: 12px; color: #81f1ce; text-decoration: none; font-size: .95rem; }
.ktx-account-shortcuts a:hover { background: #102b31; border-color: #24e88a; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: #68efbe; background: #10232b; border-radius: 10px; }
.wc-block-components-text-input input,.woocommerce form input.input-text,.woocommerce form select { font-size: 16px; min-height: 48px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #8cf5c9; outline-offset: 4px; }
@media (max-width: 1023px) {
 .ktx-header-bar { grid-template-columns: 96px minmax(0,1fr) auto; gap: .75rem; }
 .ktx-header-bar > .ktx-header-nav { grid-row: 2; grid-column: 1 / -1; padding-bottom: .6rem; }
 .ktx-header-bar > .ktx-header-actions { grid-column: 3; grid-row: 1; }
 .ktx-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
 .ktx-main .wc-block-product-template { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
 .ktx-benefits .wp-block-columns { flex-wrap: wrap !important; }
 .ktx-benefits .wp-block-column { flex-basis: calc(50% - 1.5rem) !important; }
}
@media (max-width: 781px) {
 .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation),.woocommerce-account #customer_login { grid-template-columns: minmax(0,1fr); }
 .woocommerce-account main { padding: 2rem 1rem; }
 .ktx-main .kaftronix-hero { grid-template-columns: minmax(0,1fr); gap: 1rem; padding-top: 2rem; }
 .ktx-main .kaftronix-hero__visual { grid-column: 1; grid-row: 1; max-width: 320px; }
 .ktx-main .kaftronix-hero__content { grid-row: 2; text-align: center; }
 .ktx-main .kaftronix-hero h1,.ktx-main .kaftronix-hero .ktx-lead { margin-inline: auto; }
 .ktx-main .kaftronix-hero .wp-block-buttons { justify-content: center; }
 .ktx-section-head { grid-template-columns: minmax(0,1fr); gap: .5rem; }
 .ktx-section-head > :first-child { min-width: 0; }
 .ktx-section-head > :last-child { justify-self: start; }
 .ktx-main .wc-block-product-template { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 540px) {
 .ktx-header-bar { grid-template-columns: 76px minmax(0,1fr) auto; gap: .4rem; }
 .ktx-header-brand,.ktx-header-brand img { width: 72px; height: 68px; }
 .ktx-header-bar > .ktx-header-nav { grid-row: 1; grid-column: 2; padding: 0; justify-self: end; }
 .ktx-header-bar > .ktx-header-actions { gap: .25rem; }
 .woocommerce-account .woocommerce-EditAccountForm .form-row-first,.woocommerce-account .woocommerce-EditAccountForm .form-row-last { width: 100%; float: none; }
 .ktx-account-shortcuts { grid-template-columns: minmax(0,1fr); }
 .ktx-category-grid,.ktx-category-grid.is-single,.ktx-main .wc-block-product-template { grid-template-columns: minmax(0,1fr) !important; }
 .ktx-main .kaftronix-hero__visual { max-width: 240px; }
 .ktx-main .kaftronix-hero h1 { font-size: 2.35rem; }
 .ktx-benefits .wp-block-column { flex-basis: 100% !important; }
 .ktx-category-card { min-height: 0; }
 .ktx-header-main,.ktx-header-utility { padding-inline: 16px; }
 .ktx-search__panel { max-width: calc(100vw - 32px); }
}
@media (prefers-reduced-motion: reduce) {
 *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
