/*
Theme Name: Hello Elementor Child - Focus Aanmelden
Theme URI: https://focusopjetoekomst.nl/
Description: Exacte Ave Theme replica voor Focus Beroepsacademie Aanmelden
Author: Antigravity
Template: hello-elementor
Version: 1.2.0
*/

/* Reset & Box Sizing */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body {
    font-family: 'Roboto', sans-serif;
    color: #000000;
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
}

#page,
.site,
.site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html[lang],
body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


#wrap {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main.content {
    flex: 1 0 auto;
}

/* Container & Grid (Ave / Bootstrap equivalent) */
.container {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.align-items-center {
    align-items: center;
}

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

.col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
    padding-left: 15px;
    padding-right: 15px;
}

.col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
    padding-left: 15px;
    padding-right: 15px;
}

.col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
    padding-left: 15px;
    padding-right: 15px;
}

/* ====================================================
   HEADER - EXACTE AVE THEME STIJL
==================================================== */
.header.site-header.main-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.secondarybar-wrap {
    height: 15px;
}

.mainbar-wrap {
    position: relative;
}

.navbar-brand {
    padding-top: 30px;
    padding-right: 0px;
    padding-bottom: 30px;
    padding-left: 0px;
    display: inline-block;
}

.navbar-brand img.logo-default {
    height: 48px;
    width: auto;
    max-width: 100%;
    display: block;
}

/* Button 'Terug naar de website' */
.ld_header_button.ld_button_69c5bec650a5c,
.btn.btn-default.text-uppercase.btn-bordered {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: #181b31 !important;
    background-color: transparent !important;
    border: 2px solid #181b31 !important;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.ld_header_button:hover,
.btn.btn-default.text-uppercase.btn-bordered:hover {
    background-color: #181b31 !important;
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .col-sm-6 {
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center;
    }
    .button-col {
        margin-top: 15px;
        margin-bottom: 20px;
    }
    .text-right {
        text-align: center;
    }
}

/* ====================================================
   PAGINA TITEL & BLAUWE INSTRUCTIEBOX (#009ac7)
==================================================== */
.aanmeld-intro-title {
    margin-top: 20px;
    margin-bottom: 25px;
}

.aanmeld-intro-title h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #000000;
    margin: 0;
    letter-spacing: 0.02em;
}

.focus-steps-box {
    background-color: #009ac7 !important;
    padding: 60px 45px !important;
    margin-bottom: 50px;
    color: #ffffff !important;
}

.focus-steps-box h2 {
    font-family: 'Poppins', sans-serif;
    color: #ffffff !important;
    font-size: 26px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 20px;
}

.focus-steps-box p,
.focus-steps-box ol li {
    font-size: 15px;
    line-height: 1.8;
    color: #ffffff !important;
}

.focus-steps-box ol {
    margin-left: 20px;
    padding-left: 0;
}

/* ====================================================
   FOOTER - EXACTE REPLICA (#009ac7 & LAYOUT)
==================================================== */
.main-footer.site-footer {
    margin-top: 80px;
    background-color: #009ac7;
    color: #ffffff;
}

.vc_custom_1696432689926 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    background-color: #009ac7 !important;
}

.footer-col-text .wpb_wrapper p {
    color: #ffffff !important;
    font-size: 15px;
    line-height: 1.8;
    margin-top: 0;
    margin-bottom: 20px;
}

.footer-collab-title {
    margin-top: 15px;
    margin-bottom: 10px;
}

.footer-collab-title p {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}

.groen-college-logo-wrap img,
img.vc_single_image-img {
    max-width: 280px;
    height: auto;
    display: block;
}

