/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.3.0.1750162980
Updated: 2025-06-17 14:23:00

*/

/* Ultimate Member buttons -> site red */
.um .um-button,
.um .um-button:focus,
input[type=submit].um-button,
.um-form .um-button,
.um-modal-btn.um-button {
    background-color: #BE1622 !important;
    border-color: #BE1622 !important;
    color: #ffffff !important;
}
.um .um-button:hover,
input[type=submit].um-button:hover,
.um-form .um-button:hover {
    background-color: #a01320 !important;
    border-color: #a01320 !important;
}

/* Left-align the login submit button (button sits in .um-center wrapper) */
.um .um-center,
.um-form .um-center {
    text-align: left !important;
}
/* Left-align the "Wachtwoord vergeten?" link */
.um .um-link-alt,
.um-form .um-link-alt {
    text-align: left !important;
}

/* Hide the page title + separator line on ALL pages (default template header) */
.page-header {
    display: none !important;
}

/* ===== Korting page (id 26899) — flat red, hard squares, no shadow ===== */
.wa-korting{--red:#BE1622;--ink:#333;font-family:"Roboto",sans-serif;color:var(--ink);width:100%;max-width:100%;}
.wa-korting *{box-sizing:border-box;border-radius:0 !important;box-shadow:none !important;}
.wa-korting h2,.wa-korting .wa-hero-amt,.wa-korting .wa-badge,.wa-korting .wa-code{font-family:"Maven Pro","Roboto",sans-serif;}
.wa-korting .wa-intro{font-size:1.05rem;line-height:1.6;border-left:6px solid var(--red);padding:4px 0 4px 18px;margin:0 0 34px;}
.wa-korting .wa-hero{display:grid !important;grid-template-columns:1fr 1fr;gap:0;border:3px solid var(--red);margin:0 0 40px;}
.wa-korting .wa-hero-cell{padding:30px 28px;}
.wa-korting .wa-hero-cell+.wa-hero-cell{border-left:3px solid var(--red);}
.wa-korting .wa-hero-amt{font-size:3.4rem;font-weight:700;line-height:1;color:var(--red);}
.wa-korting .wa-hero-label{font-size:1.05rem;font-weight:700;margin-top:6px;text-transform:uppercase;letter-spacing:.04em;}
.wa-korting .wa-hero-sub{font-size:.92rem;color:#555;margin-top:8px;line-height:1.45;}
.wa-korting .wa-hero-foot{grid-column:1/-1;background:var(--red);color:#fff;padding:14px 28px;font-size:.9rem;border-top:3px solid var(--red);}
.wa-korting .wa-h{font-size:1.7rem;font-weight:700;color:var(--ink);margin:0 0 4px;}
.wa-korting .wa-h-rule{width:60px;height:5px;background:var(--red);margin:0 0 26px;}
.wa-korting .wa-grid{display:grid !important;grid-template-columns:repeat(2,1fr);gap:18px;margin:0 0 44px;}
.wa-korting .wa-card{border:2px solid var(--red);display:flex !important;flex-direction:column;}
.wa-korting .wa-card-top{display:flex !important;align-items:stretch;border-bottom:2px solid var(--red);}
.wa-korting .wa-badge{background:var(--red);color:#fff;font-size:1.5rem;font-weight:700;padding:14px 16px;min-width:96px;display:flex !important;align-items:center;justify-content:center;text-align:center;line-height:1.05;}
.wa-korting .wa-card-title{padding:12px 16px;font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1.08rem;display:flex !important;align-items:center;}
.wa-korting .wa-card-title a{color:var(--red);text-decoration:none;border-bottom:2px solid var(--red);}
.wa-korting .wa-card-body{padding:16px;font-size:.95rem;line-height:1.55;flex:1;}
.wa-korting .wa-code{display:inline-block;background:#fff;border:2px dashed var(--red);color:var(--red);font-weight:700;letter-spacing:.12em;padding:4px 12px;margin-top:8px;}
.wa-korting .wa-sub{border:2px solid var(--ink);padding:24px;margin:0 0 26px;}
.wa-korting .wa-sub p{line-height:1.6;margin:0 0 14px;}
.wa-korting .wa-links{display:flex !important;flex-wrap:wrap;gap:10px;margin-top:10px;}
.wa-korting .wa-links a{display:inline-block;border:2px solid var(--red);color:var(--red);padding:9px 14px;text-decoration:none;font-weight:600;font-size:.9rem;transition:background .15s,color .15s;}
.wa-korting .wa-links a:hover{background:var(--red);color:#fff;}
@media(max-width:760px){
  .wa-korting .wa-hero{grid-template-columns:1fr !important;}
  .wa-korting .wa-hero-cell+.wa-hero-cell{border-left:none;border-top:3px solid var(--red);}
  .wa-korting .wa-grid{grid-template-columns:1fr !important;}
}

/* ===== WooCommerce Checkout — flat, aligned, on-brand ===== */
.woocommerce-checkout{--red:#BE1622;--ink:#333;--line:#d8d8d8;--soft:#f6f6f6;}
.woocommerce-checkout .form-row,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .button,
.woocommerce-checkout #payment{border-radius:0 !important;box-shadow:none !important;}

/* Section headings */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{font-family:"Maven Pro",sans-serif;font-size:1.25rem;font-weight:700;color:var(--ink);margin:0 0 16px;padding-bottom:10px;border-bottom:3px solid var(--red);}

/* Form rows: label on top, full-width field, left aligned */
.woocommerce-checkout .form-row{display:block;text-align:left !important;margin:0 0 16px;padding:0;width:100%;}
.woocommerce-checkout .form-row label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#555;margin:0 0 6px;text-align:left !important;width:100%;}
.woocommerce-checkout .form-row .required{color:var(--red);border:0;}
/* clearfix after the name/address two-column rows */
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper::after,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after{content:"";display:table;clear:both;}

/* Inputs */
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="date"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection{
  width:100% !important;box-sizing:border-box;background:#fff;border:1px solid var(--line);
  padding:11px 12px;font-size:.95rem;color:var(--ink);line-height:1.3;min-height:44px;}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{border-color:var(--red);outline:none;}

/* Stack all fields full-width for a clean, predictable column (no floa­t jumble) */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-wide{width:100% !important;float:none !important;clear:both;}

/* Order review table */
.woocommerce-checkout .shop_table{width:100%;border-collapse:collapse;border:1px solid var(--line);}
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem;}
.woocommerce-checkout .shop_table th{font-family:"Maven Pro",sans-serif;font-weight:700;background:var(--soft);}
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td{font-weight:700;font-size:1.05rem;border-bottom:none;}

/* Payment box */
.woocommerce-checkout #payment{background:var(--soft);border:1px solid var(--line);padding:18px;}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 12px;}
.woocommerce-checkout #payment .payment_box{background:#fff;border:1px solid var(--line);}

/* Place order button — solid red, flat, hard square */
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order{
  width:100%;background:var(--red) !important;color:#fff !important;border:0;
  font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.02em;
  padding:15px 20px;cursor:pointer;text-transform:uppercase;transition:background .15s;}
.woocommerce-checkout #place_order:hover{background:#9e121d !important;}

/* Terms checkbox row */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:6px 0 16px;}
.woocommerce-checkout .woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;gap:8px;text-transform:none;font-weight:400;font-size:.9rem;}
.woocommerce-checkout .woocommerce-form__label-for-checkbox a{color:var(--red);font-weight:600;}

/* ===== Contact page (id 7042) — editorial Swiss: sharp corners, red accent ===== */
.wa-contact{--red:#BE1622;--red-dk:#9e121d;--ink:#141414;--mut:#616161;--line:#e5e5e5;--soft:#fafafa;width:100%;max-width:100%;font-family:"Roboto",sans-serif;color:var(--ink);}
.wa-contact *{box-sizing:border-box;border-radius:0 !important;box-shadow:none !important;}
.wa-contact h2,.wa-contact .wa-hero-title,.wa-contact .wa-c-card-h,.wa-contact .wa-r-h,.wa-contact .wa-p-role{font-family:"Maven Pro",sans-serif;}

/* ---- Hero: big editorial header ---- */
.wa-contact .wa-hero{border-bottom:1px solid var(--line);padding:8px 0 40px;margin:0 0 56px;}
.wa-contact .wa-hero-kicker{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--red);margin:0 0 16px;}
.wa-contact .wa-hero-title{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;color:var(--ink);margin:0 0 20px;}
.wa-contact .wa-hero-lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--mut);max-width:60ch;margin:0;}

/* ---- section headings ---- */
.wa-contact .wa-c-h{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;color:var(--ink);letter-spacing:-.015em;margin:72px 0 6px;}
.wa-contact .wa-c-rule{display:none;}
.wa-contact .wa-c-h{margin-bottom:34px;}

/* ---- top info grid — bento: contact card spans wider ---- */
.wa-contact .wa-c-grid3{display:grid !important;grid-template-columns:1.15fr 1fr 1fr;gap:16px;margin:0;background:transparent;border:0;}
.wa-contact .wa-c-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);display:flex !important;flex-direction:column;transition:background .2s,border-color .2s;}
.wa-contact .wa-c-card:hover{background:var(--soft);border-color:#d5d5d5;border-top-color:var(--red);}
.wa-contact .wa-c-card-h{color:var(--ink);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;padding:24px 26px 0;}
.wa-contact .wa-c-card-b{padding:16px 26px 28px;font-size:.95rem;line-height:1.65;color:var(--mut);flex:1;}
.wa-contact .wa-hours{width:100%;border-collapse:collapse;background:#fff;}
.wa-contact .wa-hours tr,
.wa-contact .wa-hours tr:nth-child(even),
.wa-contact .wa-hours tr:nth-child(odd){background:#fff !important;}
.wa-contact .wa-hours td{padding:11px 0;border:0;border-bottom:1px solid var(--line);background:#fff !important;color:var(--ink);font-size:.95rem;}
.wa-contact .wa-hours tr:last-child td{border-bottom:0;}
.wa-contact .wa-hours td:first-child{color:var(--ink);font-weight:500;}
.wa-contact .wa-hours td:last-child{text-align:right;font-weight:600;color:var(--red);font-variant-numeric:tabular-nums;letter-spacing:.01em;}
.wa-contact .wa-c-line{margin:0 0 16px;}
.wa-contact .wa-c-lbl{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9a9a9a;margin-bottom:4px;}
.wa-contact .wa-c-card-b a{color:var(--red);text-decoration:none;font-weight:600;word-break:break-word;transition:color .15s;}
.wa-contact .wa-c-card-b a:hover{color:var(--red-dk);text-decoration:underline;}
.wa-contact .wa-c-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:var(--red);color:#fff !important;font-weight:700;padding:12px 22px;text-decoration:none !important;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;transition:background .15s;}
.wa-contact .wa-c-btn:hover{background:var(--red-dk);}
.wa-contact .wa-c-btn::after{content:"\2192";font-size:1.05em;line-height:1;}

/* ---- form ---- */
.wa-contact .wa-c-form{border:1px solid var(--line);border-top:3px solid var(--red);padding:clamp(24px,4vw,44px);background:#fff;margin:0;}
.wa-contact .wa-c-form .gform_wrapper{margin:0;}
.wa-contact .wa-c-form label,.wa-contact .wa-c-form .gfield_label{font-family:"Maven Pro",sans-serif;font-weight:600 !important;font-size:.8rem !important;text-transform:uppercase;letter-spacing:.05em;color:var(--ink) !important;}
.wa-contact .wa-c-form input:not([type=submit]),.wa-contact .wa-c-form textarea,.wa-contact .wa-c-form select{width:100%;border:1px solid var(--line) !important;background:var(--soft) !important;padding:13px 15px !important;font-size:1rem !important;color:var(--ink) !important;transition:border-color .15s,background .15s;}
.wa-contact .wa-c-form input:focus,.wa-contact .wa-c-form textarea:focus,.wa-contact .wa-c-form select:focus{border-color:var(--red) !important;background:#fff !important;outline:none !important;}
.wa-contact .wa-c-form input[type=submit],.wa-contact .wa-c-form .gform_button{background:var(--red) !important;color:#fff !important;border:none !important;font-family:"Maven Pro",sans-serif;font-weight:700 !important;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem !important;padding:14px 34px !important;cursor:pointer;transition:background .15s;}
.wa-contact .wa-c-form input[type=submit]:hover,.wa-contact .wa-c-form .gform_button:hover{background:var(--red-dk) !important;}
/* consent checkbox: checkbox links naast het label, niet zwevend */
.wa-contact .wa-c-form .ginput_container_consent{display:flex !important;align-items:flex-start;gap:10px;flex-wrap:nowrap;}
.wa-contact .wa-c-form .ginput_container_consent input[type=checkbox]{width:20px !important;min-width:20px;height:20px;margin:2px 0 0 !important;flex:0 0 auto;padding:0 !important;background:#fff !important;}
.wa-contact .wa-c-form .ginput_container_consent .gfield_consent_label{margin:0 !important;font-size:.95rem !important;font-weight:400 !important;text-transform:none !important;letter-spacing:0 !important;line-height:1.5;color:var(--ink) !important;}
.wa-contact .wa-c-form .gfield--type-consent .gfield_label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);} /* verberg dubbele veld-label */

/* ---- people grid ---- */
.wa-contact .wa-c-people{display:grid !important;grid-template-columns:repeat(4,1fr);gap:16px;background:transparent;border:0;}
.wa-contact .wa-p-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:22px 22px;display:flex !important;flex-direction:column;transition:background .2s,border-color .2s;}
.wa-contact .wa-p-card:hover{background:var(--soft);border-color:#d5d5d5;border-top-color:var(--red);}
.wa-contact .wa-p-card-wide{grid-column:1/-1;}
.wa-contact .wa-p-role{font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:12px;}
.wa-contact .wa-p-name{font-weight:600;font-size:1.1rem;margin-bottom:12px;line-height:1.35;color:var(--ink);}
.wa-contact .wa-p-fn{color:var(--mut);font-weight:400;font-size:.86rem;}
.wa-contact .wa-p-mail{color:var(--red) !important;text-decoration:none;font-size:.88rem;font-weight:600;word-break:break-word;margin-top:auto;transition:color .15s;}
.wa-contact .wa-p-mail:hover{color:var(--red-dk);text-decoration:underline;}

/* ---- route columns ---- */
.wa-contact .wa-c-route{display:grid !important;grid-template-columns:repeat(3,1fr);gap:36px;margin:0 0 40px;}
.wa-contact .wa-r-col{border-top:2px solid var(--ink);padding-top:18px;}
.wa-contact .wa-r-h{font-weight:700;font-size:1.1rem;margin-bottom:12px;color:var(--ink);}
.wa-contact .wa-r-col p{line-height:1.7;font-size:.95rem;color:var(--mut);margin:0;}
.wa-contact .wa-r-col a{color:var(--red);font-weight:600;text-decoration:none;}
.wa-contact .wa-r-col a:hover{color:var(--red-dk);text-decoration:underline;}

/* ---- map ---- */
.wa-contact .wa-c-map{border:1px solid var(--line);line-height:0;}
.wa-contact .wa-c-map iframe{width:100%;height:480px;display:block;border:0;filter:grayscale(1) contrast(1.05);transition:filter .3s;}
.wa-contact .wa-c-map:hover iframe{filter:grayscale(0);}

@media(max-width:900px){
  .wa-contact .wa-c-grid3{grid-template-columns:1fr !important;}
  .wa-contact .wa-c-people{grid-template-columns:repeat(2,1fr) !important;}
  .wa-contact .wa-c-route{grid-template-columns:1fr !important;gap:26px;}
  .wa-contact .wa-c-h{margin-top:52px;}
}
@media(max-width:520px){
  .wa-contact .wa-c-people{grid-template-columns:1fr !important;}
}
@media(prefers-reduced-motion:reduce){
  .wa-contact *{transition:none !important;}
  .wa-contact .wa-c-map iframe{filter:grayscale(1);}
}

/* ===== Product stock text -> brand red (override olive theme default) ===== */
.single-product p.stock,
.single-product p.stock.in-stock,
.elementor-widget-woocommerce-product-stock p.stock,
.woocommerce div.product p.stock,
.woocommerce-variation-availability,
.woocommerce-variation-availability p.stock,
.single_variation .stock{
  color:#BE1622 !important;
  font-weight:600;
}
/* low stock emphasis stays red; out-of-stock muted grey */
.single-product p.stock.out-of-stock,
.woocommerce div.product p.stock.out-of-stock{
  color:#6b6b6b !important;
}

/* ===== Product price -> brand red ===== */
.single-product div.product p.price,
.single-product div.product p.price .woocommerce-Price-amount,
.single-product div.product span.price,
.single-product div.product span.price .woocommerce-Price-amount,
.elementor-widget-woocommerce-product-price .price,
.elementor-widget-woocommerce-product-price .woocommerce-Price-amount{
  color:#BE1622 !important;
}

/* ===== Alumni page (19292) — year columns grid ===== */
.alum-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:34px 28px;
  align-items:start;
}
.alum-year{font-size:.92rem;line-height:1.5;break-inside:avoid;}
.alum-year .alum-y{
  font-family:"Maven Pro",sans-serif;
  font-size:1.45rem;font-weight:700;color:#1f1f1f;
  margin:0 0 14px;letter-spacing:-.01em;
}
.alum-year h5{
  font-family:"Maven Pro",sans-serif;
  font-size:.98rem;font-weight:700;color:#1f1f1f;
  margin:16px 0 8px;
}
.alum-year h5:first-of-type{margin-top:0;}
.alum-year p{margin:0 0 6px;color:#6b6b6b;line-height:1.65;}
.alum-year a{color:#6b6b6b;text-decoration:none;}
.alum-year a:hover{color:#BE1622;text-decoration:underline;}
.alum-year em{font-style:italic;}

@media(max-width:1200px){ .alum-grid{grid-template-columns:repeat(4,1fr);} }
@media(max-width:860px){  .alum-grid{grid-template-columns:repeat(3,1fr);gap:28px 22px;} }
@media(max-width:600px){  .alum-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:400px){  .alum-grid{grid-template-columns:1fr;} }

/* ===== Docentenraad (33638) — member cards ===== */
.dr-wrap{max-width:100%;}
.dr-intro{font-size:1.05rem;line-height:1.7;color:#3a3a3a;margin:0 0 40px;}
.dr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.dr-card{display:block;text-decoration:none;color:inherit;transition:transform .2s;}
.dr-card:hover{transform:translateY(-4px);}
.dr-photo{display:block;position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#f2f2f2;}
.dr-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:filter .3s;}
.dr-card:hover .dr-photo img{filter:grayscale(0%);}
.dr-name{display:block;font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1.05rem;color:#1f1f1f;margin-top:14px;}
.dr-card:hover .dr-name{color:#BE1622;}
@media(max-width:860px){ .dr-grid{grid-template-columns:repeat(2,1fr);gap:22px;} }
@media(max-width:460px){ .dr-grid{grid-template-columns:1fr;max-width:300px;} }

/* ===== Docenten (7433) — teacher grid (5 cols) ===== */
.team-intro{font-size:1.05rem;line-height:1.7;color:#3a3a3a;margin:0 0 40px;}
.team-intro a{color:#BE1622;font-weight:600;text-decoration:none;}
.team-intro a:hover{text-decoration:underline;}
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 20px;}
.team-card{display:block;text-decoration:none;color:inherit;transition:transform .2s;}
.team-card:hover{transform:translateY(-4px);}
.team-photo{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#f2f2f2;}
/* .team-grid prefix: outranks Elementor's global `.elementor img{height:auto}` when content renders inside a theme-builder template */
.team-grid .team-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:filter .3s;}
.team-card:hover .team-photo img{filter:grayscale(0%);}
.team-name{display:block;font-family:"Maven Pro",sans-serif;font-weight:700;font-size:.95rem;color:#1f1f1f;margin-top:11px;line-height:1.3;}
.team-card:hover .team-name{color:#BE1622;}
@media(max-width:1100px){ .team-grid{grid-template-columns:repeat(4,1fr);} }
@media(max-width:820px){  .team-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:560px){  .team-grid{grid-template-columns:repeat(2,1fr);} }

/* ===== Shared article styling for De Academie text pages ===== */
.wa-article{font-size:1.06rem;line-height:1.75;color:#3a3a3a;}
.wa-article > *:first-child{margin-top:0;}
.wa-article h2{font-family:"Maven Pro",sans-serif;font-size:1.6rem;font-weight:700;color:#1f1f1f;margin:44px 0 6px;letter-spacing:-.01em;}
.wa-article h3{font-family:"Maven Pro",sans-serif;font-size:1.25rem;font-weight:700;color:#1f1f1f;margin:34px 0 6px;}
.wa-article h4,.wa-article h5{font-family:"Maven Pro",sans-serif;font-size:1.05rem;font-weight:700;color:#1f1f1f;margin:26px 0 4px;}
.wa-article h2+*,.wa-article h3+*,.wa-article h4+*{margin-top:8px;}
.wa-article p{margin:0 0 18px;}
.wa-article a{color:#BE1622;font-weight:600;text-decoration:none;}
.wa-article a:hover{text-decoration:underline;}
.wa-article ul,.wa-article ol{margin:0 0 18px;padding-left:1.2em;}
.wa-article li{margin:0 0 8px;}
.wa-article img{max-width:100%;height:auto;display:block;margin:24px 0;}
.wa-article hr{border:0;border-top:1px solid #e7e7e7;margin:36px 0;}
.wa-article blockquote{border-left:3px solid #BE1622;margin:24px 0;padding:4px 0 4px 20px;color:#555;font-style:italic;}
.wa-article .wa-lead{font-size:1.18rem;line-height:1.65;color:#1f1f1f;margin-bottom:26px;}
/* a simple 2-col split for pages with a side image */
.wa-article .wa-split{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:start;}
@media(max-width:760px){ .wa-article .wa-split{grid-template-columns:1fr;} }

/* ===== Photo gallery (Foto Kopenhagen etc.) ===== */
.wa-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 0;}
.wa-gallery a,.wa-gallery span{display:block;aspect-ratio:1/1;overflow:hidden;background:#f2f2f2;}
.wa-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.wa-gallery a:hover img{transform:scale(1.05);}
@media(max-width:900px){ .wa-gallery{grid-template-columns:repeat(3,1fr);} }
@media(max-width:560px){ .wa-gallery{grid-template-columns:repeat(2,1fr);} }

/* ===== Korting (26899) — full width ===== */
.kort{max-width:100%;}
.kort .kort-cards{grid-template-columns:repeat(3,1fr);}
.kort-hero{position:relative;background:#BE1622;color:#fff;padding:34px 38px;margin:0 0 50px;}
.kort-hero-badge{display:inline-block;font-family:"Maven Pro",sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.18);padding:5px 12px;margin-bottom:16px;}
.kort-hero-text{font-size:1.22rem;line-height:1.6;margin:0;color:#fff;}
.kort-hero-text strong{font-weight:700;}
.kort .kort-rule{width:44px;height:3px;background:#BE1622;margin:0 0 26px;}
.kort h2{margin-top:52px;}
.kort-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 8px;}
.kort-card{background:#fff;border:1px solid #e7e7e7;border-top:3px solid #BE1622;padding:22px 22px 24px;display:flex;flex-direction:column;}
.kort-card-tag{align-self:flex-start;font-family:"Maven Pro",sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#BE1622;background:#fbe9eb;padding:4px 10px;margin-bottom:14px;}
.kort-card h3{font-family:"Maven Pro",sans-serif;font-size:1.08rem;font-weight:700;color:#1f1f1f;margin:0 0 10px;line-height:1.35;}
.kort-card h3 a{color:#BE1622;text-decoration:none;}
.kort-card h3 a:hover{text-decoration:underline;}
.kort-card p{font-size:.93rem;line-height:1.6;color:#5a5a5a;margin:0;}
.kort-code{background:#1f1f1f;color:#fff;font-family:monospace;font-size:.88em;padding:2px 8px;letter-spacing:.04em;}
.kort-funds{list-style:none;padding:0;margin:6px 0 0;}
.kort-funds li{margin:0 0 8px;}
.kort-funds a{color:#BE1622;font-weight:600;text-decoration:none;}
.kort-funds a:hover{text-decoration:underline;}
@media(max-width:820px){ .kort-cards{grid-template-columns:1fr;} .kort-hero{padding:28px 26px;} .kort-hero-text{font-size:1.1rem;} }

/* ===== FAQ accordion (17438) — FAQPage schema ===== */
.faq-wrap{width:100%;}
.faq-list{border-top:1px solid #e7e7e7;margin-top:8px;}
.faq-item{border-bottom:1px solid #e7e7e7;}
.faq-q{list-style:none;cursor:pointer;position:relative;display:block;font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1.08rem;color:#1f1f1f;padding:20px 48px 20px 0;transition:color .15s;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q:hover{color:#BE1622;}
.faq-q::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;color:#BE1622;line-height:1;transition:transform .2s;}
.faq-item[open] .faq-q::after{content:"–";}
.faq-item[open] .faq-q{color:#BE1622;}
.faq-a{padding:0 48px 22px 0;}
.faq-a p{margin:0;font-size:1rem;line-height:1.7;color:#555;}

/* ===== Footer nieuwsbrief: Aanmelden-knop uitlijnen met e-mailveld ===== */
.elementor-location-footer .elementor-form .elementor-form-fields-wrapper{align-items:flex-end;}
.elementor-location-footer .elementor-form .elementor-field-type-submit .elementor-button{height:40px !important;padding-top:0 !important;padding-bottom:0 !important;display:inline-flex;align-items:center;justify-content:center;}

/* ===== Product tabs: geen sprong, nette styling ===== */
.woocommerce-tabs ul.tabs{list-style:none;margin:0 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid #eee;}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;background:none;border:none;}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce-tabs ul.tabs li a{display:block;padding:12px 20px;font-weight:600;font-size:1rem;color:#6b6b6b;text-decoration:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;}
.woocommerce-tabs ul.tabs li a:hover{color:#BE1622;}
.woocommerce-tabs ul.tabs li.active a{color:#BE1622;border-bottom-color:#BE1622;}
.woocommerce-tabs .woocommerce-Tabs-panel{padding:24px 0;}
/* Dubbele paneltitel weg: elk tab-panel begint met een <h2> die de tabnaam
   herhaalt (Beschrijving/Extra informatie/Prijzen/Faciliteiten/Materialen).
   Target op panel-id zodat het waterdicht is en "Gerelateerde producten"
   (staat buiten deze panels) zichtbaar blijft. */
#tab-description > h2:first-child,
#tab-additional_information > h2:first-child,
#tab-prijzen > h2:first-child,
#tab-faciliteiten > h2:first-child,
#tab-materialen > h2:first-child,
.woocommerce-Tabs-panel > .yikes-custom-woo-tab-title{display:none !important;}

/* ===== Extra informatie tabel (product attributes) ===== */
.woocommerce-product-attributes.shop_attributes{width:100%;border-collapse:separate;border-spacing:0;margin:0;border:none !important;border-radius:0;overflow:hidden;font-size:1rem;}
/* alle achtergronden wit — override WooCommerce zebra (tr:nth-child(2n) td) + label-bg */
.woocommerce-product-attributes.shop_attributes tr,
.woocommerce-product-attributes.shop_attributes tr:nth-child(2n),
.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes.shop_attributes td,
.woocommerce-product-attributes.shop_attributes tr:nth-child(2n) th,
.woocommerce-product-attributes.shop_attributes tr:nth-child(2n) td{background:#fff !important;}
.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes.shop_attributes td{padding:14px 20px;text-align:left;vertical-align:top;border:none !important;}
.woocommerce-product-attributes.shop_attributes th{width:34%;font-weight:600;color:#BE1622;}
.woocommerce-product-attributes.shop_attributes td{color:#3a3a3a;}
.woocommerce-product-attributes.shop_attributes td p{margin:0;line-height:1.6;}
@media(max-width:600px){
  .woocommerce-product-attributes.shop_attributes th{width:42%;}
  .woocommerce-product-attributes.shop_attributes th,
  .woocommerce-product-attributes.shop_attributes td{padding:11px 14px;}
}

/* ===== "Meer informatie"-knop weg op masterclasses + zomeracademie archief =====
   De add-to-cart-knop op de productkaartjes verbergen. Scope op de term-class
   zodat andere archieven (cursussen, opleidingen) ongemoeid blijven. */
body.term-masterclasses ul.products li.product .add_to_cart_button,
body.term-masterclasses ul.products li.product a.button.product_type_simple,
body.term-masterclasses ul.products li.product a.button.product_type_variable,
body.term-zomeracademie ul.products li.product .add_to_cart_button,
body.term-zomeracademie ul.products li.product a.button.product_type_simple,
body.term-zomeracademie ul.products li.product a.button.product_type_variable{display:none !important;}

/* ===== Cursus-archief filters — checkboxes + dropdowns, brand-stijl ===== */
/* position/z-index/background = defensief: voorkomt dat producten door de filters
   heen schijnen of eroverheen vallen op mobiel (eigen laag, eigen achtergrond). */
.wa-cursus-filters{--red:#BE1622;--line:#e5e5e5;--mut:#6b6b6b;--ink:#141414;display:flex;flex-direction:column;gap:0;position:relative;z-index:2;background:#fff;}
.wa-cursus-filters .wa-filter{padding:14px 0;border-bottom:1px solid var(--line);}
.wa-cursus-filters .wa-filter:first-child{padding-top:0;}
.wa-cursus-filters .wa-filter-title{font-family:"Maven Pro",sans-serif;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink);margin:0 0 8px;}

/* checkbox list — compact */
.wa-cursus-filters .wa-filter-list{list-style:none;margin:0;padding:0;}
.wa-cursus-filters .wa-filter-item{margin:0;}
.wa-cursus-filters .wa-check{display:flex;align-items:center;gap:9px;padding:3px 0;cursor:pointer;font-size:.85rem;color:var(--ink);}
.wa-cursus-filters .wa-check input{position:absolute;opacity:0;width:0;height:0;}
.wa-cursus-filters .wa-check-box{flex:0 0 auto;width:16px;height:16px;border:1.5px solid var(--line);background:#fff;border-radius:0;position:relative;transition:border-color .15s,background .15s;}
.wa-cursus-filters .wa-check:hover .wa-check-box{border-color:var(--red);}
.wa-cursus-filters .wa-check input:checked + .wa-check-box{background:var(--red);border-color:var(--red);}
.wa-cursus-filters .wa-check input:checked + .wa-check-box::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.wa-cursus-filters .wa-check input:focus-visible + .wa-check-box{outline:2px solid var(--red);outline-offset:2px;}
.wa-cursus-filters .wa-check-label{flex:1;line-height:1.25;}
.wa-cursus-filters .wa-check-count{color:#9a9a9a;font-size:.78rem;font-variant-numeric:tabular-nums;}
.wa-cursus-filters .wa-check input:checked ~ .wa-check-label{font-weight:600;}

/* dropdown (Docent, Interesse gebied) — compact */
.wa-cursus-filters select{width:100%;border:1px solid var(--line);border-radius:0;min-height:40px;background:#fff;padding:0 12px;font-size:.85rem;color:var(--ink);box-shadow:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b6b6b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;}
.wa-cursus-filters select:focus{border-color:var(--red);outline:none;}
/* selectWoo/select2 (if WC JS enhances it) → same sharp brand look */
.wa-cursus-filters .select2-container .select2-selection--single{border:1px solid var(--line) !important;border-radius:0 !important;min-height:40px;height:40px;background:#fff;box-shadow:none !important;font-size:.85rem;}
.wa-cursus-filters .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:38px;padding-left:12px;color:var(--ink);font-size:.85rem;}
.wa-cursus-filters .select2-container--default .select2-selection--single .select2-selection__arrow{height:38px;}
.wa-cursus-filters .select2-dropdown{border-radius:0 !important;border-color:var(--line);}
.wa-cursus-filters .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--red);}
.wa-cursus-filters .select2-search--dropdown .select2-search__field{border-radius:0;border-color:var(--line);}

/* actions */
.wa-cursus-filters .wa-filter-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:16px;}
.wa-cursus-filters .wa-filter-submit{background:var(--red);color:#fff;border:none;border-radius:0;font-family:"Maven Pro",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;padding:11px 20px;cursor:pointer;transition:background .15s;}
.wa-cursus-filters .wa-filter-submit:hover{background:#9e121d;}
.wa-cursus-filters .wa-filter-reset{color:var(--mut);font-size:.8rem;text-decoration:underline;}
.wa-cursus-filters .wa-filter-reset:hover{color:var(--red);}

/* Mobiel/tablet: filters staan BOVEN de producten en krijgen een duidelijke
   afsluiting, zodat ze nooit over de productenlijst heen kunnen vallen. */
@media(max-width:1024px){
  .wa-cursus-filters{width:100%;float:none;clear:both;overflow:hidden;
    padding-bottom:8px;margin-bottom:24px;border-bottom:2px solid var(--line);}
  .wa-cursus-filters .wa-filter{padding:12px 0;}
}

/* =========================================================================
   Wachtlijst + cadeaubon
   Vlak en met rechte hoeken, geen afronding, geen rode omlijning om velden.
   ====================================================================== */

/* ---------------------------------- Wachtlijst ------------------------ */
/* Let op: portal-style.css van de portaal-plugin wordt op de HELE site
   geladen en stijlt daar alle knoppen met een selector die ID-gewicht
   heeft. Daarom staat `:not(#wackers-dashboard-root *)` in de knopregels
   hieronder. Die portal-regel gebruikt bovendien !important, dus op de
   knop-eigenschappen die zij overschrijft is !important hier onvermijdelijk. */

.wcwl_elements {
    margin: 24px 0 0;
}

.wcwl_elements input[type="email"],
.wcwl_elements input[type="text"] {
    width: 100%;
    max-width: 100%;
    padding: 14px 16px;
    border: 1px solid #111;
    border-radius: 0;
    box-shadow: none;
    font-size: 16px; /* voorkomt inzoomen op iOS */
    background: #fff;
}

.wcwl_elements input[type="email"]:focus,
.wcwl_elements input[type="text"]:focus {
    outline: 2px solid #111;
    outline-offset: 0;
    border-color: #111;
    box-shadow: none;
}

.wcwl_elements .wcwl_control button:not(#wackers-dashboard-root *),
.wcwl_elements button.woocommerce_waitlist:not(#wackers-dashboard-root *) {
    width: 100%;
    padding: 15px 24px;
    margin-top: 12px;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #BE1622 !important;
    color: #fff !important;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    cursor: pointer;
}

.wcwl_elements .wcwl_control button:not(#wackers-dashboard-root *):hover,
.wcwl_elements button.woocommerce_waitlist:not(#wackers-dashboard-root *):hover {
    background: #111 !important;
    color: #fff !important;
}

.wa-wl-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 14px 0 4px;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

.wa-wl-consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 3px;
    border-radius: 0;
}

/* Meldingen van de wachtlijst */
.wcwl_notice,
.wcwl_error {
    padding: 12px 16px;
    border-radius: 0;
    border-left: 4px solid #111;
    background: #f5f5f5;
    margin: 12px 0;
    font-size: 14px;
}

.wcwl_error {
    border-left-color: #BE1622;
}

/* Melding "Je staat op de wachtlijst" (15-10-2026): de WooCommerce-meldingstijl zette een groen vinkje óp de tekst,
   een groene rand bovenaan en een donker sluitknopje naast de melding. Nu: rustig grijs vlak, geen icoon,
   klein sluitkruisje rechts in het vlak. */
.wcwl_notice.woocommerce-message {
    position: relative;
    padding: 12px 44px 12px 16px;
    border-top: 0;
    color: #333;
}

.wcwl_notice.woocommerce-message::before {
    content: none !important;
    display: none !important;
}

.wcwl_notice.woocommerce-message p {
    margin: 0;
}

.wcwl_notice .wcwl_notice_dismiss:not(#wackers-dashboard-root *),
.wcwl_notice .wcwl_notice_dismiss:not(#wackers-dashboard-root *):hover,
.wcwl_notice .wcwl_notice_dismiss:not(#wackers-dashboard-root *):focus {
    /* :not(#...) + !important: de algemene regel button:not(#wackers-dashboard-root *) (donker vlak, !important) weegt anders zwaarder. */
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    line-height: 28px !important;
}

.wcwl_notice .wcwl_notice_dismiss::before {
    color: #111;
}

/* Vinkje "Houd me ook op de hoogte ..." onder de melding: gewone zin, geen kapitalen. */
.wcwl_optin {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 12px 0;
}

.wcwl_optin label {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.wcwl_optin input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 3px;
    border-radius: 0;
}

/* ---------------------------------- Cadeaubon ------------------------- */

.wa-gc-amount {
    margin: 0 0 24px;
}

.wa-gc-amount > label {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-size: 13px;
}

.wa-gc-amount__field {
    display: flex;
    align-items: stretch;
    border: 1px solid #111;
    max-width: 260px;
}

.wa-gc-amount__currency {
    display: flex;
    align-items: center;
    padding: 0 14px;
    background: #111;
    color: #fff;
    font-weight: 700;
}

.wa-gc-amount__field input[type="number"] {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    padding: 13px 14px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 16px;
    background: #fff;
}

.wa-gc-amount__field input[type="number"]:focus {
    outline: 0;
    box-shadow: none;
}

.wa-gc-amount__field:focus-within {
    outline: 2px solid #111;
    outline-offset: 0;
}

.wa-gc-amount__hint {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: #555;
}

/* Velden van de cadeaubonplugin (Aan / Van / Bericht / Leveringsdatum): label boven het vak, uitleg eronder,
   zelfde stijl als het bedragveld. De algemene .form-row-opmaak zette ze in twee kolommen (14-10-2026). */
.woocommerce_gc_giftcard_form .wc_gc_field.form-row {
    display: block !important;
    margin: 0 0 20px;
    padding: 0;
}

.woocommerce_gc_giftcard_form .wc_gc_field > label {
    display: block;
    width: auto;
    margin: 0 0 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-size: 13px;
}

.woocommerce_gc_giftcard_form .wc_gc_field input.input-text,
.woocommerce_gc_giftcard_form .wc_gc_field textarea.input-text {
    display: block;
    width: 100%;
    max-width: 520px;
    padding: 13px 14px;
    border: 1px solid #111;
    border-radius: 0;
    box-shadow: none;
    font-size: 16px;
    background: #fff;
}

.woocommerce_gc_giftcard_form .wc_gc_field input.input-text:focus,
.woocommerce_gc_giftcard_form .wc_gc_field textarea.input-text:focus {
    outline: 2px solid #111;
    outline-offset: 0;
    box-shadow: none;
}

.woocommerce_gc_giftcard_form .wc_gc_field > small.description {
    display: block;
    width: auto;
    margin-top: 8px;
    font-size: 13px;
    color: #555;
}

.woocommerce_gc_giftcard_form .wc_gc_field .reset_delivery_date {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
}

/* Formuliervelden van de cadeaubon-plugin in dezelfde stijl */
.woocommerce_gc_giftcard_form input[type="text"],
.woocommerce_gc_giftcard_form input[type="email"],
.woocommerce_gc_giftcard_form input[type="date"],
.woocommerce_gc_giftcard_form textarea,
.wc_gc_field input,
.wc_gc_field textarea {
    border: 1px solid #111;
    border-radius: 0;
    box-shadow: none;
    padding: 12px 14px;
    font-size: 16px;
    width: 100%;
}

/* Inwisselveld bij het afrekenen */
.wc-gc-form-redeem input[type="text"],
.woocommerce-gc-redeem-form input[type="text"] {
    border: 1px solid #111;
    border-radius: 0;
    box-shadow: none;
    padding: 12px 14px;
    font-size: 16px;
}

@media (max-width: 600px) {
    .wa-gc-amount__field {
        max-width: 100%;
    }
}

/* Wachtlijst: de knop zit in een <a>, die mag geen link-opmaak krijgen */
.wcwl_elements .wcwl_control,
.wcwl_elements .wcwl_control:hover,
.wcwl_elements .wcwl_control:focus {
    display: block;
    text-decoration: none;
    border: 0;
    outline: 0;
    box-shadow: none;
}

.wcwl_intro p {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.6;
}

.wcwl_elements .spinner {
    display: none;
}

/* =====================================================================
   Winkelmand + Checkout + Bedankpagina — één consistente opmaak
   ---------------------------------------------------------------------
   winkelmand-2 (body .woocommerce-cart), checkout-3 (.woocommerce-checkout)
   en checkout-3/order-received (.woocommerce-checkout .woocommerce-order-received)
   krijgen dezelfde koppen, tabellen, velden en knoppen. De checkout-regels
   hierboven blijven staan; dit vult winkelmand en bedankpagina bij en trekt
   de drie gelijk. Huisregel: alles vierkant, geen schaduw.
   ===================================================================== */
.woocommerce-cart,
.woocommerce-order-received{--red:#BE1622;--ink:#333;--line:#d8d8d8;--soft:#f6f6f6;}

.woocommerce-cart .woocommerce input,
.woocommerce-cart .woocommerce select,
.woocommerce-cart .woocommerce .button,
.woocommerce-cart .woocommerce table,
.woocommerce-order-received .woocommerce input,
.woocommerce-order-received .woocommerce .button,
.woocommerce-order-received .woocommerce table{border-radius:0 !important;box-shadow:none !important;}

/* ---- Koppen: zelfde stijl als op de checkout ---- */
.woocommerce-cart .woocommerce h2,
.woocommerce-cart .cart_totals h2,
.woocommerce-order-received .woocommerce h2,
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title{
  font-family:"Maven Pro",sans-serif;font-size:1.25rem;font-weight:700;color:var(--ink);
  margin:0 0 16px;padding-bottom:10px;border-bottom:3px solid var(--red);}

/* ---- Tabellen: winkelmand gelijk aan het order-review van de checkout ---- */
.woocommerce-cart .shop_table,
.woocommerce-order-received .shop_table{width:100%;border-collapse:collapse;border:1px solid var(--line);}
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td,
.woocommerce-order-received .shop_table th,
.woocommerce-order-received .shop_table td{
  padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem;}
.woocommerce-cart .shop_table th,
.woocommerce-order-received .shop_table th{
  font-family:"Maven Pro",sans-serif;font-weight:700;background:var(--soft);}
.woocommerce-cart .shop_table .order-total th,
.woocommerce-cart .shop_table .order-total td,
.woocommerce-order-received .shop_table tfoot tr:last-child th,
.woocommerce-order-received .shop_table tfoot tr:last-child td{
  font-weight:700;font-size:1.05rem;border-bottom:none;}
.woocommerce-cart .shop_table .product-thumbnail img{max-width:64px;height:auto;}

/* ---- Velden in de winkelmand (kortingscode, aantal) ---- */
.woocommerce-cart .woocommerce .input-text,
.woocommerce-cart .woocommerce input[type="text"],
.woocommerce-cart .woocommerce input[type="number"],
.woocommerce-cart .woocommerce .quantity .qty{
  box-sizing:border-box;background:#fff;border:1px solid var(--line);
  padding:11px 12px;font-size:.95rem;color:var(--ink);line-height:1.3;min-height:44px;}
.woocommerce-cart .woocommerce .input-text:focus,
.woocommerce-cart .woocommerce .quantity .qty:focus{border-color:var(--red);outline:none;}
.woocommerce-cart .woocommerce .quantity .qty{width:84px;text-align:center;}
.woocommerce-cart .woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;}
.woocommerce-cart .woocommerce .coupon .input-text{flex:1 1 200px;min-width:0;}

/* ---- Knoppen: dezelfde rode blok-knop als "Bestelling plaatsen" ---- */
.woocommerce-cart .woocommerce .checkout-button,
.woocommerce-cart .woocommerce .wc-proceed-to-checkout .button,
.woocommerce-cart .woocommerce .return-to-shop .button,
.woocommerce-order-received .woocommerce .button{
  display:inline-block;background:var(--red) !important;color:#fff !important;border:0;
  font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.02em;
  padding:15px 20px;cursor:pointer;text-transform:uppercase;text-decoration:none;
  transition:background .15s;}
.woocommerce-cart .woocommerce .checkout-button:hover,
.woocommerce-cart .woocommerce .wc-proceed-to-checkout .button:hover,
.woocommerce-cart .woocommerce .return-to-shop .button:hover,
.woocommerce-order-received .woocommerce .button:hover{background:#9e121d !important;}
.woocommerce-cart .woocommerce .checkout-button,
.woocommerce-cart .woocommerce .wc-proceed-to-checkout .button{width:100%;text-align:center;}
/* Secundaire knoppen (winkelmand bijwerken, coupon toepassen) — omlijnd i.p.v. vol rood */
.woocommerce-cart .woocommerce button[name="update_cart"],
.woocommerce-cart .woocommerce button[name="apply_coupon"]{
  background:#fff !important;color:var(--red) !important;border:1px solid var(--red) !important;
  font-family:"Maven Pro",sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.02em;
  padding:13px 18px;text-transform:uppercase;cursor:pointer;}
.woocommerce-cart .woocommerce button[name="update_cart"]:hover,
.woocommerce-cart .woocommerce button[name="apply_coupon"]:hover{background:var(--soft) !important;}

/* ---- Meldingen: gelijk op alle drie ---- */
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .cart-empty,
.woocommerce-order-received .woocommerce-info,
.woocommerce-order-received .woocommerce-message{
  background:var(--soft);border:0;border-left:3px solid var(--red);
  padding:14px 16px;margin:0 0 20px;font-size:.95rem;color:var(--ink);}
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .cart-empty::before,
.woocommerce-order-received .woocommerce-info::before{display:none;}

/* ---- Bedankpagina ---- */
/* "Bedankt. Je bestelling is ontvangen." als kop, niet als grijze melding */
.woocommerce-order-received .woocommerce-thankyou-order-received{
  font-family:"Maven Pro",sans-serif;font-size:1.5rem;font-weight:700;color:var(--ink);
  background:none;border:0;border-left:0;padding:0 0 14px;margin:0 0 24px;
  border-bottom:3px solid var(--red);}
.woocommerce-order-received .woocommerce-thankyou-order-received::before{display:none;}

/* De overzichtsregel (bestelnummer, datum, e-mail, totaal, betaalmethode) */
.woocommerce-order-received ul.order_details{
  list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0 0 32px;padding:0;
  border:1px solid var(--line);background:var(--soft);}
.woocommerce-order-received ul.order_details li{
  flex:1 1 160px;margin:0;padding:14px 16px;border:0;border-right:1px solid var(--line);
  font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:#666;line-height:1.35;}
.woocommerce-order-received ul.order_details li:last-child{border-right:0;}
.woocommerce-order-received ul.order_details li strong{
  display:block;margin-top:6px;font-size:1rem;font-weight:700;letter-spacing:0;
  text-transform:none;color:var(--ink);}

/* Adresblok */
.woocommerce-order-received .woocommerce-customer-details address{
  border:1px solid var(--line);padding:16px;font-style:normal;line-height:1.6;font-size:.95rem;}
.woocommerce-order-received .woocommerce-columns{display:flex;flex-wrap:wrap;gap:28px;margin:0;}
.woocommerce-order-received .woocommerce-columns .woocommerce-column{flex:1 1 260px;padding:0;}
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{margin:0 0 32px;}

/* Inlogformulier op de bedankpagina in dezelfde stijl */
.woocommerce-order-received .woocommerce-form-login{
  border:1px solid var(--line);padding:20px;margin:0 0 32px;}

@media (max-width:600px){
  .woocommerce-order-received ul.order_details{flex-direction:column;}
  .woocommerce-order-received ul.order_details li{border-right:0;border-bottom:1px solid var(--line);}
  .woocommerce-order-received ul.order_details li:last-child{border-bottom:0;}
  .woocommerce-cart .woocommerce .coupon{flex-direction:column;}
}

/* ---------------------------------------------------------------------
   Alle sectiekoppen op winkelmand + checkout + bedankpagina gelijk
   ---------------------------------------------------------------------
   "Factureringsgegevens" (h3), "Jouw bestelling" (h3#order_review_heading)
   en "Heb je een cadeaubon?" (h4) hadden drie verschillende uiterlijken:
   de Elementor-kit (.elementor-kit-32191 h3/h4) heeft dezelfde specificiteit
   als .woocommerce-checkout h3 en staat later in de bundel, dus die won --
   behalve bij #order_review_heading, dat door zijn ID wel bleef staan.
   De h4 van de cadeaubon viel er helemaal buiten.
   Deze selectors hebben twee klassen (0,2,1) en verslaan de kit ongeacht
   de volgorde. Waarden identiek aan het checkout-blok hierboven.
   --------------------------------------------------------------------- */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .add_gift_card_form > h4,
.woocommerce-checkout .e-checkout__order_review-2 h4,
.woocommerce-checkout .woocommerce-order-details__title,
.woocommerce-checkout .woocommerce-column__title,
.woocommerce-cart .add_gift_card_form > h4,
.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cross-sells > h2{
  font-family:"Maven Pro",sans-serif !important;
  font-size:1.25rem !important;
  font-weight:700 !important;
  line-height:1.3;
  letter-spacing:normal;
  text-transform:none;
  color:var(--ink,#333) !important;
  margin:0 0 16px;
  padding:0 0 10px;
  border-bottom:3px solid var(--red,#BE1622);}

/* ---- Semesters bij cursussen (inc/wa-semester.php, 22-10-2026) ---- */
/* Label op de cursuskaart, boven de titel */
.wa-semester-label{display:block;font-family:"Roboto",sans-serif;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#BE1622;line-height:1.3;}
/* Knoppen boven de cursussen, zelfde stijl als de knoppen in de header */
.wa-semester-knoppen{display:flex;flex-wrap:wrap;gap:10px;}
.wa-semester-knoppen a.wa-semester-knop{display:inline-block;font-family:"Roboto",sans-serif;font-size:15px;font-weight:400;line-height:1.3;padding:6px 14px 8px;border:1px solid #BE1622;color:#BE1622;background:#fff;text-decoration:none;border-radius:0;transition:background-color .2s,color .2s;}
.wa-semester-knoppen a.wa-semester-knop:hover,.wa-semester-knoppen a.wa-semester-knop.is-actief{background:#BE1622;color:#fff;}
@media(max-width:767px){ .wa-semester-knoppen a.wa-semester-knop{font-size:14px;padding:6px 12px 7px;} }

/* Bugs-doc 30-10-2026 "Buttons lopen tegen elkaar on rescale": sinds de knop "exposities en lezingen" erbij kwam, past de rij
   menuknoppen tussen 1001 en 1077 px breed niet meer (gemeten: knoptekst breekt af op 2 regels). Tot en met 1165 px de knoppen
   verbergen, zoals op tablet al gebeurt. Alleen de header (32235); het breekpunt van de rest van de site blijft 1000. */
@media (max-width: 1165px) {
  .elementor-32235 .elementor-element-1b8ad0b,
  .elementor-32235 .elementor-element-72df8c30,
  .elementor-32235 .elementor-element-40685d4d,
  .elementor-32235 .elementor-element-41b24ef8,
  .elementor-32235 .elementor-element-28645b71 { display: none !important; }
}

/* Bugs-doc 30-10-2026 "Waardebon staat scheef t.o.v. couponcode": de Elementor-winkelmand zet invulvak en knop in
   .coupon > .coupon-col > .coupon-col-start / .coupon-col-end. Onze flex-regel zat op .coupon (1 kind), dus vak en knop
   stonden niet netjes naast elkaar. Nu: vak en knop op één lijn, even hoog; op mobiel onder elkaar. */
.woocommerce-cart .e-cart-section.coupon .coupon-col{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:0;padding:0;}
.woocommerce-cart .e-cart-section.coupon .coupon-col-start{flex:1 1 220px;margin:0;}
.woocommerce-cart .e-cart-section.coupon .coupon-col-end{flex:0 0 auto;margin:0;}
.woocommerce-cart .e-cart-section.coupon .coupon-col-start .input-text{width:100%;height:100%;min-height:46px;box-sizing:border-box;margin:0;}
.woocommerce-cart .e-cart-section.coupon .coupon-col-end .button{height:100%;min-height:46px;margin:0;}
@media (max-width: 767px){
  .woocommerce-cart .e-cart-section.coupon .coupon-col{flex-direction:column;}
  .woocommerce-cart .e-cart-section.coupon .coupon-col-end .button{width:100%;}
}

/* Bugs-doc 30-10-2026 "Mobiel: scherm naar rechts te schuiven (witte ruimte), homepage": de slides van de carrousel bovenaan
   (6dcf295b) staken buiten het scherm (gemeten: pagina 1417 px breed op een 390 px-scherm). Carrousel knipt nu af. */
/* 03-11-2026: alleen links/rechts afknippen; met overflow:hidden vielen de rode pijlen (onder de carrousel) weg. */
.elementor-32242 .elementor-element-6dcf295b { overflow: visible; overflow-x: clip; overflow-y: visible; }

/* Waardebon v2 (30-10-2026, na screenshot Alex): Elementor-widgetregels wonnen van v1 (vak 120px hoog, knop lager).
   Nu met widgetselector + !important: vak en knop 50px hoog, bovenkant gelijk, 10px ertussen; mobiel onder elkaar. */
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col{display:flex !important;flex-wrap:wrap;align-items:stretch !important;gap:10px !important;margin:0 !important;padding:0 !important;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-start,
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-end{margin:0 !important;padding:0 !important;width:auto !important;display:flex;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-start{flex:1 1 240px;max-width:420px;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-end{flex:0 0 auto;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon #coupon_code,
.elementor-widget-woocommerce-cart .e-cart-section.coupon .e-apply-coupon{height:50px !important;min-height:0 !important;margin:0 !important;box-sizing:border-box !important;padding:0 18px !important;line-height:50px !important;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon #coupon_code{width:100% !important;}
@media (max-width:767px){
  .elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col{flex-direction:column;}
  .elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-start{max-width:none;}
  .elementor-widget-woocommerce-cart .e-cart-section.coupon .e-apply-coupon{width:100% !important;}
}

/* Waardebon v3 (30-10-2026, Alex: "maak ze even groot en zet ze naast elkaar"): vaste 2-koloms grid i.p.v. flex,
   zodat Elementor-regels (flex:2 / flex:1 / display:block) niet meer meespelen. Vak en knop even breed, 50px hoog. Mobiel onder elkaar. */
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;align-items:stretch !important;margin:0 !important;padding:0 !important;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-start,
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col-end{display:block !important;flex:none !important;max-width:none !important;width:auto !important;margin:0 !important;padding:0 !important;text-align:left !important;}
.elementor-widget-woocommerce-cart .e-cart-section.coupon #coupon_code,
.elementor-widget-woocommerce-cart .e-cart-section.coupon .e-apply-coupon{width:100% !important;height:50px !important;}
@media (max-width:767px){
  .elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col{grid-template-columns:1fr !important;}
}

/* Waardebon v4 (30-10-2026): de clearfix van WooCommerce (.form-row::before/::after) telde als extra grid-cel, daardoor stond het
   vak in kolom 2 en de knop op een nieuwe regel. Pseudo-elementen uit. Getest met Playwright (pagina via de server opgehaald):
   1440/1024 px vak en knop naast elkaar 221x50, zelfde bovenkant; 390 px onder elkaar 328x50. */
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col::before,
.elementor-widget-woocommerce-cart .e-cart-section.coupon .coupon-col::after{content:none !important;display:none !important;}


/* Alex 30-10-2026 (vervangt de 20px-regel): pijlen van BEIDE homepage-carrousels (6dcf295b bovenaan, 735989c Nieuws)
   10px uit elkaar, rechts uitgelijnd, op ALLE schermen. De vorige-pijl stond vast op 1330px van links: op mobiel ver buiten
   beeld (pagina 1417px breed -> uitzoomen mogelijk). Breedte pijl via var zodat het ook klopt als de pijl op mobiel kleiner is. */
.elementor-32242 .elementor-element-735989c .elementor-swiper-button-prev,
.elementor-32242 .elementor-element-6dcf295b .elementor-swiper-button-prev{left:auto !important;inset-inline-start:auto !important;right:calc(var(--wa-pijl, 47px) + 10px) !important;inset-inline-end:calc(var(--wa-pijl, 47px) + 10px) !important;}

/* Alex 30-10-2026: op mobiel 40px witruimte tussen de rode pijlen van de carrousel "Nieuws" (735989c) en de kop "Vernieuwde website"
   (sectie 330fc9c). Gemeten op 390px: pijlen overlapten de kop met 19px -> sectie 59px extra omlaag (marge 40 -> 99px). Alleen mobiel. */
@media (max-width:767px){
  .elementor-32242 .elementor-element-330fc9c{margin-top:99px !important;}
}
