/*
 Theme Name: Total Plus Child
 Template: total-plus
 Text Domain: total-plus-child
*/
/* ========================================================================
   TYPOGRAPHY STANDARDISIERUNG
   Ziel: Einheitliche Schriftarten in Fließtexten
   ======================================================================== */

/* Fließtext-Einheitlichkeit: Alle Textblöcke nutzen Helvetica */
body,
p,
.ht-main-content p,
.ht-main-content li,
.ht-main-content span,
.entry-content p,
.entry-content li,
.entry-content span,
.post-content p,
.post-content li,
.post-content span,
.page-content p,
.page-content li {
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: inherit;
}

.has-medium-font-size,
.ht-section-tagline-text {
    font-size: 16px!important;
}

section h1,
.ht-site-title,
.entry-header div.entry-title,
.ht-section .ht-section-title {
    font-size: 32px;
}

/* Mobile: Lesbarkeit sicherstellen */
@media (max-width: 768px) {
    body, p,
    .has-medium-font-size,
    .ht-section-tagline-text,
    .ht-main-content p,
    .ht-main-content li,
    .entry-content p,
    .entry-content li,
    .post-content p,
    .post-content li,
    .page-content p,
    .page-content li {
        font-size: 16px !important;
        line-height: 1.6;
    }

    section h1,
    .ht-site-title,
    .entry-header div.entry-title,
    .ht-section .ht-section-title {
        font-size: 26px;
    }

    h2 {
        font-size: 24px;
    }

    h3 {
        font-size: 22px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 20px;
    }

    h6 {
        font-size: 20px;
    }

}

/* ========================================================================
   SLIDER
   ======================================================================== */


#ht-home-slider-section #ht-slider .ht-slide {
    height: auto;
}

@media screen and (max-width: 480px) {
    #ht-home-slider-section #ht-slider .ht-slide {
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    #ht-home-slider-section #ht-slider .ht-slide {
        height: auto;
    }
}



/* ========================================================================
   HEADLINES
   ======================================================================== */

h1, h2, h3, h4,
h5, h6 {
    font-family: Helvetica, sans-serif;
}

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong {
    font-weight: 400;
}

/* ========================================================================
   LISTEN & FORMULARE
   ======================================================================== */

/* List-Styling mit custom bullet */
.ht-main-content ul,
.entry-content ul,
.post-content ul,
.page-content ul {
    list-style-image: url(../wp-content/themes/total-plus/images/bull_right.png);
    padding: 5px 5px 5px 25px;
    line-height: 1.8;
}

/* Input-Styling */
input[type="text"].input-mini {
    width: 20%;
}

input[type="text"].input-large {
    width: 77%;
}

/* Button-Styling */
button,
input[type="button"],
input[type="submit"] {
    color: #fff;
    font-family: Helvetica, Arial, sans-serif !important;
}

/* Submit Button - Custom */
.kita-btn--lg,
.kita-btn--accent,
input[type="submit"].button2 {
    color: #111!important;
    background-color: #C1F407!important;
}

a.ht-header-bttn:hover {
    background: #C1F407!important;
}

/* Link Styling */
.link2 {
    font-family: Helvetica, Arial, sans-serif !important;
}

.link2 {
    color: #fff;
}

/* ========================================================================
   INFOBOX STYLING (.WELL KLASSE)
   ======================================================================== */

.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #528748;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    font-family: Helvetica, Arial, sans-serif !important;
}

.well p {
    color: #333;
    margin-bottom: 10px;
}

.well a {
    color: #fff;
    text-decoration: underline;
}

/* ========================================================================
   TABELLEN
   ======================================================================== */

table,
.ht-main-content table,
.entry-content table {
    font-family: Helvetica, Arial, sans-serif !important;
}

table td,
table th {
    font-family: Helvetica, Arial, sans-serif !important;
}

/* ========================================================================
   BLOCKQUOTES & SPECIAL CONTENT
   ======================================================================== */

