/*
Theme Name: Heavy Child
Theme URI: http://cmsmasters.net/heavy-child/
Author: cmsmasters
Author URI: http://cmsmasters.net/
Description: Heavy Child Theme
Template: heavy
Version: 1.0.0
License:
License URI:
Text Domain: heavy-child
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/

@media (min-width: 1025px) and (max-width: 1300px) {
    ul#navigation a {
        font-size: 15px;
    }    
}

.revslider-container [style*="background-image"] {
    filter: brightness(0.6) !important;
}

.button,
input[type="submit"],
input[type="button"],
button {
    padding: 0 15px;
}

.hidden,
.header_top {
    display: none;
}

.introtext {
    font-size: 20px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .introtext {
        font-size: 16px;
    }
}

#slide_top {
    border-radius: 20px;
    bottom: 20px;
}

textarea {
    transition: none !important;
    background: none !important;
}

.middle_content {
    padding-top: 25px;
}

/* Standard-Blau: Ist über Optionen festgelegt, greift aber nicht überall. Die untenstehenden Anweisungen betreffen Elemente auf der Startseite. */
button:hover,
html .cmsmasters_color_scheme_fourth .cmsmasters-form-builder .form_info .cmsmasters_submit_wrap:hover .wpcf7-submit,
.cmsmasters_button:hover,
html .cmsmasters_color_scheme_first .cmsmasters_quotes .cmsmasters_quote_content::before {
    background-color: #0482c0;
}

html .cmsmasters_color_scheme_fourth .cmsmasters_button.cmsmasters_but_icon::before,
html .cmsmasters_color_scheme_fourth input[type="submit"],
html .cmsmasters_color_scheme_fourth .cmsmasters-form-builder .form_info .cmsmasters_submit_wrap::after,
.cmsmasters_button:hover {
    color: #0482c0 !important;
}

html .cmsmasters_color_scheme_fourth .cmsmasters-form-builder .form_info .cmsmasters_submit_wrap:hover .wpcf7-submit,
html .cmsmasters_color_scheme_fourth .cmsmasters-form-builder .form_info .cmsmasters_submit_wrap:hover::after {
    color: white !important;
}

html .cmsmasters_color_scheme_fourth input[type="submit"] {
    border-color: #0482c0 !important;
}

.button, input[type="submit"], input[type="button"], button {
    border-radius: 20px;
}

html .cmsmasters_color_scheme_fourth input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]) {
    color: #333 !important;
}

/* Von Bootstrap übernommen */
.alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-radius: 20px;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

#darkModeToggle {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9999;
    background-color: #f9f9f9;
    line-height: 45px;
}

#darkModeToggle:hover {
    background-color: #0482c0;
}

@media (max-width: 991px) {
    #darkModeToggle {
        font-size: 14px;
        line-height: 2.8;
        padding: 0 5px;
        border-radius: 14px;
    }
}

.cmsmasters_color_scheme_fourth {
    color: #333;
}

/* Container-Abrundungen */
#feature-preview .cmsmasters_column,
.contact-form {
    border-radius: 20px;
}

/* Google-Login-Button */
.nsl-container-block {
    display: flex;
    justify-content: center;
}

.social-login-separator {
    display: flex;             /* Aktiviert Flexbox */
    align-items: center;       /* Zentriert die Elemente vertikal */
    margin: 15px 0;            /* Fügt oben und unten etwas Abstand hinzu */
    width: 100%;               /* Nimmt die volle Breite des übergeordneten Containers ein */
}

.separator-line {
    flex-grow: 1;              /* Lässt die Linie den gesamten verfügbaren Platz einnehmen */
    height: 1px;               /* Definiert die Dicke der Linie */
    background-color: #ccc;  /* Definiert die Farbe der Linie (mittleres Grau) */
}

.separator-text {
    padding: 0 15px;           /* Fügt links und rechts vom Text etwas Abstand hinzu */
    font-size: 14px;           /* Definiert die Schriftgröße */
    color: #666;              /* Dunkelgraue Textfarbe */
    text-transform: uppercase; /* Optional: Text in Großbuchstaben */
    white-space: nowrap;       /* Verhindert, dass das Wort "oder" umbricht */
}

