/* 
Theme Name: Huygens Academy Child
Theme URI: 
Description: 
Author: Design voor Online
Author URI: https://designvooronline.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
Tags:
*/

@media (max-width: 767px) {
    h1,
    h2 {
        overflow-wrap: break-word;
    }
}

.e-hotspot__tooltip.e-hotspot--tooltip-position {
    z-index: 999!important;
}

.navigatie-huygens{
	backdrop-filter: blur(8px);
}

span.accent{
	color: var( --e-global-color-secondary );
}

span.elementor-button-content-wrapper {
    display: flex;
    align-items: center;
    gap: 10px!important;
}

span.elementor-button-icon {
    transform: rotate(-45deg);
}

.ns-detail-inhoud h6 {
    margin-block-end: 6px;
}

.menu-knop span.elementor-button-icon {
    transform: inherit;
}

.logo-mobiel-menu a{
	outline: none!important;
}

.elementor-location-header a.elementor-icon {
    backdrop-filter: blur(3px);
}

@media (min-width: 1025px) {
    .custom-sticky {
        position: sticky;
        top: 105px;
        height: fit-content;
    }
}

/* Privacyverklaring */
.privacyverklaring h5 {
    margin-top: 15px;
    margin-bottom: -5px;
}

.elementor-message {
    font-size: 1em;
    line-height: 1;
    margin: 30px 0px 0px 0px;
    background: #fdfcfc;
    padding: 16px 17px;
    border-radius: 8px;
}

/* NASCHOLING DETAIL */

.titel-nascholing h2 span,
.titel-nascholing h3 span{
	color: var( --e-global-color-secondary );
}

.programma-inhoud h6 {
    font-size: 18px;
    margin-bottom: 7px;
}

.header-ns-detail{
	background-size: cover!important;
	background-repeat: no-repeat!important;
	background-position: center center!important;
}

/*deelnamekosten*/
.price-table,
.price-table tbody,
.price-table tr,
.price-table td {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    font-family: inherit !important;
	font-size: 17px;
    box-shadow: none !important;
}

.price-table {
    width: 100%;
    border-collapse: collapse;
}

.price-table tr:hover,
.price-table td:hover {
    background: transparent !important;
}

.price-table td {
    padding: 0px 0;
}

.price-table td:last-child {
    text-align: right;
    white-space: nowrap;
}

/*variatie productpagina*/
.variations_form table.variations,
.variations_form table.variations tbody,
.variations_form table.variations tr,
.variations_form table.variations th,
.variations_form table.variations td {
    display: block;
    width: 100%;
}

.variations_form table.variations th {
    display: none;
}

.variations_form table.variations td {
    padding: 0;
}

.variable-items-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px;
}

.variable-item {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 14px !important;
    border: 1px solid #d8d2c8 !important;
    background: #fff !important;
    box-shadow: none !important;
    padding: 0 24px !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

.variable-item .variable-item-span {
    width: 100%;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    color: #1f1f1f;
}

.variable-item.selected {
    border-color: #505c42 !important;
    background: #f8f6f1 !important;
}

.variations_form table.variations, .variations_form table.variations tbody, .variations_form table.variations tr, .variations_form table.variations th, .variations_form table.variations td {
    background: transparent!important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
    border: 0px!important;
    background: #989f81 !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) span{
    color: white!important;
}

.woocommerce-variation-price {
    padding-bottom: 22px;
}

button.single_add_to_cart_button.button.alt {
    width: 100%;
}

/*afrekenpagina*/
/* ================================
   Huygens Academy - Checkout styling
================================ */

/* Checkout layout */
.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 32px;
    align-items: start;
}

/* WooCommerce melding */
.woocommerce-notices-wrapper,
.woocommerce-message {
    display: none !important;
}

/* Linkerkant: gegevens */
.woocommerce-checkout #customer_details {
    grid-column: 1;
    background: #fff;
    border-radius: 18px;
    padding: 34px;
    border: 1px solid #e7e1d8;
}

.woocommerce form .form-row .country_to_state--single {
    font-weight: inherit;
    width: 100%;
}

/* WooCommerce kolommen onder elkaar */
.woocommerce-checkout .col2-set {
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
}

.woocommerce-checkout .col2-set .col-2 {
    margin-top: 36px;
}

/* Rechterkant: bestelling */
.woocommerce-checkout-review-order-table {
    display: none !important;
}