blockquote,
.blockquote {
    font-family: Helvetica, Arial, sans-serif !important;
}

code,
pre {
    font-family: 'Courier New', monospace !important;
}

/* ========================================================================
   WIDGET-CONTENT
   ======================================================================== */

.widget,
.sidebar,
.ht-sidebar {
    font-family: Helvetica, Arial, sans-serif !important;
}

.widget p,
.sidebar p {
    font-family: Helvetica, Arial, sans-serif !important;
    line-height: 1.8;
}

/* ========================================================================
   HEADER
   ======================================================================== */

.ht-header-one .ht-header .ht-container,
.ht-header-two .ht-main-navigation,
.ht-header-four .ht-main-navigation,
.ht-header-five .ht-header-wrap,
.ht-header-six .ht-main-navigation .ht-container {
    height: auto!important;
}

.ht-header-one #ht-site-branding img,
.ht-header-two #ht-site-branding img,
.ht-header-three #ht-site-branding img,
.ht-header-five #ht-site-branding img {
    max-height: 80px!important;
}

.ht-header-one .headroom--not-top #ht-site-branding img,
.ht-header-two .headroom--not-top #ht-site-branding img,
.ht-header-three .headroom--not-top #ht-site-branding img,
.ht-header-five .headroom--not-top #ht-site-branding img {
    max-height: 50px!important;
}

@media screen and (max-width: 768px) {

    .ht-header-above #ht-masthead {
        position: sticky;
        top: 0;
    }

    .ht-header-one .ht-header {
        background: #dad2c1;
    }

    .ht-header-one #ht-site-branding img, .ht-header-two #ht-site-branding img, .ht-header-three #ht-site-branding img, .ht-header-five #ht-site-branding img {
        height: auto;
        max-height: 80px!important;
        padding-top: 10px;
        transition: all .5s;
    }

    .ht-header-one .headroom--not-top #ht-site-branding img, .ht-header-two .headroom--not-top #ht-site-branding img, .ht-header-three .headroom--not-top #ht-site-branding img, .ht-header-five .headroom--not-top #ht-site-branding img {
        max-height: 70px!important;
    }

}

.collapse-button {
    background: #528748;
}

#ht-site-branding {
    padding: 0;
}

.ht-sticky-header .headroom.headroom--not-top {
    box-shadow: 0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);
}

.ht-menu > ul > li.menu-item > a {
    border: 1px solid transparent;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    line-height: 1;
    padding: 0 5px;
}

.ht-menu > ul > li.menu-item > a .dropdown-nav {
    margin-left: 0;
    display: flex;
    align-items: center;
    height: auto;
    line-height: 1;
}

