/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/* Container für die Preisanzeige */
.rns-price-container {
    margin-bottom: 15px;
    line-height: 1.2;
    text-align: end;
}

/* Die Hauptzeile "Ab 3,75 €" */
.rns-ab-preis {
    font-size: 1.4em; /* Etwas größer für die Aufmerksamkeit */
    font-weight: 700;
    color: #333;
}

/* Die Steuer- und Versandinfozeile */
.rns-tax-info {
    font-size: 13px; /* Kleinere Standard-Schriftgröße */
    color: #777; /* Grauer, dezenter Farbton */
    margin-top: 4px;
}

.rns-tax-info a {
    color: #777;
    text-decoration: underline;
}

.rns-tax-info a:hover {
    color: #333;
}






.product-icon-container-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.rns-icon-item {
    position: relative;
    cursor: help;
    display: flex;
}

.rns-icon-item img {
    width: 32px; /* Größe der Icons im Template */
    height: auto;
    display: block;
    transition: transform 0.2s ease;
}

.rns-icon-item:hover img {
    transform: scale(1.1);
}

/* Tooltip Design */
.rns-icon-item::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%) translateY(5px);
    background: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 999;
}

.rns-icon-item:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}






/* Das Tooltip-Styling */
.product-icon::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 110%; /* Über dem Icon */
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    
    background-color: #333; /* Dunkler Hintergrund */
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in-out;
    pointer-events: none;
    z-index: 100;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* Der kleine Pfeil unter dem Tooltip */
.product-icon::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    border-width: 6px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
    
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in-out;
    z-index: 100;
}

/* Hover-Effekt: Tooltip anzeigen */
.product-icon:hover::after,
.product-icon:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}




/* Grundtabelle - Flexibel statt Fixed */
.rns-custom-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px !important;
    margin-top: 10px;
}

.rns-custom-table th, 
.rns-custom-table td {
    padding: 12px 10px !important;
    border-bottom: 1px solid #ececec;
    vertical-align: middle;
    text-align: left; /* Standardausrichtung links */
}

/* Preis-Spalte Radikal-Reset */
.col-price {
    white-space: nowrap; /* Kein Umbruch beim Preis */
}

/* Alle Woocommerce Preis-Container auf normalem Textfluss zwingen */
.col-price .amount, 
.col-price bdi, 
.col-price span,
.col-price ins,
.col-price del {
    font-size: 15px !important;
    font-weight: 500 !important;
    display: inline !important; /* WICHTIG: Kein Block-Element */
    color: inherit !important;
    text-decoration: none !important;
}

/* Ausrichtung für Status und Menge */
.text-right {
    text-align: right !important;
}

.col-status {
    color: #2e7d32;
    font-size: 14px;
}

/* Mengen-Einheit rechts bündig */
.qty-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

/* Input Feld */
.rns-custom-table .qty {
    width: 45px !important;
    height: 35px !important;
    text-align: center;
    border: 1px solid #ccc !important;
    background: #fff !important;
    padding: 0 !important;
}

/* Button-Anpassung */
.rns-custom-table .button.alt {
    padding: 8px 16px !important;
    font-size: 12px !important;
    text-transform: uppercase;
    font-weight: bold;
    min-width: 110px;
}

/*
//
// Aussaat Kalender Produktseite Start
//
*/
.modern-calendar-wrapper {
    position: relative;
    width: 100%;
    margin: 40px 0;
    font-family: inherit !important; /* Erzwingt Theme-Schrift */
    color: inherit;
}

.calendar-header {
    display: flex;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    padding-bottom: 12px;
}

.label-spacer { width: 180px; flex-shrink: 0; }

.month-head {
    flex: 1;
    text-align: center;
    font-size: 0.85rem;
    font-family: inherit;
    opacity: 0.5;
}

.month-head.current-mon { 
    opacity: 1; 
    font-weight: 700;
}

.calendar-row {
    display: flex;
    align-items: center;
    height: 55px;
}