#order_review strong{
	font-weight: 400!important;
}

.ha-order-summary {
    background: #fff;
    border: 1px solid #e7e1d8;
    border-radius: 18px;
    padding: 28px;
    margin-bottom: 24px;
}

.ha-order-summary-title {
    font-size: 22px !important;
    color: #4D5A43 !important;
    margin: 0 0 24px !important;
}

.ha-order-product {
    display: block;
    padding-bottom: 22px;
    border-bottom: 1px solid #eee7de;
}

span.ha-order-product-choice {
    font-size: 15px;
    color: #989f81;
}

.ha-order-label {
    display: block;
    font-size: 13px;
    color: #8c8c8c;
    margin-bottom: 6px;
}

.ha-order-product strong {
    display: block;
    font-size: 16px;
    color: var(--e-global-color-text);
    line-height: 1.45;
}

.ha-order-product small {
    display: block;
    margin-top: 6px;
    color: #777;
}

.ha-order-price {
    white-space: nowrap;
    font-size: 17px;
    font-weight: 600;
    color: #4D5A43;
}

.ha-order-lines {
    padding-top: 18px;
}

.ha-order-lines > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 9px 0;
    font-size: 15px;
}

.ha-order-total {
    border-top: 1px solid #eee7de;
    margin-top: 10px;
    padding-top: 18px !important;
    font-size: 18px !important;
    color: #4D5A43;
	font-weight: 500!important;
}

.ha-order-total strong{
	font-weight: 500!important;
}

.ha-order-product-options {
    margin-top: 16px;
    padding: 16px 18px;
    background: #f8f5ee;
    border-radius: 10px;
}

.ha-order-option-row {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 15px;
    padding: 7px 0;
    border-bottom: 1px solid #e9e2d8;
}

.ha-order-option-row:last-child {
    border-bottom: 0;
}

.ha-order-option-row span {
    color: #777;
    font-size: 13px;
}

.ha-order-option-row strong {
    color: var(--e-global-color-text);
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 600px) {
    .ha-order-option-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #ffffff !important;
}

.payment_box.payment_method_bacs {
    font-size: 14px!important;
    padding: 18px 22px!important;
    background: #4a533e !important;
    color: #fdfcfc !important;
    border-radius: 10px!important;
}

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.payment_box.payment_method_bacs {
    font-size: 14px!important;
    padding: 18px 22px!important;
    background: #f0f0f0 !important;
    color: #4a4a4a !important;
    border-radius: 10px!important;
}

/* Koppen */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 22px !important;
    line-height: 1.25;
    color: #4d5a43 !important;
    margin: 0 0 22px !important;
    font-weight: 500 !important;
}

#order_review_heading {
    display: none;
}

/* Extra ruimte tussen blokken links */
.woocommerce-checkout .woocommerce-billing-fields {
    margin-bottom: 38px;
}

/* Labels */
.woocommerce-checkout label,
.woocommerce-checkout .form-row label,
.woocommerce-checkout label span {
    color: #4A4A4A !important;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 7px;
}

/* Verplicht sterretje */
.woocommerce-checkout .required {
    color: #C56B6B !important;
    text-decoration: none !important;
    border: none !important;
}

li.wc_payment_method label {
    margin-bottom: 2px!important;
}

li.wc_payment_method.payment_method_mollie_wc_gateway_ideal {
    display: flex;
    align-items: center;
    min-height: 70px;
}

li.wc_payment_method.payment_method_mollie_wc_gateway_ideal label {
    display: flex!important;
    align-items: center;
}

/* Velden */
.woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%;
    border: 1px solid #ded6cc !important;
    border-radius: 8px !important;
    padding: 13px 14px !important;
    min-height: 46px;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--e-global-color-text);
}

.woocommerce-checkout .form-row textarea {
    min-height: 95px;
}

/* Focus */
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #B98291 !important;
    outline: none !important;
}

/* Order tabel */
.woocommerce-checkout-review-order-table {
    border: 0 !important;
    margin-bottom: 24px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border-color: #eee7de !important;
    padding: 14px 0 !important;
    font-size: 14px;
    vertical-align: top;
}

.woocommerce-checkout-review-order-table thead th {
    color: #4d5a43;
    font-weight: 600;
}

.woocommerce-checkout-review-order-table .product-name {
    line-height: 1.45;
}

.woocommerce-additional-fields {
    display: none;
}