.footer-col-map iframe {
    width: 100%;
    min-height: 350px;
    border: 0;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

@media (max-width: 991px) {
    .col-md-5,
    .col-md-7 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .footer-col-map {
        margin-top: 30px;
    }
}

/* ====================================================
   WOOCOMMERCE PRODUCT GRID & HACKS VOOR GRATIS SITE
==================================================== */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 30px 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product {
    margin: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    padding: 0 0 20px 0 !important;
    text-align: center !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    text-decoration: none !important;
    color: #181b31 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Vaste weergave voor alle afbeeldingen: 100% passend, geen zoom of uitsnijding */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important; /* Past de volledige afbeelding in de kaart zonder zoom of uitsnede */
    display: block !important;
    margin: 0 auto !important;
    border-radius: 8px 8px 0 0 !important;
}

.woocommerce-loop-product__title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #181b31 !important;
    margin: 18px 15px 12px 15px !important;
    line-height: 1.35 !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Knoppen altijd strak onderaan gecentreerd */
.woocommerce ul.products li.product a.button {
    align-self: center !important;
    display: inline-block !important;
    background-color: #009ac7 !important;
    color: #ffffff !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    margin: 10px 15px 0 15px !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.woocommerce ul.products li.product a.button:hover {
    background-color: #007fa5 !important;
    transform: scale(1.02) !important;
}

.woocommerce ul.products li.product a.button.is-fully-booked {
    background-color: #94a3b8 !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
    opacity: 0.8 !important;
}

.woocommerce ul.products li.product a.button.is-fully-booked:hover {
    background-color: #94a3b8 !important;
    transform: none !important;
}

@media (max-width: 991px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Verbergen van overbodige prijs-elementen */
p.price,
.price,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
#booking_price_text,
th.product-total,
td.product-total,
.woocommerce-checkout-review-order tfoot,
.single-product .quantity {
    display: none !important;
}

/* ====================================================
   INTERACTIVE BOOKING CALENDAR & TIJDSLOT WEERGAVE (#009ac7)
   Exacte look & feel van de live PluginHive kalender
==================================================== */
.focus-booking-container {
    margin: 25px 0;
    max-width: 480px;
}

.ph-calendar-wrapper {
    background: #009ac7;
    border-radius: 6px;
    padding: 24px;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(0, 154, 199, 0.2);
}

.ph-calendar-header {
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: capitalize;
    letter-spacing: 0.03em;
}

.ph-calendar-body {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 20px;
}

.ph-calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 12px;
    opacity: 0.9;
}

.ph-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    text-align: center;
}

.ph-calendar-days .day {
    padding: 10px 0;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    cursor: default;
}

.ph-calendar-days .day.disabled {
    opacity: 0.35;
    background: transparent;
}

.ph-calendar-days .day.active-event {
    background: #ffffff;
    color: #009ac7;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    font-weight: 700;
    transform: scale(1.05);
}

.ph-event-date-badge {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 6px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.ph-event-date-badge .ph-date-icon {
    font-size: 20px;
}

.ph-event-date-badge .ph-month-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.02em;
}

.ph-slots-label {
    display: block;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #ffffff;
}

.ph-time-slots-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.ph-slot-btn {
    background: rgba(255, 255, 255, 0.18) !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    color: #ffffff !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    transition: all 0.25s ease !important;
    font-family: 'Roboto', sans-serif !important;
    text-transform: none !important;
}

.ph-slot-btn .slot-time {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

.ph-slot-btn .slot-check {
    color: #ffffff !important;
    opacity: 0;
    font-weight: 900 !important;
    font-size: 18px !important;
    transition: opacity 0.2s ease !important;
}

.ph-slot-btn:hover {
    background: #ffffff !important;
    color: #009ac7 !important;
    border-color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-2px) !important;
}

.ph-slot-btn:hover .slot-time {
    color: #009ac7 !important;
}

.ph-slot-btn:hover .slot-check {
    opacity: 0.5 !important;
    color: #009ac7 !important;
}

.ph-slot-btn.selected {
    background: #ffffff !important;
    color: #009ac7 !important;
    border-color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-2px) !important;
}

.ph-slot-btn.selected .slot-time {
    color: #009ac7 !important;
}

.ph-slot-btn.selected .slot-check {
    opacity: 1 !important;
    color: #009ac7 !important;
}

