/* 
Theme Name: Thema Praktijk Dom
Theme URI: https://praktijkdom.nl
Description: Based on Hello theme for Elementor
Author: Tristan Riethorst
Author URI: https://bytris.nl
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
div.wpforms-container-full .wpforms-form h3 {
    font-family: var(--e-global-typography-0a96874-font-family), Sans-serif!important;
    font-size: 2rem!important;
    font-weight: 400!important;
    letter-spacing: var(--e-global-typography-0a96874-letter-spacing)!important;
    color:#000!important;
}
div.wpforms-container-full .wpforms-form .checkbox-label h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.wpforms-form .sectie {
    margin-top:10px!important;
}
div.wpforms-container-full .wpforms-form textarea.wpforms-field-small {
    min-height:30px!important;
}
/* =========================================
   WPForms – Global Enforced Field Styling
   (Headings explicitly excluded)
   ========================================= */

/* TEXT INPUTS, TEXTAREAS, SELECTS */
.wpforms-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.wpforms-form textarea,
.wpforms-form select {
    background-color: #ffffff !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #69727d !important;
    border-radius: 0 !important;

    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-weight: var(--e-global-typography-text-font-weight) !important;
    line-height: var(--e-global-typography-text-line-height) !important;
    letter-spacing: var(--e-global-typography-text-letter-spacing) !important;
    font-size: 15px !important;

    padding: 10px 12px !important;
    box-sizing: border-box !important;
}

/* CHECKBOX & RADIO INPUTS (CUSTOM BOX STYLE) */
.wpforms-form input[type=checkbox],
.wpforms-form input[type=radio] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    width: 18px !important;
    height: 18px !important;
    border: 1px solid #69727d !important;
    background-color: #ffffff !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    vertical-align: middle !important;
}

/* CHECKED STATE */
.wpforms-form input[type=checkbox]:checked::after,
.wpforms-form input[type=radio]:checked::after {
    content: "" !important;
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    width: 10px !important;
    height: 10px !important;
    background-color: #333 !important;
}

/* LABELS (NOT HEADINGS) */
.wpforms-form .wpforms-field-label,
.wpforms-form .wpforms-field-label-inline {
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-weight: 400 !important;
    line-height: var(--e-global-typography-text-line-height) !important;
    letter-spacing: var(--e-global-typography-text-letter-spacing) !important;
    font-size: 16px !important;
    color:#000!important;
}

/* TEXTAREA HEIGHT NORMALIZATION */
.wpforms-form textarea {
    min-height: 140px !important;
    resize: vertical !important;
}

/* FOCUS STATE (CONSISTENT & ACCESSIBLE) */
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
    outline: none !important;
    border-color: #69727d !important;
}
/* =========================================
   SELECT FIELD – SELECTED VALUE COLOR
   ========================================= */

/* Selected value inside select */
.wpforms-form select {
    color: #348f61 !important;
}

/* Disabled / placeholder option (if used) */
.wpforms-form select option[value=""],
.wpforms-form select option:disabled {
    color: #999 !important;
}

/* =========================================
   FIELD DESCRIPTIONS (HELP TEXT)
   ========================================= */

.wpforms-form .wpforms-field-description {
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    line-height: var(--e-global-typography-text-line-height) !important;
    letter-spacing: var(--e-global-typography-text-letter-spacing) !important;
    font-size: 16px !important;
    color: #000 !important;
    margin-top: 6px !important;
    line-height: 25px !important;
    font-weight: 300 !important;
}


.intake-form-button {
        background-color: var(--e-global-color-primary)!important;
    color: var(--e-global-color-accent)!important;
    padding: 5px 10px!important;
    text-transform: lowercase!important;
    border: none!important;
}
@media (min-width: 1024px) {
    .description .wpforms-field-description {
        width: 70%!important;
        box-sizing: border-box!important;
    }
}
.elementor-element p {
    line-height:25px!important;
}

.elementor-element .intro_text p {
    line-height:30px!important;
}
.elementor-element p a, .elementor-element span a {
    color:inherit!important;
    text-decoration:underline!important;
}

/* No link style */
.elementor-element .no-link-style a {
    color:inherit!important;
    text-decoration:none!important;
    font-weight:inherit!important;
}

/* Contact card */
.contact-card-icon {
    height:14px;
    margin-right:10px;
}

/* Reset list styling */
.therapieen-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Remove list-item display and spacing */
.therapieen-menu__item {
    display: block; /* NOT list-item */
    margin-bottom:10px;
    padding: 0;
}

/* Link styling */
.therapieen-menu__item a {
    display: inline-block;

    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    letter-spacing: var(--e-global-typography-text-letter-spacing);

    color: var(--e-global-color-accent);
    fill: var(--e-global-color-accent);

    padding: 0;
    margin: 0;

    text-decoration: none;
}

/* Anchor margin */
.anchor {
    scroll-margin-top:75px;
}

/* Contact page long title fix*/
@media (max-width: 480px) {
.elementor-element-5159ef8 .elementor-heading-title {
    line-height:35px!important;
}
}


/* Logo styling */
.logo span a {
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 22px!important;;
}

/* Img adjustment for contact cards */
.contact_card .elementor-widget-image img {
    height:150px;
    width:auto;
    float:left;
}

/* Therapeuten List Styling */
.therapeuten-list p {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    letter-spacing: var(--e-global-typography-text-letter-spacing);
    color: var(--e-global-color-text);
}