.ha-checkout-cost-notice {
    margin-top: 22px;
    padding: 20px;
    background: #f8f5ee;
    border-radius: 12px;
    color: #4d5a43;
}

.ha-checkout-cost-notice strong {
    display: block;
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 1.4;
}

.ha-checkout-cost-notice span {
    display: block;
    font-size: 14px;
    line-height: 1.6;
    color: var(--e-global-color-text);
}

.ha-order-total-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-top: 1px solid #e7e1d8;
}

.ha-order-total-final {
    color: #4d5a43;
    font-size: 18px;
}

.ha-order-tax-note {
    margin-top: 6px;
    font-size: 14px;
    color: #777;
}

/* Betaalmethodes */
.woocommerce-checkout #payment {
    background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #f8f5ee;
    border: 1px solid #e3ddd2;
    border-radius: 12px;
    padding: 28px !important;
    margin-bottom: 12px !important;
}

/* Privacytekst */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 13px;
    line-height: 1.6;
    color: #555;
}

/* Bestelknop */
.woocommerce-checkout #place_order {
    width: 100%;
    background: #B98291 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 16px 26px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.woocommerce-checkout #place_order:hover {
    background: #a97381 !important;
}

/* WooCommerce meldingen */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    border-radius: 12px;
    border-top-color: #B98291;
}

/* Mobiel */
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout {
        display: block;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        margin-bottom: 24px;
        position: static;
    }
}


/* Bedankpagina */
.woocommerce-order-received .checkout-intro {
    display: none !important;
}

.checkout-hero {
    display: none;
}

.woocommerce-order-received .checkout-hero {
    display: block;
}

.ha-thankyou {
    margin: 0 auto;
}

.ha-thankyou-card {
    background: #fff;
    border: 1px solid #e7e1d8;
    border-radius: 24px;
    padding: 46px;
}

.ha-thankyou-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #4D5A43;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 24px;
}

.ha-thankyou h2 {
    color: #4D5A43;
    font-size: 34px;
    margin-bottom: 12px;
}

.ha-thankyou-intro {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 32px;
}

.ha-thankyou-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 36px;
}

.ha-thankyou-meta div {
    background: #f8f5ee;
    border-radius: 14px;
    padding: 18px;
}

.ha-thankyou-meta span {
    display: flex;
    font-size: 13px;
    color: #777;
    margin-bottom: 6px;
}

.ha-thankyou-meta strong {
    color: var(--e-global-color-text);
    font-size: 15px;
}

.ha-thankyou-summary {
    border-top: 1px solid #eee7de;
    border-bottom: 1px solid #eee7de;
    padding: 28px 0;
    margin-bottom: 28px;
}

.ha-thankyou-summary h3 {
    color: #4D5A43;
    font-size: 24px;
    margin-bottom: 18px;
}

.ha-thankyou-product {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    font-size: 16px;
}

.ha-thankyou-note {
    background: #f8f5ee;
    border-radius: 16px;
    padding: 22px;
    margin-bottom: 30px;
}

.ha-thankyou-note strong {
    color: #4D5A43;
}

.ha-thankyou-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.ha-button,
.ha-button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 14px 24px;
    text-decoration: none;
}

.ha-button {
    background: #B98291;
    color: #fff!important;
}

.ha-button-secondary {
    background: #f8f5ee;
    color: var(--e-global-color-text)!important;
}

.ha-thankyou-meta span.woocommerce-Price-amount.amount {
    font-size: 15px;
    font-weight: 700!important;
    color: var(--e-global-color-text);
}

.ha-thankyou-meta span.woocommerce-Price-currencySymbol {
    font-size: 15px!important;
    color: var(--e-global-color-text);
}



@media (max-width: 768px) {
    .ha-thankyou-card {
        padding: 28px;
    }

    .ha-thankyou-meta {
        grid-template-columns: 1fr;
    }

    .ha-thankyou-product {
        display: block;
    }
}


/* MIJN ACCOUNT */
.woocommerce-account,
.woocommerce-account * {
    font-family: "Google Sans Flex", sans-serif!important;
}

.woocommerce-MyAccount-content-wrapper {
	padding: 0px!important;
    background-color: transparent!important;
	border: 0px!important
}

.woocommerce-MyAccount-content h2:first-of-type {
    margin-top: 22px!important;
}

