/*
Theme Name: Enfold Child - Sex am See
Theme URI: https://sex-am-see.de
Template: enfold
Author: Sex am See
Description: Enfold Child Theme für Sex am See
Version: 2.1
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== GLOBAL ===== */
body,h1,h2,h3,h4,h5,h6,p,a,span,li,input,textarea,button,select,.logo a,.avia-menu-text,.av-main-nav a,.avia_textblock { font-family: 'Inter', sans-serif !important; }
body, .avia_textblock p, .avia_textblock, #top .avia_textblock p { font-size: 1rem !important; line-height: 1.7 !important; }
h1,h2,h3,.av-special-heading .av-special-heading-tag,.entry-title { font-weight: 300 !important; text-transform: none !important; letter-spacing: normal !important; }
.av-special-heading .av-special-heading-tag { font-size: 1.875rem !important; color: #1c1917 !important; }
.alternate_color { background: #f6f7f4 !important; }

/* ===== HEADER ===== */
#header, #header_main, #header_main .container { height: 50px !important; min-height: 50px !important; max-height: 50px !important; }
#header_main_alternate, #header_main { overflow: visible !important; }
.avia-standard-logo, #header .main_menu { padding-top: 10px !important; }

/* ===== TEXT LOGO ===== */
.logo img { display: none !important; }
.logo .subtext {
    font-size: 18px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    line-height: 50px !important;
    color: #44403c !important;
}

.sas-header-transparent .logo .subtext { color: #fff !important; }
.header-scrolled .logo .subtext { color: #44403c !important; }

/* ===== NAV ===== */
.av-main-nav a, .avia-menu-text { text-transform: none !important; font-weight: 400 !important; font-size: .875rem !important; text-decoration: none !important; }
/* Remove ALL underlines */
#top .av-main-nav .menu-item a, #top .av-main-nav .menu-item a:hover, #top .av-main-nav .menu-item a:focus,
#top .av-main-nav .current-menu-item > a, #top .av-main-nav .current_page_item > a,
#top #header .av-main-nav .menu-item > a { text-decoration: none !important; border: none !important; border-bottom: none !important; }
#top .av-main-nav .avia-menu-text,
#top .av-main-nav > li > a .avia-menu-text,
#top .av-main-nav .current-menu-item > a .avia-menu-text,
#top .av-main-nav .current_page_item > a .avia-menu-text,
.av-main-nav .avia-menu-text { border-bottom: 0 none !important; border: none !important; text-decoration: none !important; }
#top .av-main-nav > li > a:after, #top .av-main-nav > li > a:before { display: none !important; }
.avia-menu-fx { background: none !important; }
/* Active item bolder */
.av-main-nav .current-menu-item > a, .av-main-nav .current_page_item > a { font-weight: 500 !important; }
/* Kontakt pill */
.menu-item-top-level-6 > a { display: inline-flex !important; align-items: center !important; line-height: 1 !important; padding: 8px 20px !important; }
.home .menu-item-top-level-6 > a { background: rgba(255,255,255,.2) !important; color: #fff !important; border-radius: 999px !important; backdrop-filter: blur(4px) !important; }
.home #header.header-scrolled .menu-item-top-level-6 > a { background: #5f6e4c !important; color: #fff !important; }
.page-template-default:not(.home) .menu-item-top-level-6 > a { background: #5f6e4c !important; color: #fff !important; border-radius: 999px !important; }
/* Hide search, hamburger, scroll-to-top */
.av-main-nav .av-search-icon, .header_searchicon, #menu-item-search, .av-main-nav .av_menu_item_search,
.av-main-nav .av-hamburger, .av-main-nav li.av-burger-overlay-active, #top .av-main-nav .av-burger-overlay-active,
.av-main-nav .menu-item-search-dropdown, .av-burger-overlay, #av-burger-menu-ul { display: none !important; }
#top #wrap_all .av-main-nav .av-hamburger, #top .av-main-nav .av-hamburger-fixed { display: none !important; }
#header .av-main-nav .av_menu_item_search { display: none !important; }
#scroll-top-link, .avia-scrolltop-el, a#scroll-top-link { display: none !important; }

/* ===== STARTPAGE HERO ===== */

.home #main { padding-top: 0 !important; margin-top: 0 !important; }
.home .av-content-full { padding-top: 0 !important; }
.home .container_wrap_first { margin-top: 0 !important; padding-top: 0 !important; }
.home .container_wrap { margin-top: 0 !important; padding-top: 0 !important; }
.home .av-hero { margin-top: -50px !important; padding-top: 50px !important; }
.av-hero .av-section-cont-open { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 100vh !important; }
.av-hero .template-page { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; }
.av-hero .post-entry { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; }
.av-hero .entry-content-wrapper { max-width: 42rem !important; text-align: center !important; }
#av_section_1 .avia_textblock h1, .av-hero .avia_textblock h1 { color: #fff !important; font-size: 3.5rem !important; font-weight: 300 !important; line-height: 1.1 !important; text-shadow: 0 2px 20px rgba(0,0,0,.3) !important; }
@media(max-width:767px) { #av_section_1 .avia_textblock h1 { font-size: 2.25rem !important; } }
.av-hero .avia-button.avia-color-light { background: #fff !important; color: #3d4633 !important; border: none !important; }
.av-hero .avia-button.avia-color-theme-color-subtle { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.4) !important; }

/* ===== SECTIONS ===== */
.avia-section { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.av-section-cont-open { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.avia-section-huge .content, .avia-section-huge .sidebar { padding-bottom: 0 !important; }
#av_section_2 .av-content-full { padding-bottom: 0px !important; }

/* ===== BUTTONS ===== */
.avia-button { border-radius: 999px !important; font-weight: 500 !important; text-transform: none !important; }

/* ===== NINJA FORMS ===== */
.nf-form-title h3, .nf-form-title { display: none !important; }
.nf-before-form-content, .nf-form-fields-required { display: none !important; }
nf-fields-wrap, .nf-form-content, .nf-form-content > nf-fields-wrap { display: block !important; width: 100% !important; }
nf-field:has(.lastname-container) { float: left !important; width: 48% !important; margin-right: 4% !important; }
nf-field:has(.email-container) { float: left !important; width: 48% !important; }
nf-fields-wrap > nf-field:nth-child(1) { float: left !important; width: 48% !important; margin-right: 4% !important; }
nf-fields-wrap > nf-field:nth-child(2) { float: left !important; width: 48% !important; }
nf-fields-wrap > nf-field:nth-child(3) { clear: both !important; }
nf-field .nf-field-container { width: 100% !important; }
nf-field .nf-field-element input, nf-field .nf-field-element textarea { width: 100% !important; box-sizing: border-box !important; }
.checkbox-container { clear: both !important; display: block !important; width: 100% !important; }
.checkbox-container .nf-field-element { display: flex !important; align-items: flex-start !important; gap: 0.5rem !important; }
.nf-field-container input[type=text], .nf-field-container input[type=email], .nf-field-container textarea, .ninja-forms-field {
    border: 1px solid #e7e5e4 !important; border-radius: 4px !important; padding: 12px 16px !important;
    font-size: 0.875rem !important; background: #fff !important; color: #44403c !important; font-family: 'Inter', sans-serif !important;
}
.ninja-forms-field:focus { border-color: #95a37e !important; outline: none !important; box-shadow: none !important; }
.ninja-forms-field::placeholder { color: #a8a29e !important; opacity: 1 !important; }
.checkbox-container .nf-field-label, .checkbox-container .nf-field-label label { font-size: 0.75rem !important; color: #a8a29e !important; font-weight: normal !important; }
.nf-field-container .ninja-forms-field[type=button], .submit-container .ninja-forms-field {
    width: 100% !important; background: #5f6e4c !important; color: #fff !important; border: none !important;
    border-radius: 4px !important; padding: 12px !important; font-weight: 500 !important; font-size: 0.875rem !important;
    cursor: pointer !important; font-family: 'Inter', sans-serif !important;
}
.submit-container .ninja-forms-field:hover { background: #4b573d !important; }
.nf-error-msg, .nf-after-field .nf-error-wrap { display: none; }
.nf-field-container { margin-bottom: 12px !important; }

/* ===== FORM INPUTS GLOBAL ===== */
#top .input-text, #top input[type=email], #top input[type=input], #top input[type=number], #top input[type=password], #top input[type=search], #top input[type=tel], #top input[type=text], #top input[type=url], #top select, #top textarea { margin-bottom: 0 !important; }

/* ===== FOOTER ===== */
#footer { display: none !important; }
.socket_color { font-size: .8rem; padding: 2.5rem 0 !important; }
#socket .container, .socket_color .container { display: flex !important; justify-content: space-between !important; align-items: center !important; max-width: 64rem !important; margin: 0 auto !important; padding: 0 1.5rem !important; }
.socket_color .copyright { display: flex !important; width: 100% !important; align-items: center !important; }
.socket_color .copyright > span:nth-child(2) { margin-left: auto !important; }
.socket_color a { color: #b4bfa3 !important; text-decoration: none !important; }
.socket_color a:hover { color: #fff !important; }
.avia-theme-info, .av-copyright .avia-theme-info, .av-copyright .theme-info, #socket .avia-theme-info { display: none !important; }
.copyright a[href*='kriesi'] { display: none !important; }

/* ===== INFO BOXES ===== */
.avia_textblock div[style*='border-radius'] ul { list-style: disc !important; padding-left: 1.5rem !important; }
.avia_textblock div[style*='border-radius'] li { margin-bottom: .5rem; font-size: .875rem; color: #57534e; }

/* ===== SUBPAGES ===== */
.page-template-default:not(.home) .av-content-full { padding-top: 30px !important; }
/* Content narrow, but footer and quote sections stay full-width */
.page-template-default:not(.home) .container_wrap_first .container { max-width: 900px !important; margin-left: auto !important; margin-right: auto !important; }
/* Footer full width */
.page-template-default:not(.home) #socket { width: 100% !important; }

/* ===== MISSION ICONS ===== */
.sas-mission-icon { width: 3.5rem; height: 3.5rem; border: 1px solid #95a37e; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; }
.sas-mission-icon svg { width: 1.5rem; height: 1.5rem; color: #d3d9c8; fill: none; stroke: currentColor; }

/* ===== CONTACT ICONS ===== */
.sas-contact-icon { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem; font-size: 0.875rem; color: #78716c; }
.sas-contact-icon svg { width: 1.25rem; height: 1.25rem; color: #7a8a63; flex-shrink: 0; margin-top: 0.125rem; fill: none; stroke: currentColor; }

/* ===== NAV LINK HEIGHT FIX ===== */
/* Enfold sets line-height:88px on nav links - override to match 50px header */
#top #header .av-main-nav > li > a,
#top .av-main-nav > li > a {
    line-height: 50px !important;
    height: 50px !important;
}
/* Kontakt pill: auto height, not stretched */
#top #header .av-main-nav > .menu-item-top-level-6 > a,
#top .av-main-nav > .menu-item-top-level-6 > a {
    line-height: 1 !important;
    height: auto !important;
}

/* ===== MENU ALIGNMENT FIX ===== */
/* Logo and menu on same baseline */
.avia-standard-logo { padding-top: 0 !important; }
#header .main_menu { padding-top: 0 !important; }
/* All nav items centered in 50px header */
#top #header_main .av-main-nav > li > a {
    display: flex !important;
    align-items: center !important;
}

/* Kontakt pill - scrolled state (dark bg, not transparent) */
.home .menu-item-top-level-6 > a { background: rgba(255,255,255,.2) !important; color: #fff !important; }
.home #header:not(.sas-header-transparent) .menu-item-top-level-6 > a { background: #5f6e4c !important; color: #fff !important; }

/* Menu text colors based on scroll state */
.sas-header-transparent .av-main-nav > li > a { color: rgba(255,255,255,0.8) !important; }
#header:not(.sas-header-transparent) .logo .subtext { color: #44403c !important; }
#header:not(.sas-header-transparent) .av-main-nav > li:not(.menu-item-top-level-6) > a { color: #44403c !important; }

/* Kontakt pill vertically centered */
#top #header .av-main-nav > li.menu-item-top-level-6 {
    display: flex !important;
    align-items: center !important;
    height: 50px !important;
}

/* Kontakt text white on all pages (pill has dark bg) */
.page-template-default .menu-item-top-level-6 > a,
.page-template-default .menu-item-top-level-6 > a .avia-menu-text,
#header:not(.sas-header-transparent) .menu-item-top-level-6 > a .avia-menu-text {
    color: #fff !important;
}

/* Kontakt pill text always white (dark bg on all pages) */
#top .menu-item-top-level-6 > a,
#top .menu-item-top-level-6 > a .avia-menu-text { color: #fff !important; }

/* Hide the " - " separator before Kriesi credit */
.socket_color .copyright { font-size: 0 !important; }
.socket_color .copyright > * { font-size: 0.8rem !important; }

/* ===== NINJA FORMS LIVE FIX ===== */
/* Hide ALL field labels (use placeholders) */
.nf-field-label, .nf-field-container .nf-field-label { display: none !important; }
/* But show checkbox label */
.checkbox-container .nf-field-label { display: block !important; }

/* Name + Email side by side - use class selectors that work on any NF instance */
.textbox-container, .email-container { display: inline-block !important; width: 48% !important; vertical-align: top !important; box-sizing: border-box !important; }
.textbox-container { margin-right: 4% !important; }
.textarea-container, .checkbox-container, .submit-container { display: block !important; width: 100% !important; clear: both !important; }

/* Also fix via nf-field parent elements */
nf-fields-wrap > nf-field:first-child { float: left !important; width: 48% !important; margin-right: 4% !important; }
nf-fields-wrap > nf-field:nth-child(2) { float: left !important; width: 48% !important; }
nf-fields-wrap > nf-field:nth-child(3) { clear: both !important; }