.ht-menu > ul > li.menu-item-social-icon > a,
.ht-menu > ul > li.menu-item-search > a {
    padding: 0 5px;
    height: 37px;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ht-menu > ul > li.menu-item-social-icon i,
.ht-menu > ul > li.menu-item-search i {
    font-size: 16px;
    line-height: 1;
}

.ht-header-one .ht-main-navigation {
    display: flex;
    flex-grow: 1;
    justify-content: end;
}

@media (min-width: 768px) {

    .ht-header-one .ht-main-navigation .ht-menu {
        display: flex;
        width: 100%;
        justify-content: space-around;
    }

}

.ht-main-header {
    background: #fff;
    padding: 40px 0 20px;
    margin-bottom: 0;
}

/* ========================================================================
   FOOTER
   ======================================================================== */

.footer-style4 .ht-main-footer {
    padding: 20px 0 0;
}

.footer-style4 .ht-bottom-footer {
    padding: 10px 0;
}

.ht-footer ul li {
    padding: 0;
}

.ht-footer ul li a {
    display: block;
}

.ht-footer ul li a:hover {
    text-decoration: underline!important;
}

.ht-contact-info ul li {
    padding: 0 0 0 40px!important;
}

.ht-footer ul li a,
.ht-contact-info ul li,
.ht-contact-info ul li p,
.ht-footer .wp-block-image figure figcaption {
    line-height: 2;
    font-size: 14px;
}

.ht-footer .wp-block-image {
    margin: 0;
}

.ht-footer .wp-block-image figure {
    margin: 0 0 20px;
    width: 100%;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
    border-radius: 10px;
}

.ht-footer .wp-block-image figure figcaption {
    caption-side: unset!important;
    display: block!important;
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.4;
}

.ht-footer .wp-block-image img {
    width: auto!important;
    height: auto!important;
    max-height: 100px!important;
}

.ht-footer.ht-footer3 aside {
    margin: 0 0 10px;
}

.ht-footer.ht-footer4 {
    margin: 0 0 0 3%;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
    border-radius: 10px;
    height: 377px;
}

.ht-footer.ht-footer4 aside:nth-child(1) .wp-block-image img {
    max-height: 80px!important;
    width: auto!important;
}

.ht-footer.ht-footer4 aside:nth-child(2) {
    margin: auto 0 0;
}

.ht-footer.ht-footer4 aside:nth-child(2) .wp-block-image img {
    max-height: unset !important;
    width: 100% !important;
}

.ht-footer.ht-footer4 figure figcaption {
    caption-side: unset!important;
    display: block!important;
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.4;
}

.ht-footer .footer_image_link {
    background: #C1F407;
    color: #111;
    border-radius: 15px;
    height: 77px;
    display: flex;
    font-size: 18px;
    line-height: 22px;
    font-family: 'Helvetica',serif;
    font-weight: 600;
    align-items: center;
    max-width: 230px;
    margin: 0 auto;
}

.ht-footer .footer_image_link_description {
    caption-side: unset;
    display: block;
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {

    .footer-style4 .ht-main-footer .ht-container {
        padding-bottom: 20px;
    }

    .ht-footer {
        margin: 0 0 10px !important;
        padding: 0 0 10px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    .ht-footer.ht-footer3 {
        border: none;
    }

    .ht-footer.ht-footer4 {
        height: auto;
    }

    .ht-footer.ht-footer4 aside:nth-child(2) .wp-block-image img {
        display: none;
    }

    .ht-footer .widget {
        margin-bottom: 0;
    }

    .ht-footer .wp-block-image {
        display: flex;
        flex-direction: column;
    }

    .ht-footer .wp-block-image figure {
        margin: 0;
    }

    .ht-contact-info ul li {
        padding: 0 0 0 25px !important;
    }

    .ht-contact-info ul li i {
        margin-left: -25px;
        width: 16px;
    }

    .ht-footer ul li a,
    .ht-contact-info ul li,
    .ht-contact-info ul li p,
    .ht-footer .wp-block-image figure figcaption {
        font-size: 14px!important;
    }

    .ht-bottom-footer {
        font-size: 14px;
        line-height: 1.4;
        padding: 20px 40px !important;
    }

}


/* ========================================================================
   NEWS HOME
   ======================================================================== */

.ht-news {
    width: auto;
}

.ht-news-section .style1 .ht-news:nth-child(1) .ht-news-image {
    width: 35%;
}

.ht-news-section .style1 .ht-news:nth-child(1) .ht-news-content {
    width: 60%;
}

.ht-news-section .style1 .ht-news:nth-child(2) .ht-news-image {
    width: 50%;
}

.ht-news-section .style1 .ht-news:nth-child(2) .ht-news-content {
    width: 45%;
}

.ht-news-section .ht-news-link,
.ht-news-section .ht-news-link > i {
    font-weight: 600;
}

/* ========================================================================
   SERVICE HOME
   ======================================================================== */

.ht-service-section.style1 .ht-service-more {
    font-weight: 600;
}

/* ========================================================================
   SLIDER
   ======================================================================== */

#ht-home-slider-section #ht-slider {
    max-width: 1170px;
    width: 100%;
    margin: 20px auto 0;
}

@media (max-width: 768px) {

    #ht-home-slider-section #ht-slider {
        margin: 0 auto;
    }

}

/* ========================================================================
   FORMS
   ======================================================================== */

/**
 * Kitareinigung.de - Modernes Formular-Stylesheet
 * Wiederverwendbar für alle Formulare (Kontakt, Basic, Klassik, Premium, Jobs, Partner)
 * Version: 1.0
 */

/* ============================================
   CSS Custom Properties (Farben anpassbar)
   ============================================ */
:root {
    --kita-primary: #528748;        /* Von font color */
    --kita-primary-dark: #337728;
    --kita-primary-light: #c0d4bc;
    --kita-accent: #e63946;         /* Rot für CTAs */
    --kita-accent-dark: #c5303c;

    /* Neutrale Farben */
    --kita-white: #ffffff;
    --kita-gray-50: #f9fafb;
    --kita-gray-100: #f3f4f6;
    --kita-gray-200: #e5e7eb;
    --kita-gray-300: #d1d5db;
    --kita-gray-400: #9ca3af;
    --kita-gray-500: #6b7280;
    --kita-gray-600: #4b5563;
    --kita-gray-700: #374151;
    --kita-gray-800: #1f2937;
    --kita-gray-900: #111827;

    /* Semantische Farben */
    --kita-success: #10b981;
    --kita-warning: #f59e0b;
    --kita-error: #ef4444;
    --kita-info: #3b82f6;

    /* Schatten */
    --kita-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --kita-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --kita-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --kita-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

    /* Border Radius */
    --kita-radius-sm: 0.375rem;
    --kita-radius: 0.5rem;
    --kita-radius-lg: 0.75rem;
    --kita-radius-xl: 1rem;

    /* Transitions */
    --kita-transition: all 0.2s ease;
    --kita-transition-slow: all 0.3s ease;
}

/* ============================================
   Reset & Base für Formular-Container
   ============================================ */
.kita-form-container {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
    line-height: 1.6;
    color: var(--kita-gray-700);
    max-width: 900px;
    margin: 0 auto 1.5rem;
    padding: 3rem 1.5rem 1.5rem;
}

.kita-form-container *,
.kita-form-container *::before,
.kita-form-container *::after {
    box-sizing: border-box;
}

/* ============================================
   Formular Header
   ============================================ */
.kita-form-header {
    text-align: center;
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--kita-gray-200);
}