.ha-account-section h2 {
    color: var( --e-global-color-primary )!important;
    font-size: 32px;
    margin-bottom: 24px;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li a {
    font-size: 15px;
    font-weight: 500;
}

.ha-nascholingen-grid {
    display: grid;
    gap: 30px;
}

.ha-nascholing-card,
.ha-empty-state {
    background: #fff;
    border: 1px solid #E7E1D8;
    border-radius: 18px;
    padding: 28px;
}

.ha-label {
    display: block;
    font-size: 13px;
    color: #8a8378;
    margin-bottom: 6px;
}

.ha-nascholing-card h3 {
    color: var(--e-global-color-text);
    font-size: 20px;
    line-height: 1.35;
    margin: 0 0 22px;
}

.ha-card-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.ha-card-meta div {
    background: #F8F5EE;
    border-radius: 12px;
    padding: 14px;
}

.ha-card-meta span {
    display: flex;
    font-size: 13px;
    color: var(--e-global-color-text);
    margin-bottom: 5px;
}

.ha-card-meta strong {
    color: var(--e-global-color-text);
    font-size: 14px;
    font-weight: 500;
}

.ha-account-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #B98291;
    color: #fff !important;
    border-radius: 999px;
    padding: 13px 22px;
    text-decoration: none !important;
    font-weight: 500;
	transition: .3s;
}

.ha-account-button:hover {
    background: #c693a1!important;
    color: #fff !important;
}

.ha-account-button.secondary {
    background: var( --e-global-color-secondary )!important;
    color: white !important;
}

.ha-account-button.secondary:hover {
    background: #b0b69b!important;
}

.ha-account-button.tertiary {
    background: transparent!important;
    color: var( --e-global-color-primary ) !important;
	border: 1px solid var( --e-global-color-primary )!important;
}

.ha-account-button.tertiary:hover {
    background: var( --e-global-color-primary )!important;
	color: white!important;
}

@media (max-width: 900px) {
    .ha-card-meta {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .ha-card-meta {
        grid-template-columns: 1fr;
    }
}

/*bekijk inschrijving*/
.ha-back-link {
    display: inline-block;
    margin-bottom: 22px;
    color: #4D5A43 !important;
    text-decoration: none !important;
    font-weight: 500;
}

.ha-detail-card,
.ha-detail-box {
    background: #fff;
    border: 1px solid #E7E1D8;
    border-radius: 18px;
    padding: 28px;
}

.ha-detail-card {
    margin-bottom: 24px;
}

.ha-detail-card h2 {
    color: var(--e-global-color-text);
    font-size: 26px;
    line-height: 1.3;
    margin: 0 0 24px;
}

.ha-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.ha-detail-box h3 {
    color: #4D5A43;
    font-size: 22px;
    margin: 0 0 20px;
}

.ha-detail-box p {
    margin-bottom: 18px;
    line-height: 1.6;
}

.ha-detail-box strong {
    color: #4D5A43;
    font-weight: 500;
}

.ha-detail-actions {
    margin-top: 24px;
}

@media (max-width: 800px) {
    .ha-detail-grid {
        grid-template-columns: 1fr;
    }
}

.ha-card-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.ha-card-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}

.ha-card-info div {
    background: #fff;
    border: 1px solid #E7E1D8;
    border-radius: 12px;
    padding: 14px;
}

.ha-card-info span {
    display: block;
    font-size: 12px;
    color: #777;
    margin-bottom: 5px;
}

.ha-card-info strong {
    color: #4D5A43;
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 900px) {
    .ha-card-info {
        grid-template-columns: 1fr;
    }
}

.ha-empty-state{
    background:#fff;
    border:1px solid #E7E1D8;
    border-radius:22px;
    padding:70px 50px;
    text-align:center;
}