.ph-slot-btn.is-full,
.ph-slot-btn:disabled {
    opacity: 0.55 !important;
    background: rgba(0, 0, 0, 0.15) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

.ph-slot-btn.is-full:hover,
.ph-slot-btn:disabled:hover {
    background: rgba(0, 0, 0, 0.15) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    transform: none !important;
    box-shadow: none !important;
}

.ph-slot-btn.is-full .slot-time,
.ph-slot-btn:disabled .slot-time {
    color: rgba(255, 255, 255, 0.7) !important;
}

.ph-slot-btn.is-full .slot-check,
.ph-slot-btn:disabled .slot-check {
    color: #ff6b6b !important;
    opacity: 1 !important;
}

.ph-booking-status-bar {
    font-size: 13px !important;
    color: #ffffff !important;
    opacity: 0.95;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.status-indicator {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #4ade80; /* Groen bolletje */
    box-shadow: 0 0 6px #4ade80;
}

/* Grote Reserveer knop onder de tijdsloten */
.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button.button {
    width: 100% !important;
    max-width: 480px !important;
    background-color: #181b31 !important;
    color: #ffffff !important;
    padding: 16px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    border: none !important;
    margin-top: 15px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(24, 27, 49, 0.2) !important;
    display: block !important;
    text-align: center !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button.button:hover {
    background-color: #009ac7 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 154, 199, 0.3) !important;
}


/* ====================================================
   PRODUCT DETAIL PAGINA - SHORT INTRO & TABS VERBERGEN
==================================================== */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 16px;
    line-height: 1.7;
    color: #4a5568;
    margin-top: 15px;
    margin-bottom: 25px;
    max-width: 580px;
}

.woocommerce div.product .woocommerce-product-details__short-description p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #4a5568;
}

/* Verberg description tabs en eventuele gerelateerde tabs onderaan */
.woocommerce-tabs,
.wc-tabs-wrapper,
.woocommerce-Tabs-panel,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
    display: none !important;
}

/* ====================================================
   PRODUCT DETAIL PAGINA - LAYOUT & CLEARFIX REPARATIE
==================================================== */
.single-product .site-main,
.single-product #main,
.single-product #primary,
.single-product #content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    width: 100% !important;
    clear: both !important;
}

.single-product .woocommerce-breadcrumb {
    margin: 25px 0 20px 0 !important;
    font-size: 14px !important;
    color: #718096 !important;
    clear: both !important;
}

.single-product .woocommerce-breadcrumb a {
    color: #009ac7 !important;
    text-decoration: none !important;
}

.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin: 20px 0 60px 0 !important;
    clear: both !important;
    position: relative !important;
}

.single-product div.product::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.single-product div.product .woocommerce-product-gallery {
    float: none !important;
    width: 48% !important;
    max-width: 520px !important;
    margin: 0 0 30px 0 !important;
}

.single-product div.product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    display: block !important;
}

.single-product div.product .summary.entry-summary {
    float: none !important;
    width: 48% !important;
    max-width: 540px !important;
    margin: 0 !important;
}

/* Zorg dat de footer altijd onderaan staat met een ruime marge */
.ehf-footer,
footer.site-footer,
.main-footer.site-footer {
    clear: both !important;
    position: relative !important;
    z-index: 10 !important;
    margin-top: 80px !important;
    width: 100% !important;
}

@media (max-width: 768px) {
    .single-product div.product {
        flex-direction: column !important;
    }
    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ====================================================
   CHECKOUT 2-KOLOMS LAYOUT & NOTICES VERWIJDEREN
==================================================== */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    display: none !important;
}

/* Verwijder de grote 'Checkout' paginatitel */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title {
    display: none !important;
}

.woocommerce-checkout .site-main,
.woocommerce-checkout #main,
.woocommerce-checkout #primary,
.woocommerce-checkout #content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    width: 100% !important;
}

.focus-checkout-grid {
    display: grid !important;
    grid-template-columns: 1.15fr 0.95fr !important;
    gap: 40px !important;
    align-items: start !important;
    width: 100% !important;
    margin-top: 35px !important;
    margin-bottom: 70px !important;
}

.focus-checkout-col-fields {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e5e9f2 !important;
    border-radius: 12px !important;
    padding: 35px 32px !important;
    box-shadow: 0 4px 20px rgba(24, 27, 49, 0.04) !important;
}

.focus-checkout-col-review {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e5e9f2 !important;
    border-radius: 12px !important;
    padding: 35px 30px !important;
    box-shadow: 0 8px 25px rgba(24, 27, 49, 0.06) !important;
    position: relative !important;
}