.nsl-container .nsl-button-google {
    background-color: transparent !important;
    color: rgb(4,130,192) !important;
    font-weight: 500;
    box-shadow: none !important;
    border: none !important;
    padding: 5px 0px !important; 
    border-radius: 20px !important;
    border: 2px solid rgb(4,130,192) !important;
}

.nsl-button-label-container {
    font-family: "Work Sans", Arial, Helvetica, "Nimbus Sans L", sans-serif !important;
    font-size: 18px !important;
}

.nsl-container .nsl-button-google:hover {
    background-color: #0482c0 !important;
}

.nsl-container .nsl-button-google:hover .nsl-button-label-container {
    color: white;
}

/* WooCommerce */
/* Weitere spezifische WooCommerce-Stile befinden sich in plugins/woocommerce_slim_mode/woocommerce_slim_mode.php, dort eingebunden via wp_head-Hook. */

/* Registrierungsseite */
#password_strength,
.woocommerce-password-hint {
    display: none !important;
}

/* Shop-Seite */
select#laufzeit {
    border-radius: 10px;
}

/* Checkout-Seite */
.woocommerce-checkout-payment .payment_methods label img {
    display: inline-block !important;
}

/* "Mein Konto"-Seite */
.woocommerce-MyAccount-navigation {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
    margin: 8px 0;
}
.woocommerce-MyAccount-navigation ul li a {
    text-decoration: none;
    color: #0073aa;
    font-weight: 500;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    font-weight: bold;
    color: #000;
}

.woocommerce input {
    border-radius: 10px !important;
    padding: 0 10px !important;
}

/* Menü, das auf "Mein Konto"-Seite, aber auch anderswo angezeigt wird */
.woocommerce-MyAccount-navigation {
    padding-left: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap; /* Zeilenumbruch bei kleiner Bildschirmbreite */
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 10px; /* Abstand zwischen den Listenelementen */
    justify-content: flex-start;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    border-right: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 16px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease-in-out;
    border-radius: 15px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background-color: #007cba;
    color: #fff;
    border-color: #007cba;
    text-decoration: none;
}

/* Hauptmenü außerhalb von WooCommerce */
.woocommerce-account.main-submenu .woocommerce-MyAccount-navigation ul {
    justify-content: center;
}

.main-submenu a span {
    display: inline-block;
}

.main-submenu a span:first-of-type {
    margin-right: 8px;
}

@media (max-width: 991px) {
    .main-submenu a span:first-of-type {
        margin-right: 0 !important;
    }

    .main-submenu .linktext {
        display: none;
    }
    
    .woocommerce-account.main-submenu .woocommerce-MyAccount-navigation li a {
        padding: 10px 16px;
    }
}

@media (max-width: 767px) {
    .woocommerce-account.main-submenu .woocommerce-MyAccount-navigation li a {
        padding: 5px 12px;
    }
}

/* Dashboard-Box */
.woocommerce-MyAccount-content {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.05);
}

/* Restlaufzeit-Box (Skinny-Island-Stil) */
.skinny-account-status {
    font-size: 16px;
    border-radius: 4px;
    padding: 15px;
    margin: 15px 0;
}

.skinny-account-status.ok {
    background: #e8f5e9;
    border-left: 5px solid #2e7d32;
}

.skinny-account-status.nok {
    background: #ffebee;
    border-left: 5px solid #c62828;
}

.woocommerce-MyAccount-content {
    color: #333 !important;
}

.shop_table th,
.shop_table td {
    padding-left: 15px;
}

.woocommerce-checkout-payment {
    padding: 15px 30px 0px 15px !important;
}

#payment-methods {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 260px;
    margin: 0 auto;
    text-align: center;
}

/* Kontaktformular */
#main-contact-form p {
    margin-bottom: 25px;
}

#main-contact-form input,
#main-contact-form textarea {
    border: 1px solid #ccc;
    border-radius: 15px;
    padding: 10px;
}

#main-contact-form label {
    color: #333;
}

/* AGB und FAQ */
ol.wp-block-list {
    list-style-type: decimal;
}