.ha-empty-icon{
    width:82px;
    height:82px;
    margin:0 auto 26px;
    border-radius:50%;
    background:#F8F5EE;
    color:#4D5A43;
    font-size:38px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ha-empty-state h3{
    color:#4D5A43;
    font-size:34px;
    font-weight:400;
    margin: 0px 0px 22px 0px!important;
}

.ha-empty-state p{
    max-width: 520px;
    margin:0px auto 30px auto!important;
    color:#666;
    line-height:1.7;
    font-size:16px;
}

.ha-empty-state .ha-account-button{
    padding:15px 28px;
}

/*dashboard*/

/* Account algemene styling */
.woocommerce-account .woocommerce-MyAccount-content {
    color: var(--e-global-color-text);
}

.ha-account-section h2 {
    color: #4D5A43;
    font-size: 34px;
    font-weight: 400;
    margin: 0 0 18px;
}

.ha-account-section h3 {
    color: #4D5A43;
    font-size: 24px;
    font-weight: 400;
    margin: 0 0 14px;
}

.ha-account-section p {
    line-height: 1.7;
}

/* Dashboard */
.ha-dashboard-card,
.ha-form-card {
    background: #fff;
    border: 1px solid #E7E1D8;
    border-radius: 22px;
    padding: 36px;
    margin-bottom: 24px;
}

.ha-dashboard-card p,
.ha-form-card p {
    color: #666;
    max-width: 760px;
}

.ha-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ha-dashboard-tile {
    background: #fff;
    border: 1px solid #E7E1D8;
    border-radius: 18px;
    padding: 26px;
}

.ha-dashboard-tile span {
    display: block;
    color: #777;
    font-size: 14px;
    margin-bottom: 10px;
}

.ha-dashboard-tile strong {
    display: block;
    color: #4D5A43;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 22px;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce h2, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce h3 {
    margin-bottom: 15px;
}

.ha-dashboard-tile a {
    color: #B98291 !important;
    text-decoration: none !important;
    font-weight: 500;
}

/* Mijn gegevens formulier */
.ha-account-form .ha-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ha-account-form .form-row {
    margin: 0 0 18px !important;
}

.ha-account-form label {
    display: block;
    color: #4A4A4A !important;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 7px;
}

.ha-account-form .required {
    color: #C56B6B !important;
    text-decoration: none !important;
}

.ha-account-form input.input-text {
    width: 100%;
    border: 1px solid #DED6CC !important;
    border-radius: 10px !important;
    padding: 14px 15px !important;
    min-height: 48px;
    background: #fff !important;
    box-shadow: none !important;
}

.ha-account-form input.input-text:focus {
    border-color: #B98291 !important;
    outline: none !important;
}

/* Button */
.ha-account-button,
.woocommerce-account .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #B98291 !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 14px 26px !important;
    border: 0 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.ha-account-button:hover,
.woocommerce-account .button:hover {
    background: #a97381 !important;
    color: #fff !important;
}

/* Responsive */
@media (max-width: 900px) {
    .ha-dashboard-grid,
    .ha-account-form .ha-form-grid {
        grid-template-columns: 1fr;
    }

    .ha-dashboard-card,
    .ha-form-card {
        padding: 28px;
    }
}


/* Texel verblijf */
.ha-texel-options {
    margin: 0px 0px 15px 0px;
}

.ha-texel-options h3 {
    color: #4d5a43;
    font-size: 22px;
    font-weight: 500;
    margin: -8px 0px 8px 0px;
}

.ha-texel-intro {
    color: var(--e-global-color-text);
    margin-bottom: 22px;
}

.ha-option-group {
    display: grid;
    gap: 22px;
}

.ha-radio-option {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 20px 30px;
    border: 1px solid #e2dcd2;
    border-radius: 12px;
    cursor: pointer;
    background: #fff;
    display: flex;
    align-items: baseline;
}

.ha-radio-option:has(input:checked) {
    border-color: #989f81;
    background: #989f81;
}

.ha-radio-option:has(input:checked) strong,
.ha-radio-option:has(input:checked) small{
    color: white!important;
}

.ha-radio-option input {
    margin-top: 5px;
}

.ha-radio-option strong,
.ha-radio-option small {
    display: block;
}

.ha-radio-option strong {
    color: #333;
    font-weight: 500;
}

.ha-radio-option small {
    margin-top: 6px;
    color: #777;
}

.ha-texel-options .elementor-kit-10 p {
    margin-block-end: 30px;
}

.ha-texel-stay-fields {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e7e1d8;
}

.ha-texel-stay-fields[hidden] {
    display: none !important;
}

.ha-field {
    margin-bottom: 18px;
}

.ha-field-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.ha-field label {
    display: block;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 7px;
}

.ha-field input,
.ha-field select,
.ha-field textarea {
    width: 100%;
    border: 1px solid #ded6cc;
    border-radius: 9px;
    padding: 12px 13px;
    background: #fff;
}

.ha-field small {
    display: block;
    margin-top: 6px;
    color: #777;
    line-height: 1.5;
}

.ha-texel-stay-fields h4 {
    color: #4d5a43;
    font-size: 18px;
    font-weight: 500;
    margin: 26px 0 14px;
}

.ha-texel-notice {
    margin-top: 20px;
    padding: 18px 22px;
    background: #f8f5ee;
    border: 1px solid #e7e1d8;
    border-radius: 12px;
    color: #4a533e;
    line-height: 1.6;
    font-size: 15px;
}

@media (max-width: 700px) {
    .ha-field-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   HUYGENS ACADEMY — ORDER PAY
========================================= */

/* Oude Elementor-kop en tekst verbergen */
.e-con:has(.ha-order-pay-form) > .checkout-intro {
    display: none !important;
}


/* Buitenste formulier */

body:has(.ha-order-pay-form) .ha-order-pay-form {
    box-sizing: border-box;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 46px;
    background: #f8f5ee;
    border-radius: 20px;
}


/* Introductie */

body:has(.ha-order-pay-form) .ha-order-pay-heading {
    margin: 0 0 32px;
}

body:has(.ha-order-pay-form) .ha-order-pay-heading > span {
    display: block;
    margin-bottom: 8px;
    color: #b97e8f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

body:has(.ha-order-pay-form) .ha-order-pay-heading h2 {
    margin: 0 0 10px;
    color: #4d5a43;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
}

body:has(.ha-order-pay-form) .ha-order-pay-heading p {
    max-width: 680px;
    margin: 0;
    color: #555555;
    font-size: 16px;
    line-height: 1.6;
}


/* Overzichtskaart */

body:has(.ha-order-pay-form) .ha-order-pay-summary {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e7e1d8;
    border-radius: 18px;
}

body:has(.ha-order-pay-form) .ha-order-pay-summary h3,
body:has(.ha-order-pay-form) .ha-order-pay-method-heading {
    margin: 0 0 22px;
    color: #4d5a43;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.3;
}


/* Nascholing */

body:has(.ha-order-pay-form) .ha-order-pay-product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 30px;
    align-items: center;
    padding: 0 0 22px;
    border-bottom: 1px solid #eee7de;
}

body:has(.ha-order-pay-form) .ha-order-pay-product-content {
    min-width: 0;
}

body:has(.ha-order-pay-form) .ha-order-pay-label {
    display: block;
    margin-bottom: 6px;
    color: #777777;
    font-size: 13px;
    line-height: 1.4;
}

body:has(.ha-order-pay-form) .ha-order-pay-product-content > strong {
    display: block;
    color: #111111;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
}

body:has(.ha-order-pay-form) .ha-order-pay-product-price {
    color: #111111;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-align: right;
    white-space: nowrap;
}


/* Productmeta */

body:has(.ha-order-pay-form) .wc-item-meta {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    color: #666666;
    font-size: 13px;
    line-height: 1.6;
}

body:has(.ha-order-pay-form) .wc-item-meta p {
    display: inline;
    margin: 0;
}


/* Totalen */

body:has(.ha-order-pay-form) .ha-order-pay-totals {
    padding-top: 16px;
}

body:has(.ha-order-pay-form) .ha-order-pay-total-row {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 9px 0;
    color: #333333;
    font-size: 15px;
    line-height: 1.4;
}

body:has(.ha-order-pay-form) .ha-order-pay-total-row strong {
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
}

body:has(.ha-order-pay-form) .ha-order-pay-total-final {
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid #eee7de;
    color: #4d5a43;
    font-size: 19px;
}

body:has(.ha-order-pay-form) .ha-order-pay-total-final strong {
    font-weight: 600;
}

body:has(.ha-order-pay-form) .ha-order-pay-tax-note {
    margin: 14px 0 0;
    color: #4d5a43;
    font-size: 13px;
    line-height: 1.5;
}


/* Betaalmethode */

body:has(.ha-order-pay-form) #payment {
    margin-top: 24px;
    background: transparent !important;
}

body:has(.ha-order-pay-form) .ha-order-pay-method-heading {
    margin-bottom: 14px;
}

body:has(.ha-order-pay-form) #payment ul.payment_methods {
    margin: 0 0 15px !important;
    padding: 0 !important;
    border: 0 !important;
}