.therapeuten-list p a {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    letter-spacing: var(--e-global-typography-text-letter-spacing);
    color: var(--e-global-color-text);
}

/* Therapeuten Cards Styling */
.therapeuten-cards-container {
    margin: 20px 0;
}

.therapeut-card {
    display: flex;
    align-items: flex-start;
    background: #ffffff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.24);
    margin: 20px 0;
    padding: 20px;
    gap: 20px;
    min-height: 180px;
}

.therapeut-card:first-child {
    margin-top: 0;
}

.therapeut-card:last-child {
    margin-bottom: 0;
}

/* Left Column - Image */
.therapeut-image-column {
    flex: 0 0 150px;
    display: flex;
    align-items: flex-start;
}

.therapeut-image-column .therapeut-photo {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 180px;
}

.therapeut-photo-placeholder {
    width: 100%;
    height: 150px;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
}

.therapeut-photo-placeholder::before {
    content: "Geen foto";
}

/* Center Column - Info */
.therapeut-info-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-right: 20px;
}

.therapeut-name {
    margin: 0 0 10px 0;
}

.therapeut-werkdagen {
    margin: 0 0 15px 0;
}

.meer-info-link {
    display: inline-block;
    margin-bottom: 15px;
    color:inherit;
}
.meer-info-link:hover {
    color:inherit;
}

.online-agenda-button {
    font-size: 18px !important;
    font-weight: 300 !important;
    text-transform: lowercase;
    fill: var(--e-global-color-primary);
    color: #fff;
    border-radius: 0px 0px 0px 0px !important;
    padding: 2px 10px 2px 10px !important;
    width: fit-content !important;
    background-color: var(--e-global-color-primary);
}
.online-agenda-button:hover {
    color:#fff!important;
}

/* Right Column - Contact */
.therapeut-contact-column {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 12px;
}

.contact-item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.contact-text {
    text-align: right;
}

.website-item {
    margin-top: 5px;
}

.website-item a {
    color:inherit!important;
    text-decoration:underline!important;
}
.website-item a:hover {
    color:inherit;

}

.website-link {
    text-decoration: underline !important;
    text-align: right;
}

/* Tablet Styles */
@media (max-width: 1024px) {
    .therapeut-card {
        padding: 15px;
        gap: 15px;
    }
    
    .therapeut-image-column {
        flex: 0 0 120px;
    }
    
    .therapeut-contact-column {
        flex: 0 0 220px;
    }
}

/* Mobile Styles */
@media (max-width: 768px) {
    .therapeut-card {
        flex-direction: column;
        text-align: left;
        padding: 20px;
        gap: 15px;
    }
    
    /* Order: 1. Photo */
    .therapeut-image-column {
        flex: none;
        align-self: flex-start;
        width: 150px;
        order: 1;
        margin-bottom: 0px;
    }
    
    /* Order: 2. Name and Working Days */
    .therapeut-info-column {
        flex: none;
        padding-right: 0;
        text-align: left;
        order: 2;
        display: flex;
        flex-direction: column;
    }
    
    .therapeut-name {
        text-align: left;
        order: 1;
        margin-bottom: 10px;
    }
    
    .therapeut-werkdagen {
        text-align: left;
        order: 2;
        margin-bottom:0px!important;
    }
    
    .meer-info-link {
        text-align: left;
        display: block;
        margin-bottom: 10px;
        order: 4;
    }
    
    .online-agenda-button {
        align-self: flex-start;
        margin-bottom: 0;
        order: 5;
    }
    
    /* Order: 3. Contact Info (Phone, Email, Website) */
    .therapeut-contact-column {
        flex: none;
        align-items: flex-start;
        text-align: left;
        width: 100%;
        order: 3;
        display: flex;
        flex-direction: column;
        gap: 0px;
    }
    
    .contact-item {
        justify-content: flex-start;
        flex-direction: row;
        margin-bottom: 5px;
    }
    
    .contact-item:last-child {
        margin-bottom: 0;
    }
    
    .contact-text,
    .website-link {
        text-align: left;
    }
    
    .website-item {
        margin-top: 0;
    }
    
    /* Order: 4. Online Agenda Button (moved to end) */
    .therapeut-card .online-agenda-button {
        order: 4;
        margin-top: 10px;
        align-self: flex-start;
    }
}

/* Small Mobile Styles */
@media (max-width: 480px) {
    .therapeut-card {
        margin: 15px 0;
        padding: 15px;
    }
    
    .therapeut-image-column {
        width: 120px;
    }
    
    .contact-item {
        gap: 8px;
    }
    
    .contact-icon {
        width: 16px;
        height: 16px;
    }
}

/* Print Styles */
@media print {
    .therapeut-card {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
        margin-bottom: 20px;
    }
    
    .online-agenda-button {
        display: none;
    }
}

/* =========================================
   SUBMENU STYLING FOR CUSTOM POST TYPES
   ========================================= */

/* Submenu container */
.sub-menu {
    background-color: #ffffff !important;
    min-width: 10em !important;
    max-width: 1000px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Align submenu with first letter of parent item */
.sub-menu {
    left: 0 !important;
    margin-left: 0 !important;
}

/* Submenu items */
.sub-menu .menu-item {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Submenu links */
.sub-menu .menu-item a {
    display: block !important;
    padding: 12px 20px !important;
    color: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    font-weight: 500 !important;
}

/* Ensure submenu inherits text color from parent */
.sub-menu,
.sub-menu .menu-item,
.sub-menu .menu-item a {
    color: inherit !important;
}