ul.wp-block-list,
ol.wp-block-list ul,
ol.wp-block-list {
    list-style-position: outside;
    padding-left: 18px;
}

ul.wp-block-list li,
ol.wp-block-list ul li,
ol.wp-block-list li {  
    padding-left: 3px;
}

#skinny-island-faq li {
    margin-bottom: 15px;
}

/* Anzeige des Passworts im WooCommerce-Login-Formular (Heavy-Theme-Einbindung hatte Darstellung zerstört) */

/* Stellt sicher, dass das Eltern-Element für absolute Positionierung vorbereitet ist */
.woocommerce form .password-input {
    position: relative;
    display: block;
}

/* Positioniert den Button absolut im Passwortfeld */
.woocommerce form .show-password-input {
    position: absolute;
    top: 20%;
    right: 15px; /* Abstand vom rechten Rand des Input-Felds */
    transform: translateY(-50%);
    width: 24px; /* Breite für das Icon */
    height: 24px; /* Höhe für das Icon */
    padding: 0;
    margin: 0;
    cursor: pointer;
    background: none;
    border: none;
}

/* Ändert die Farbe und den Stil des Symbols, um es sichtbar zu machen */
.woocommerce form .show-password-input::before {
    content: "\f177"; /* Dashicon-Code für das Auge */
    font-family: Dashicons;
    font-size: 20px;
    color: #333;
    line-height: 1;
}

/* Zeigt ein anderes Symbol bei aktivem Zustand (Passwort sichtbar) */
.woocommerce form .show-password-input.display-password::before {
    content: "\f530"; /* Dashicon-Code für das geschlossene Auge */
}

/* Entfernt das blaue "Kästchen" bei Fokus */
.woocommerce form .show-password-input:focus {
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-form-row .password-input {
    margin-top: 0;
}

.login .form-row:not(.form-row-wide):not(.woocommerce-LostPassword),
.register .form-row:not(.form-row-wide):not(.woocommerce-LostPassword) {
    padding-top: 0;
}

label.woocommerce-form-login__rememberme {
    margin-bottom: 25px;
}

button.woocommerce-form-login__submit,
button.woocommerce-form-register__submit,
input[name="wc_reset_password"] + button {
    line-height: 45px;
}

/* Videos, Grundlage generiert von Gemini, dann modifiziert */

/* Grundlegender Raster-Container für die Videos */
.video-grid {
    display: grid;
    /* Erstellt eine flexible Anzahl von Spalten, die sich an die Bildschirmbreite anpassen */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    /* Abstand zwischen den Video-Elementen */
    gap: 20px;
    /* Zentriert den gesamten Container und gibt ihm etwas oberen und unteren Abstand */
    margin: 2em auto;
    /* Begrenzt die maximale Breite des Rasters */
    max-width: 1200px;
    padding: 0 15px; /* Fügt inneren Abstand hinzu, damit die Videos auf kleinen Geräten nicht am Rand kleben */
}

/* Styling für die einzelnen Video-Container */
.video-item {
    background-color: #f4f4f4; /* Leichter Hintergrund */
    border-radius: 8px; /* Abgerundete Ecken */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtiler Schatten */
    overflow: hidden; /* Stellt sicher, dass das Video in den abgerundeten Ecken bleibt */
}

.video-item h3 {
    padding: 0 5px;
    font-size: 16px;
    text-align: center;
}

/* Styling für die Video-Elemente selbst */
.video-item video {
    width: 100%; /* Das Video füllt die gesamte Breite des Containers aus */
    height: auto; /* Die Höhe passt sich proportional an */
    display: block; /* Entfernt unnötige Abstände */
}

/* PeepSo */
/* Funktionalitäten ausblenden: Follower, Likes, Shares, Benachrichtigungseinstellungen, Werbebanner */
.ps-member__action.ps-member__action--follow,
.ps-focus__details.ps-js-focus-interactions,
.ps-members__filters-inner .ps-members__filter:nth-child(3),
.ps-member__details,
.ps-tabs__item--benachrichtigungen,
.ps-post__actions,
.ps-comment__action--like,
.ps-profile__progress,
.ps-profile__about-field-required,
#ps-no-more-posts,
#ps-no-posts,
div.peepso > div.ps-page--members > div.ps-alert,
#ps-activitystream > div:nth-last-child(-n+2):not(.ps-post) {
    display: none !important;
}