body:has(.ha-order-pay-form) #payment ul.payment_methods li {
    width: fit-content;
    margin: 0 !important;
    padding: 20px 22px !important;
    background: #ffffff;
    border: 1px solid #e7e1d8;
    border-radius: 14px;
}

body:has(.ha-order-pay-form) #payment ul.payment_methods li label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #333333;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

body:has(.ha-order-pay-form) #payment ul.payment_methods li img {
    width: auto;
    max-width: none;
    max-height: 26px;
    margin: 0;
}

body:has(.ha-order-pay-form) #payment .payment_box {
    margin: 16px 0 0;
    padding: 16px 18px;
    background: #f1efeb;
    border-radius: 10px;
    color: #555555;
    font-size: 14px;
    line-height: 1.55;
}

body:has(.ha-order-pay-form) #payment .payment_box::before {
    display: none;
}


/* Privacy en voorwaarden */

body:has(.ha-order-pay-form) .woocommerce-privacy-policy-text {
    margin: 0 0 22px;
    color: #666666;
    font-size: 13px;
    line-height: 1.65;
}

body:has(.ha-order-pay-form) .woocommerce-privacy-policy-text p {
    margin: 15px 0px 0px 0px;
}

body:has(.ha-order-pay-form) .form-row {
    margin: 0px 0px 30px 0px!important;
    padding: 0!important;
}