/* Accent strip at top of reservation card */
.focus-checkout-col-review::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #009ac7 0%, #181b31 100%) !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout h3#order_review_heading {
    font-family: 'Poppins', sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #181b31 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-bottom: 14px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    position: relative !important;
    letter-spacing: -0.01em !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::after,
.woocommerce-checkout h3#order_review_heading::after {
    content: "" !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 50px !important;
    height: 2px !important;
    background-color: #009ac7 !important;
}

/* Billing Fields styling */
.woocommerce-checkout .form-row label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #2c3345 !important;
    margin-bottom: 7px !important;
}

.woocommerce-checkout .form-row .input-text {
    height: 48px !important;
    border: 1.5px solid #dce2eb !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 14.5px !important;
    color: #181b31 !important;
    background: #fcfdfe !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout .form-row .input-text:focus {
    outline: none !important;
    border-color: #009ac7 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(0, 154, 199, 0.15) !important;
}

/* Table: Jouw reservering */
.woocommerce-checkout-review-order-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 24px !important;
    background: #ffffff !important;
}

/* Verwijder thead (de tabelkop 'Product' boven de reserveringsgegevens) */
.woocommerce-checkout-review-order-table thead {
    display: none !important;
}

.woocommerce-checkout-review-order-table tbody td {
    padding: 18px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    font-size: 14.5px !important;
    color: #1e293b !important;
    vertical-align: top !important;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    padding: 14px 18px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    font-size: 14px !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    background: #f8fafc !important;
    font-weight: 700 !important;
    color: #181b31 !important;
    border-bottom: none !important;
}

/* Stijl de metadata (datum & tijdslot) als nette pill-badges */
.woocommerce-checkout-review-order-table .product-name {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #181b31 !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout-review-order-table .product-name .product-quantity {
    display: none !important; /* Altijd 1 reservering */
}

.woocommerce-checkout-review-order-table dl.variation {
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.woocommerce-checkout-review-order-table dl.variation dt {
    display: none !important; /* Hide 'Datum:' en 'Gekozen Tijdslot:' tags */
}

.woocommerce-checkout-review-order-table dl.variation dd {
    margin: 0 !important;
    padding: 6px 12px !important;
    background: #eef8fc !important;
    color: #027196 !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 6px !important;
    border-left: 3px solid #009ac7 !important;
    display: inline-block !important;
    width: fit-content !important;
}

.woocommerce-checkout-review-order-table dl.variation dd p {
    margin: 0 !important;
}

/* Privacy Text Box */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    display: none !important; /* Gratis evenement, geen betaalmethodes */
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px 18px !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #64748b !important;
    margin: 0 !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a.woocommerce-privacy-policy-link {
    color: #009ac7 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a.woocommerce-privacy-policy-link:hover {
    color: #181b31 !important;
}

/* Verwijder de loze Additional information sectie */
.woocommerce-additional-fields,
.woocommerce-additional-fields h3 {
    display: none !important;
}

/* Stijl de bestelknop / reserveringsknop */
#place_order,
.woocommerce-checkout #place_order.button {
    background: linear-gradient(135deg, #181b31 0%, #252b48 100%) !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 18px 28px !important;
    border-radius: 8px !important;
    border: none !important;
    width: 100% !important;
    margin-top: 15px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 14px rgba(24, 27, 49, 0.25) !important;
    text-align: center !important;
    display: block !important;
}

#place_order:hover,
.woocommerce-checkout #place_order.button:hover {
    background: linear-gradient(135deg, #009ac7 0%, #0081a7 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 154, 199, 0.35) !important;
}

@media (max-width: 900px) {
    .focus-checkout-grid {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }
    .focus-checkout-col-fields,
    .focus-checkout-col-review {
        padding: 24px 20px !important;
    }
}

/* Verberg de ruwe/ongeopende WPS Bookings kalenderinput ten gunste van het branded tijdslotoverzicht */
.mbfw-date-picker-section__wrapper {
    display: none !important;
}

.mwb-mbfw-total-area {
    display: none !important;
}

/* Multidag / Meerdere data knoppen styling */
.ph-date-btn {
    background: rgba(255, 255, 255, 0.18) !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    color: #ffffff !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-family: 'Roboto', sans-serif !important;
}

.ph-date-btn:hover,
.ph-date-btn.selected {
    background: #ffffff !important;
    color: #009ac7 !important;
    border-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-2px) !important;
}