.kita-form-header h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--kita-gray-800);
    margin: 0 0 0.5rem 0;
}

.kita-form-header p {
    font-size: 1rem;
    color: var(--kita-gray-500);
    margin: 0;
}

/* ============================================
   Formular Sektionen (Cards)
   ============================================ */
.kita-form-section {
    background: var(--kita-white);
    border: 1px solid var(--kita-gray-200);
    /* border-radius: var(--kita-radius-lg); */
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    transition: var(--kita-transition);
}

.kita-form-section:hover {
    border-color: var(--kita-gray-300);
    box-shadow: var(--kita-shadow-md);
}

/* Akzent-Varianten für verschiedene Sektionen */
.kita-form-section--primary {
    border-left: 4px solid var(--kita-primary);
}

.kita-form-section--accent {
    border-left: 4px solid var(--kita-accent);
}

.kita-form-section--info {
    border-left: 4px solid var(--kita-info);
    background: linear-gradient(135deg, var(--kita-gray-50) 0%, var(--kita-white) 100%);
}

.kita-form-section--highlight {
    background: linear-gradient(135deg, #f0fdf4 0%, var(--kita-white) 100%);
    border-left: 4px solid var(--kita-success);
}

/* Section Header */
.kita-section-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--kita-gray-100);
}

.kita-section-icon {
    width: 2.5rem;
    height: 2.5rem;
    background: var(--kita-primary);
    color: var(--kita-white);
    border-radius: var(--kita-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.kita-section-icon--accent {
    background: var(--kita-accent);
}

.kita-section-icon--info {
    background: var(--kita-info);
}

.kita-section-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--kita-gray-800);
    margin: 0;
}