body:has(.ha-order-pay-form) .form-row.terms {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.5;
}

body:has(.ha-order-pay-form) .form-row.terms label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

body:has(.ha-order-pay-form) .form-row.terms input {
    flex: 0 0 auto;
    margin-top: 3px;
}


/* Betaalknop */

body:has(.ha-order-pay-form) #place_order {
    float: none !important;
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 15px 24px;
    background: #b97e8f;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

body:has(.ha-order-pay-form) #place_order:hover,
body:has(.ha-order-pay-form) #place_order:focus {
    background: #a86e7f;
    color: #ffffff;
    transform: translateY(-1px);
}


/* Mobiel */

@media (max-width: 767px) {

    body:has(.ha-order-pay-form) .ha-order-pay-form {
        padding: 22px;
        border-radius: 14px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-heading {
        margin-bottom: 24px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-heading h2 {
        font-size: 27px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-heading p {
        font-size: 15px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-summary {
        padding: 20px;
        border-radius: 14px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-summary h3,
    body:has(.ha-order-pay-form) .ha-order-pay-method-heading {
        font-size: 21px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-product {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-product-price {
        text-align: left;
    }

    body:has(.ha-order-pay-form) .ha-order-pay-total-row {
        gap: 18px;
    }

    body:has(.ha-order-pay-form) #payment ul.payment_methods li {
        width: 100%;
        padding: 18px !important;
    }
}




/* Alleen het add-to-cart formulier van Texel onder elkaar zetten */
.single-product form.cart:has(.ha-texel-options) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 15px !important;
}

/* Texel opties volledige breedte */
.single-product form.cart:has(.ha-texel-options) .ha-texel-options {
    width: 100% !important;
    flex: 0 0 100% !important;
}

/* Verborgen quantity mag geen ruimte innemen */
.single-product form.cart:has(.ha-texel-options) .quantity {
    display: none !important;
}

/* Knop onder de velden */
.single-product form.cart:has(.ha-texel-options) .single_add_to_cart_button {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 4px 0 0 !important;
    align-self: stretch !important;
    flex: none !important;
}

/* Radio knop verbergen */
.ha-radio-option input[type="radio"]{
    appearance:none;
    -webkit-appearance:none;
    width:16px;
    height:16px;
    min-width:16px;
    border:1px solid #D8D1C6;
    border-radius:50%;
    margin-top:0px;
    position:relative;
    cursor:pointer;
    transition:.25s ease;
    background:#fff;
}

/* Hover */
.ha-radio-option:hover input[type="radio"]{
    border-color:#B97E8F;
}

/* Geselecteerd */
.ha-radio-option input[type="radio"]:checked{
    border-color:#B97E8F;
    background:#fff;
}

/* Binnenste bolletje */
.ha-radio-option input[type="radio"]:checked::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:7px;
    height:7px;
    background:#B97E8F;
    border-radius:50%;
    transform:translate(-50%,-50%) scale(1);
}

/* Mooie overgang van de hele kaart */
.ha-radio-option{
    transition:.25s ease;
}

.ha-radio-option:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(0,0,0,.06);
}

/*RADIO BUTTON UIT TIJDELIJK*/
.ha-radio-option input[type="radio"] {
    display: none;
}