.row-title {
    width: 180px;
    flex-shrink: 0;
    font-size: 1rem;
    font-family: inherit;
    font-weight: 500;
}

/* Der Hintergrund-Gürtel für die Balken */
.month-cells-container {
    display: flex;
    flex: 1;
    height: 32px;
    background: rgba(0,0,0,0.03); 
    border-radius: 16px;
    position: relative;
}

.cell { flex: 1; position: relative; }

/* Farben */
.active.voranzucht { background-color: #96ce3e !important; }
.active.aussaat    { background-color: #6bad0d !important; }
.active.freiland   { background-color: #93c47d !important; }
.active.ernte      { background-color: #58890a !important; }

/* Caps für abgerundete Balken */
.start-cap { border-top-left-radius: 16px; border-bottom-left-radius: 16px; }
.end-cap   { border-top-right-radius: 16px; border-bottom-right-radius: 16px; }

.row-icon {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.1));
}

/* Heute-Linie */
.today-line {
    position: absolute;
    top: -15px;
    bottom: 5px;
    width: 2px;
    background: #2c4a04;
    z-index: 10;
    pointer-events: none;
}

.today-marker {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    background: #2c4a04;
    color: #fff;
    font-size: 9px;
    padding: 2px 5px;
    border-radius: 3px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
/*
//
// Aussaat Kalender Produktseite Ende
//
*/




.rns-selection-wrapper {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    max-width: 450px;
}

.selection-title {
    padding: 15px;
    font-weight: bold;
    background: #f9f9f9;
    margin: 0;
    border-bottom: 1px solid #eee;
}

.variant-row {
    display: flex;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background 0.2s;
}

.variant-row:hover { background: #fdfcf8; }
.variant-row.is-active { background: #f0f0f0; }

/* Radio Button verstecken, eigenen Kreis zeigen */
.variant-row input { display: none; }
.custom-check {
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 50%;
    margin-right: 15px;
    position: relative;
}
.is-active .custom-check { border-color: #333; }
.is-active .custom-check::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    background: #333;
    border-radius: 50%;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}

.variant-name { font-weight: 600; flex-grow: 1; }
.variant-price-info { font-weight: bold; }

/* Cart Controls */
.rns-cart-controls {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.qty-stepper {
    display: flex;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.qty-stepper button {
    background: #f9f9f9;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 1.2rem;
}

.qty-stepper input {
    width: 60px;
    text-align: center;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.big-button {
    color: white !important;
    padding: 15px !important;
    border: none;
    border-radius: 0px;
    font-weight: bold;
    font-size: 1.1rem;
    cursor: pointer;
}





/* Container & Basis-Schrift */
.rns-modern-selection {
    font-family: inherit !important;
    color: inherit;
    margin: 30px 0;
}

/* 8-Spalten Grid mit großem Radius */
.rns-variant-grid-8 {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.rns-selection-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px; /* Größerer Radius wie zu Beginn */
    padding: 18px 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rns-selection-card.is-active {
    border-color: #70bb62;
    box-shadow: inset 0 0 0 1px #70bb62;
    background-color: #f9fbf8;
}

.rns-selection-card.empty-card {
    opacity: 0.2;
    border-style: dashed;
    cursor: default;
}

/* Card Details */
.unit-icon { font-size: 14px; margin-right: 6px; color: #aaa; }
.card-portion { font-size: 1rem; margin-bottom: 6px; display: flex; align-items: center; }
.card-price { font-size: 1.2rem; font-weight: 400; margin-bottom: 10px; }
.card-status-info { font-size: 0.75rem; color: #70bb62; }

/* Einzeilige Bestell-Bar */
.rns-order-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px 20px;
}

.bar-left-group { display: flex; align-items: center; gap: 20px; }
.bar-icon { font-size: 20px; color: #999; background: #f7f7f7; padding: 12px; border-radius: 50%; }

.bar-summary { display: flex; flex-direction: column; }
.bar-label { font-size: 0.85rem; color: #666; margin-bottom: 2px; }
.bar-main-row { display: flex; align-items: baseline; gap: 10px; }
.bar-total-sum { font-size: 1.4rem; font-weight: 400; font-family: inherit; } /* Gleiche Schrift wie oben */
.bar-tax { font-size: 0.75rem; color: #999; }

.bar-right-group { display: flex; align-items: center; gap: 20px; }

/* Korrigierter Stepper */
.rns-stepper {
    display: flex;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.step-btn {
    width: 30px; /* Schmalere Buttons */
    height: 40px;
    border: none;
    background: #f4f4f4;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.step-btn:hover { background: #eee; }

.rns-stepper input {
    width: 60px; /* Breiteres Textfeld */
    height: 40px;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    background: #fff;
    color: #333 !important;
}

/* Button mit Spacing */
.rns-theme-btn {
    height: 40px;
    padding: 0 35px !important; /* Mehr Randspacing */
    border-radius: 4px;
    font-size: 0.9rem !important;
    white-space: nowrap;
}

/* AJAX Loader */
.ajax-loader { display: none; margin-right: 10px; }
.loading .ajax-loader { display: inline-block; animation: rnsSpin 1s infinite linear; }
.loading .btn-txt { display: none; }
@keyframes rnsSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* --- QUANTITY STEPPER FIX --- */

/* Hintergrund des Steppers neutral halten */
.rns-stepper {
    border: 1px solid #ddd !important;
    background: #fff !important;
}

/* Plus/Minus Buttons Sichtbarkeit & Kontrast */
.step-btn {
    background-color: #f4f4f4 !important; /* Hellgrauer Hintergrund für Buttons */
    color: #333 !important; /* Schwarze Symbole für Sichtbarkeit */
    border: none !important;
    transition: background 0.2s ease;
}

/* Hover-Effekt in Themenfarbe Grün */
.step-btn:hover {
    background-color: #70bb62 !important;
    color: #fff !important; /* Weißes Symbol bei Hover */
}

/* Das Zahlenfeld in der Mitte */
.rns-stepper input#rns-main-qty {
    color: #333 !important;
    background: #fff !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    font-weight: bold !important;
}


/* --- WARENKORB BUTTON THEMENFARBE --- */

.rns-theme-btn {
    color: #fff !important;
    border: none !important;
    border-radius: 0px !important;
    transition: background 0.3s ease, transform 0.1s ease !important;
}

/* Hover-Zustand: Etwas dunkleres Grün */
.rns-theme-btn:hover {
    color: #fff !important;
    cursor: pointer;
}

/* Klick-Effekt (Active) */
.rns-theme-btn:active {
    transform: scale(0.98);
}


/* --- CARD HOVER & CLICK --- */

/* Hover über die Portions-Cards */
.rns-selection-card:not(.empty-card):hover {
    border-color: #70bb62 !important;
    background-color: #fdfdfd !important;
}

/* Aktive Card (Ausgewählt) */
.rns-selection-card.is-active {
    border-color: #70bb62 !important;
    background-color: #f9fbf8 !important;
    box-shadow: 0 0 0 1px #70bb62 !important;
}






.macit-faq {
    margin: 3rem 0;
}

.macit-faq__title {
    margin-bottom: 1.5rem;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.25;
}

.macit-faq__list {
    display: grid;
    gap: 0.75rem;
}

.macit-faq__item {
    border: 1px solid #ddd;
    border-radius: 0.75rem;
    overflow: hidden;
    background: transparent;
}

.macit-faq__question {
    cursor: pointer;
    padding: 1rem 1.25rem;
    font-weight: 600;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.macit-faq__question::-webkit-details-marker {
    display: none;
}

.macit-faq__question::after {
    content: "+";
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 400;
}

.macit-faq__item[open] .macit-faq__question::after {
    content: "−";
}

.macit-faq__answer {
    padding: 0 1.25rem 1.25rem;
    line-height: 1.6;
}

.macit-faq__answer p:last-child {
    margin-bottom: 0;
}