/*
Theme Name:   Sportbiz
Template:     hello-elementor
Author:       eminiarts.ch
Author URI:   https://eminiarts.ch
*/

/* Custom styles for Marktdaten und Studien page */
.page-id-16685 h3.elementor-heading-title {
    color: #E30613 !important;
    font-size: 32px !important;
    font-weight: 600 !important;
}

/* Change accordion link colors to black */
body .page-id-16685 a.elementor-toggle-title,
body .page-id-16685 .elementor-toggle .elementor-toggle-title,
body .page-id-16685 .elementor-tab-title a,
body .page-id-16685 .elementor-accordion-title,
body .page-id-16685 .elementor-toggle-content a {
    color: #000000 !important;
}

/* Hover state for accordion links */
body .page-id-16685 a.elementor-toggle-title:hover,
body .page-id-16685 .elementor-toggle-title:hover,
body .page-id-16685 .elementor-tab-title:hover {
    color: #333333 !important;
}

/* News & Events Archive Grid - H2 Title Sizing */
.news-archive-container .news-card h2,
.events-archive-container .event-card h2 {
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

@media (max-width: 1024px) {
    .news-archive-container .news-card h2,
    .events-archive-container .event-card h2 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
}

@media (max-width: 768px) {
    .news-archive-container .news-card h2,
    .events-archive-container .event-card h2 {
        font-size: 16px !important;
        line-height: 1.3 !important;
    }
}

/* Footer H3 Typography - Small Label Style */
/* Using smaller size (18px) for footer section headers */
footer h3,
footer .elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

/* Tablet: 17px */
@media (min-width: 768px) and (max-width: 1024px) {
    footer h3,
    footer .elementor-heading-title {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }
}

/* Mobile: 16px */
@media (max-width: 767px) {
    footer h3,
    footer .elementor-heading-title {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }
}

/* Marktdaten und Studien - Accordion Title Sizing */
/* Reduce accordion titles from 48px to 22px (H4 size per style guide) */
.page-id-16685 .elementor-toggle-title,
.page-id-16685 .elementor-accordion .elementor-tab-title,
.page-id-16685 .elementor-accordion-title {
    font-size: 22px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

/* Tablet: 20px */
@media (max-width: 1024px) {
    .page-id-16685 .elementor-toggle-title,
    .page-id-16685 .elementor-accordion .elementor-tab-title,
    .page-id-16685 .elementor-accordion-title {
        font-size: 20px !important;
        line-height: 1.4 !important;
    }
}

/* Mobile: 18px */
@media (max-width: 768px) {
    .page-id-16685 .elementor-toggle-title,
    .page-id-16685 .elementor-accordion .elementor-tab-title,
    .page-id-16685 .elementor-accordion-title {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }
}

/* Homepage News, Events & Advertisements - Card H2 Sizing */
/* Reduce card titles from 36px to 20px for better hierarchy */
.home h2.text-xl,
.home .news-card h2,
.home .event-card h2,
.home .advertisement-card h2,
.home h2.line-clamp-3,
.home h2.line-clamp-2 {
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

/* Tablet: 18px */
@media (max-width: 1024px) {
    .home h2.text-xl,
    .home .news-card h2,
    .home .event-card h2,
    .home .advertisement-card h2,
    .home h2.line-clamp-3,
    .home h2.line-clamp-2 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
}

/* Mobile: 16px */
@media (max-width: 768px) {
    .home h2.text-xl,
    .home .news-card h2,
    .home .event-card h2,
    .home .advertisement-card h2,
    .home h2.line-clamp-3,
    .home h2.line-clamp-2 {
        font-size: 16px !important;
        line-height: 1.3 !important;
    }
}

/* Stellenmarkt (Job Advertisements) - H2 Title Sizing */
/* Reduce job card titles to H4 size (22px) for better hierarchy */
body.post-type-archive-advertisement h2.text-xl,
body.post-type-archive-advertisement h2.line-clamp-2,
body.post-type-archive-advertisement h2.line-clamp-3,
body.archive.post-type-archive-advertisement h2.font-bold,
.post-type-archive-advertisement .text-xl.font-bold {
    font-size: 22px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

/* Tablet: 20px */
@media (max-width: 1024px) {
    body.post-type-archive-advertisement h2.text-xl,
    body.post-type-archive-advertisement h2.line-clamp-2,
    body.post-type-archive-advertisement h2.line-clamp-3,
    body.archive.post-type-archive-advertisement h2.font-bold,
    .post-type-archive-advertisement .text-xl.font-bold {
        font-size: 20px !important;
        line-height: 1.4 !important;
    }
}

/* Mobile: 18px */
@media (max-width: 768px) {
    body.post-type-archive-advertisement h2.text-xl,
    body.post-type-archive-advertisement h2.line-clamp-2,
    body.post-type-archive-advertisement h2.line-clamp-3,
    body.archive.post-type-archive-advertisement h2.font-bold,
    .post-type-archive-advertisement .text-xl.font-bold {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }
}

/* Markenindex Page - H2 Title Sizing */
/* Reduce h2.markenindex-title to 1.2rem specifically for /markenindex page */
h2.markenindex-title,
body h2.markenindex-title,
.markenindex-card h2.markenindex-title,
.elementor-widget-heading h2.markenindex-title {
    font-size: 1.2rem !important;
    line-height: 1.3 !important;
}

/* List Styling for Elementor Content - Override Tailwind Reset */
.elementor .elementor-widget-text-editor ul:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]),
.elementor .elementor-widget-container ul:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]),
.elementor .elementor-text-editor ul:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]),
.elementor .elementor-widget-theme-post-content ul:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]) {
    list-style-type: disc !important;
    padding-left: 1.5rem !important;
    margin-bottom: 1rem !important;
}