/* ====================================================
   FOOTER - 2-KOLOMS PROPORTIES & GOOGLE MAPS
   ==================================================== */
.elementor-element.elementor-element-sec_footer {
    background-color: #009ac7 !important;
    padding: 50px 20px !important;
    margin-top: 60px !important;
}

.elementor-element.elementor-element-sec_footer .elementor-container {
    max-width: 1140px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
}

.elementor-element.elementor-element-col_footer_left {
    flex: 0 0 52% !important;
    max-width: 52% !important;
    width: 52% !important;
    padding-right: 20px !important;
}

.elementor-element.elementor-element-col_footer_right {
    flex: 0 0 44% !important;
    max-width: 44% !important;
    width: 44% !important;
}

.focus-footer-map-wrap {
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15) !important;
    line-height: 0 !important;
}

.focus-footer-map-wrap iframe {
    width: 100% !important;
    height: 250px !important;
    display: block !important;
    border: none !important;
}

.focus-footer-logos {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

.focus-footer-logos img {
    object-fit: contain !important;
    display: inline-block !important;
}

@media (max-width: 900px) {
    .elementor-element.elementor-element-sec_footer .elementor-container {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .elementor-element.elementor-element-col_footer_left,
    .elementor-element.elementor-element-col_footer_right {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-right: 0 !important;
    }
}

/* ==========================================================================
   Focus Beroepsacademie - Custom Thankyou / Order Received Page
   ========================================================================== */
.woocommerce-order-received .page-header {
    display: none !important;
}

.focus-thankyou-wrapper {
    max-width: 680px;
    margin: 40px auto 60px;
    padding: 0 15px;
}

.focus-thankyou-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px 36px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.02);
    border: 1px solid #e2e8f0;
    text-align: center;
}

.focus-thankyou-icon-wrap {
    width: 68px;
    height: 68px;
    background: #e6f6fa;
    color: #009AC7;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.focus-thankyou-icon-wrap.is-error {
    background: #fee2e2;
    color: #ef4444;
}

.focus-thankyou-title {
    font-size: 28px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 10px;
    line-height: 1.25;
}

.focus-thankyou-subtitle {
    font-size: 16px;
    color: #64748b;
    margin: 0 0 28px;
    line-height: 1.5;
}

.focus-thankyou-details {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 24px;
    text-align: left;
    margin-bottom: 24px;
}

.focus-thankyou-details-heading {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e8f0;
}

.focus-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 9px 0;
    font-size: 14.5px;
    line-height: 1.4;
    border-bottom: 1px dashed #e2e8f0;
}

.focus-detail-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.focus-detail-label {
    color: #64748b;
    font-weight: 500;
    flex: 0 0 140px;
}

.focus-detail-value {
    color: #1e293b;
    font-weight: 600;
    text-align: right;
    flex: 1;
}

.focus-detail-activiteit,
.focus-detail-workshop {
    color: #009AC7;
    font-weight: 700;
}

.focus-detail-time {
    color: #059669;
}

.focus-thankyou-notice {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 10px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    font-size: 14px;
    color: #166534;
    margin-bottom: 28px;
    line-height: 1.45;
}

.focus-thankyou-notice svg {
    flex-shrink: 0;
    stroke: #16a34a;
}

.focus-thankyou-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.focus-thankyou-btn {
    display: inline-block;
    background: #009AC7 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.1s ease !important;
    border: none !important;
}

.focus-thankyou-btn:hover {
    background: #0082a8 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .focus-thankyou-card {
        padding: 28px 20px;
    }
    .focus-detail-row {
        flex-direction: column;
        gap: 3px;
    }
    .focus-detail-label {
        flex: none;
        font-size: 13px;
    }
    .focus-detail-value {
        text-align: left;
    }
    .focus-thankyou-title {
        font-size: 24px;
    }
}