.kita-section-subtitle {
    font-size: 0.875rem;
    color: var(--kita-gray-500);
    margin: 0.25rem 0 0 0!important;
}

/* ============================================
   Form Grid System
   ============================================ */
.kita-form-grid {
    display: grid;
    gap: 1rem;
}

.kita-form-grid--2 {
    grid-template-columns: repeat(2, 1fr);
}

.kita-form-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

.kita-form-grid--4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Spezielle Layouts */
.kita-form-grid--address {
    grid-template-columns: 1fr 100px;
}

.kita-form-grid--plz {
    grid-template-columns: 120px 1fr;
}

.kita-form-grid--tel {
    grid-template-columns: 100px 1fr;
}

/* Responsive */
@media (max-width: 640px) {
    .kita-form-grid--2,
    .kita-form-grid--3,
    .kita-form-grid--4,
    .kita-form-grid--address,
    .kita-form-grid--plz,
    .kita-form-grid--tel {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   Form Groups & Labels
   ============================================ */
.kita-form-group {
    margin-bottom: 1rem;
}

.kita-form-group:last-child {
    margin-bottom: 0;
}

.kita-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--kita-gray-700);
    margin-bottom: 0.375rem;
}

.kita-label--required::after {
    content: " *";
    color: var(--kita-accent);
}

.kita-hint {
    font-size: 0.75rem;
    color: var(--kita-gray-500);
    margin-top: 0.25rem;
}

/* ============================================
   Input Fields
   ============================================ */
form .kita-input,
form .kita-select,
form .kita-textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.9375rem;
    color: var(--kita-gray-700);
    background: var(--kita-white);
    border: 1.5px solid var(--kita-gray-300);
    border-radius: var(--kita-radius);
    transition: var(--kita-transition);
    outline: none;
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
    height: 40px;
    line-height: 24px;
}

.form .kita-input:hover,
.form .kita-select:hover,
.form .kita-textarea:hover {
    border-color: var(--kita-gray-400);
}

.form .kita-input:focus,
.form .kita-select:focus,
.form .kita-textarea:focus {
    border-color: var(--kita-primary);
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.15);
}

.form .kita-input::placeholder {
    color: var(--kita-gray-400);
}

/* Input Größen */
.form .kita-input--sm {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}

.form .kita-input--lg {
    padding: 0.75rem 1rem;
    font-size: 1rem;
}

/* Spezielle Input-Breiten */
.form .kita-input--mini {
    width: 80px;
}

.form .kita-input--small {
    width: 120px;
}

/* Textarea */
.kita-textarea {
    min-height: 100px;
    resize: vertical;
}

/* Select */
.kita-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
}

/* ============================================
   Checkbox & Radio Buttons (Modern Style)
   ============================================ */
.kita-checkbox-group,
.kita-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.kita-checkbox-group--vertical,
.kita-radio-group--vertical {
    flex-direction: column;
    gap: 0.5rem;
}

.kita-checkbox,
.kita-radio {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    background: var(--kita-gray-50);
    border: 1.5px solid var(--kita-gray-200);
    border-radius: var(--kita-radius);
    transition: var(--kita-transition);
    font-size: 0.875rem;
    color: var(--kita-gray-700);
    height: 40px;
}

.kita-checkbox:hover,
.kita-radio:hover {
    background: var(--kita-white);
    border-color: var(--kita-primary);
}

.kita-checkbox input,
.kita-radio input {
    width: 1.125rem;
    height: 1.125rem;
    margin: 0;
    accent-color: var(--kita-primary);
    cursor: pointer;
}

.kita-checkbox:has(input:checked),
.kita-radio:has(input:checked) {
    background: #f0fdf4;
    border-color: var(--kita-primary);
    color: var(--kita-primary-dark);
}