.elementor .elementor-widget-text-editor ol:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]),
.elementor .elementor-widget-container ol:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]),
.elementor .elementor-text-editor ol:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]),
.elementor .elementor-widget-theme-post-content ol:not([class*="menu"]):not([class*="nav"]):not([class*="dropdown"]) {
    list-style-type: decimal !important;
    padding-left: 1.5rem !important;
    margin-bottom: 1rem !important;
}

.elementor .elementor-widget-text-editor li,
.elementor .elementor-widget-container li:not([class*="menu"]):not([class*="nav"]),
.elementor .elementor-text-editor li,
.elementor .elementor-widget-theme-post-content li {
    margin-bottom: 0.5rem !important;
    margin-left: 0.25rem !important;
}

/* Nested list styling */
.elementor .elementor-widget-text-editor ul ul,
.elementor .elementor-widget-container ul ul,
.elementor .elementor-text-editor ul ul {
    list-style-type: circle !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    padding-left: 1.5rem !important;
}

.elementor .elementor-widget-text-editor ol ol,
.elementor .elementor-widget-container ol ol,
.elementor .elementor-text-editor ol ol {
    list-style-type: lower-alpha !important;
    padding-left: 1.5rem !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Membership Form - Two Column Layout */
.membership-row {
    display: flex;
    gap: 30px;
    margin: 30px 0;
    width: 100%;
}

.membership-col-1,
.membership-col-2 {
    flex: 1;
    min-width: 0;
}

/* Ensure fields within columns are full width */
.membership-col-1 .elementor-field-group,
.membership-col-2 .elementor-field-group {
    width: 100% !important;
}

/* Remove default column sizing from Elementor when inside membership columns */
.membership-col-1 .elementor-col-100,
.membership-col-2 .elementor-col-100 {
    width: 100% !important;
    flex: 0 0 100% !important;
}

/* Style employee fields with inline layout */
.membership-col-1 .elementor-field-group,
.membership-col-2 .elementor-field-group {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 12px !important;
}

/* Label styling for inline layout */
.membership-col-1 .elementor-field-label,
.membership-col-2 .elementor-field-label {
    flex: 1 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* Input field styling - fixed width on right */
.membership-col-1 input[type="number"],
.membership-col-2 input[type="number"] {
    width: 100px !important;
    max-width: 100px !important;
    min-width: 100px !important;
    flex-basis: content !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    text-align: center !important;
    margin: 0 !important;
}

/* Responsive: Stack on mobile */
@media (max-width: 768px) {
    .membership-row {
        flex-direction: column;
        gap: 20px;
    }

    /* Keep inline layout even on mobile, but reduce input width */
    .membership-col-1 input[type="number"],
    .membership-col-2 input[type="number"] {
        width: 80px !important;
        max-width: 80px !important;
        min-width: 80px !important;
    }

    .membership-col-1 .elementor-field-label,
    .membership-col-2 .elementor-field-label {
        font-size: 13px !important;
    }
}

/* Calculated/Readonly Fields Styling */
.calculated-field-readonly,
input.calculated-field-readonly,
#form-field-total_employees,
#form-field-total_contribution,
#form-field-membership_fee {
    background-color: #f5f5f5 !important;
    color: #666 !important;
    cursor: not-allowed !important;
    border-color: #ddd !important;
    font-weight: 600 !important;
}

/* Prevent number input spinners on calculated fields */
.calculated-field-readonly::-webkit-outer-spin-button,
.calculated-field-readonly::-webkit-inner-spin-button,
#form-field-total_employees::-webkit-outer-spin-button,
#form-field-total_employees::-webkit-inner-spin-button,
#form-field-total_contribution::-webkit-outer-spin-button,
#form-field-total_contribution::-webkit-inner-spin-button,
#form-field-membership_fee::-webkit-outer-spin-button,
#form-field-membership_fee::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.calculated-field-readonly,
#form-field-total_employees,
#form-field-total_contribution,
#form-field-membership_fee {
    -moz-appearance: textfield;
}

/* Style the label for calculated fields */
label[for="form-field-total_employees"],
label[for="form-field-total_contribution"],
label[for="form-field-membership_fee"] {
    font-weight: 600 !important;
    color: #2C2C2C !important;
}

/* Hide WPML Language Switcher */
.language-switcher,
#lang-switcher {
    display: none !important;
}