.ps-member__action.ps-member__action--message {
    border-bottom-left-radius: 9px;
    border-bottom-color: #91919d;    
}

.custom-member-links,
.custom-member-links a {
    font-size: 14px;
}

/* Buttons mit Popover-Hinweis auf Profilseite, dass Vor- und Nachname wegen einer Administrator-Einstellung öffentlich sind, entfernen */
.ps-profile__about-fields .ps-profile__about-field:nth-child(1) div.ps-profile__about-field-edit-item.ps-tip,
.ps-profile__about-fields .ps-profile__about-field:nth-child(2) div.ps-profile__about-field-edit-item.ps-tip {
    display: none;
}

/* Eingefügte Links zu Foodtracking und Notes unter Benutzernamen */
.skinny-island-user-links a[data-title]:first-child,
.ps-post__meta .skinny-island-user-links {
    display: none !important;
}

.skinny-island-user-links {
    margin-top: 5px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
    
.skinny-island-user-links a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: linear-gradient(135deg, #ff6b6b, #ffa500);
    color: white !important;
    text-decoration: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(255,107,107,0.2);
}

.skinny-island-user-links a:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(255,107,107,0.3);
    opacity: 0.9;
}

.si-motivation-link {
    background: linear-gradient(135deg, #ff6b6b, #ff8e53) !important;
}

.si-progress-link {
    background: linear-gradient(135deg, #4ecdc4, #44a08d) !important;
}

@media (max-width: 768px) {
    .skinny-island-user-links {
        margin-top: 3px;
    }
    
    .skinny-island-user-links a {
        font-size: 10px;
        padding: 3px 6px;
    }
}

/* Dafür sorgen, dass Textareas ihre Höhe bei :focus nicht mehr ändern */
textarea.ps-tagging-textarea,
textarea.ps-tagging-textarea:focus {
    min-height: 200px;
}

/* Ausblendung von Datumsangaben in den Profilkommentaren */
.ps-post__date,
.activity-post-age a{
    display: none;
}

.ps-post__privacy,
.ps-comment__action--reply {
    margin-left: 0 !important;
}

.ps-comment__actions {
    padding-left: 0 !important;
}

/* Anzeige des Passworts im PeepSo-Login-Formular (dies ist standardmäßig nicht vorhanden) */

/* Container für die Positionierung */
.ps-form__field.ps-js-password-field {
    position: relative;
}

/* Stil und Position des Icons */
.peepso-password-toggle {
    position: absolute;
    top: 50%;
    right: 15px; /* Abstand vom rechten Rand */
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px; /* Größe des Icons */
    color: #999;
}

/* Entfernt den Fokus-Outline, falls vorhanden */
.peepso-password-toggle:focus {
    outline: none;
    box-shadow: none;
}

/* Hover-Effekt für das Icon */
.peepso-password-toggle:hover {
    color: #555;
}

.ps-form--login .ps-js-password-field .peepso-password-toggle {
    display: inline-block !important;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    z-index: 100; /* Stellt sicher, dass das Icon über anderen Elementen liegt */
}

/* Erzwingt die Anzeige des Inhalts und die Farbe */
.ps-form--login .ps-js-password-field .peepso-password-toggle::before {
    content: "\f177" !important;
    font-family: Dashicons !important;
    font-size: 20px !important;
    color: #91919d !important;
}

/* Styling für das geschlossene Auge */
.ps-form--login .ps-js-password-field .peepso-password-toggle.dashicons-hidden::before {
    content: "\f530" !important; /* Korrekter Code für das geschlossene Auge */
    font-family: Dashicons !important;
    font-size: 20px !important;
    color: #91919d !important;
}

/* Box für "Zugang erforderlich"-Hinweise auf Community- und Profilseite */
.community-access-gate {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    max-width: 700px;
    margin: 40px auto;
}

.community-access-gate h2 {
    margin-top: 0;
    color: #333;
}

.community-access-gate p {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #555;
}