/* Kompakte Inline-Variante */
.kita-checkbox--inline,
.kita-radio--inline {
    background: transparent;
    border: none;
    padding: 0.25rem 0;
}

.kita-checkbox--inline:hover,
.kita-radio--inline:hover {
    background: transparent;
    border: none;
}

/* ============================================
   Inline Form Row (Label + Inputs nebeneinander)
   ============================================ */
.kita-inline-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.kita-inline-row .kita-label {
    margin-bottom: 0;
    white-space: nowrap;
}

/* ============================================
   File Upload
   ============================================ */
.kita-file-upload {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem;
    background: var(--kita-gray-50);
    border: 2px dashed var(--kita-gray-300);
    border-radius: var(--kita-radius-lg);
    cursor: pointer;
    transition: var(--kita-transition);
}

.kita-file-upload:hover {
    border-color: var(--kita-primary);
    background: #f0fdf4;
}

.kita-file-upload input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.kita-file-upload-icon {
    font-size: 2rem;
    color: var(--kita-gray-400);
    margin-bottom: 0.5rem;
}

.kita-file-upload-text {
    font-size: 0.875rem;
    color: var(--kita-gray-600);
    text-align: center;
}

.kita-file-upload-hint {
    font-size: 0.75rem;
    color: var(--kita-gray-400);
    margin-top: 0.25rem;
}

/* Kompakte File-Inputs */
input[type="file"] {
    font-size: 0.875rem;
    color: var(--kita-gray-600);
}

.kita-file-compact {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.kita-file-compact input[type="file"] {
    font-size: 0.875rem;
    color: var(--kita-gray-600);
}

.kita-file-compact input[type="file"]::file-selector-button {
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--kita-gray-700);
    background: var(--kita-white);
    border: 1.5px solid var(--kita-gray-300);
    border-radius: var(--kita-radius);
    cursor: pointer;
    transition: var(--kita-transition);
    margin-right: 0.75rem;
}

.kita-file-compact input[type="file"]::file-selector-button:hover {
    background: var(--kita-gray-50);
    border-color: var(--kita-primary);
}

/* ============================================
   RESPONSIVE PACKAGE LINKS
   ============================================ */

.kita-package-links {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.kita-package-link {
    display: block;
    padding: 0.75rem 1rem;
    background: var(--kita-white);
    border: 1.5px solid var(--kita-gray-200);
    border-radius: var(--kita-radius);
    transition: var(--kita-transition);
    text-decoration: none;
}

.kita-package-link:hover {
    border-color: var(--kita-primary);
    box-shadow: var(--kita-shadow);
    transform: translateY(-2px);
}

.kita-package-link img {
    height: auto;
    max-height: 192px;
    width: auto;
    display: block;
}

@media (max-width: 480px) {
    .kita-package-links {
        flex-direction: column;
        align-items: stretch;
    }

    .kita-package-link {
        text-align: center;
    }

    .kita-package-link img {
        margin: 0 auto;
        max-width: 100%;
        height: auto;
    }
}

/* ============================================
   INTERVAL GRID (für Individuell-Formular)
   ============================================ */

.kita-interval-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 768px) {
    .kita-interval-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

.kita-interval-grid .kita-form-group {
    margin-bottom: 0;
}

.kita-interval-grid .kita-label {
    font-size: 0.8125rem;
    line-height: 1.4;
    min-height: 2.5rem;
    display: flex;
    align-items: flex-end;
}

/* ============================================
   Buttons
   ============================================ */
.kita-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kita-white);
    background: var(--kita-primary);
    border: none;
    border-radius: var(--kita-radius);
    cursor: pointer;
    transition: var(--kita-transition);
    text-decoration: none;
}

.kita-btn:hover {
    background: var(--kita-primary-dark);
    transform: translateY(-1px);
    box-shadow: var(--kita-shadow-md);
}

.kita-btn:active {
    transform: translateY(0);
}

/* Button Varianten */
.kita-btn--accent {
    background: var(--kita-accent);
}

.kita-btn--accent:hover {
    background: var(--kita-accent-dark);
}

.kita-btn--outline {
    background: transparent;
    color: var(--kita-primary);
    border: 2px solid var(--kita-primary);
}

.kita-btn--outline:hover {
    background: var(--kita-primary);
    color: var(--kita-white);
}

.kita-btn--lg {
    padding: 1rem 2rem;
    font-size: 1.0625rem;
}

.kita-btn--full {
    width: 100%;
}

/* ============================================
   Datenschutz / Consent Box
   ============================================ */
.kita-consent-box {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    background: var(--kita-gray-50);
    border: 1px solid var(--kita-gray-200);
    border-radius: var(--kita-radius);
    margin-bottom: 1.5rem;
}

.kita-consent-box input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.125rem;
    accent-color: var(--kita-primary);
    flex-shrink: 0;
}

.kita-consent-box label {
    font-size: 0.8125rem;
    color: var(--kita-gray-600);
    line-height: 1.5;
    cursor: pointer;
}

.kita-consent-box a {
    color: var(--kita-primary);
    text-decoration: underline;
}

/* ============================================
   Pflichtfeld-Hinweis
   ============================================ */
.kita-required-note {
    font-size: 0.8125rem;
    color: var(--kita-gray-500);
    margin-bottom: 1rem;
}

.kita-required-note span {
    color: var(--kita-accent);
}

/* ============================================
   Success / Error States
   ============================================ */
.kita-input--error,
.kita-select--error,
.kita-textarea--error {
    border-color: var(--kita-error);
}

.kita-input--error:focus,
.kita-select--error:focus,
.kita-textarea--error:focus {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

.kita-error-message {
    font-size: 0.75rem;
    color: var(--kita-error);
    margin-top: 0.25rem;
}

.kita-input--success {
    border-color: var(--kita-success);
}

/* ============================================
   Dankesseite / Erfolg
   ============================================ */
.kita-success-message {
    text-align: center;
    padding: 3rem 2rem;
    background: linear-gradient(135deg, #f0fdf4 0%, var(--kita-white) 100%);
    border: 1px solid var(--kita-gray-200);
    border-radius: var(--kita-radius-xl);
}

.kita-success-icon {
    width: 4rem;
    height: 4rem;
    background: var(--kita-success);
    color: var(--kita-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin: 0 auto 1.5rem;
}

.kita-success-message h2 {
    font-size: 1.5rem;
    color: var(--kita-gray-800);
    margin: 0 0 0.75rem 0;
}

.kita-success-message p {
    color: var(--kita-gray-600);
    margin: 0;
}

/* ============================================
   Utilities
   ============================================ */
.kita-mt-0 { margin-top: 0; }
.kita-mt-1 { margin-top: 0.5rem; }
.kita-mt-2 { margin-top: 1rem; }
.kita-mt-3 { margin-top: 1.5rem; }
.kita-mb-0 { margin-bottom: 0; }
.kita-mb-1 { margin-bottom: 0.5rem; }
.kita-mb-2 { margin-bottom: 1rem; }
.kita-mb-3 { margin-bottom: 1.5rem; }

.kita-text-center { text-align: center; }
.kita-text-sm { font-size: 0.875rem; }
.kita-text-muted { color: var(--kita-gray-500); }

.kita-hidden { display: none; }

/* ============================================
   Responsive Anpassungen
   ============================================ */
@media (max-width: 768px) {
    .kita-form-container {
        padding: 2rem 0 1rem;
    }

    .kita-form-section {
        padding: 1.25rem;
    }

    .kita-form-header h2 {
        font-size: 1.5rem;
    }

    .kita-checkbox-group,
    .kita-radio-group {
        flex-direction: column;
    }

    .kita-btn--lg {
        width: 100%;
    }
}

/* ============================================
   Print Styles
   ============================================ */
@media print {
    .kita-form-section {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .kita-btn {
        display: none;
    }
}
