.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-f3642ea:#DFD9D1;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}
/* Start custom CSS *//* Spa Nova layout safe-net (kit 7 active) */
html,body{overflow-x:hidden}

/* Hide Camellia/Qode theme header & footer — Elementor Theme Builder owns these */
#qodef-page-header,
#qodef-page-footer,
.qodef-mobile-header,
#qodef-back-to-top{display:none !important;visibility:hidden !important;height:0 !important;overflow:hidden !important;position:absolute !important;pointer-events:none !important}
#qodef-page-outer{margin-top:0 !important}

/* Force horizontal nav-menu */
@media (min-width:681px){
.spa-nav-wrap .elementor-nav-menu--main .elementor-nav-menu{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;justify-content:center}
.spa-nav-wrap .elementor-nav-menu--main .elementor-nav-menu li{display:inline-flex}
.spa-nav-wrap .elementor-menu-toggle{display:none !important}
}
.spa-nav-wrap .elementor-nav-menu a.elementor-item-active,
.spa-nav-wrap .elementor-nav-menu a.elementor-item.elementor-item-active{color:#A6834D !important}
.spa-nav-wrap .elementor-nav-menu a.elementor-item-active:after,
.spa-nav-wrap .elementor-nav-menu a.elementor-item.highlighted:after,
.spa-nav-wrap .elementor-nav-menu a.elementor-item:hover:after{background-color:#A6834D !important;border-color:#A6834D !important}
.spa-plan-trigger .elementor-button{white-space:nowrap !important;min-width:200px;justify-content:center}
.spa-topbar .spa-rating-inner,.spa-topbar .spa-toplinks-nav,.spa-topbar .spa-lang-btn{white-space:nowrap}
.spa-topbar > .e-con-inner > *,.spa-topbar > *{flex-shrink:0}
.elementor-section.elementor-section-boxed > .elementor-container,.e-con.e-con-boxed > .e-con-inner{max-width:1240px}
.spa-slidepanel,.spa-mobile-nav{will-change:transform}


/* ============ Amelia booking form — Spa Nova brand v2 ============ */
.amelia-app-booking,.amelia-frontend-cabinet,.amelia-frontend-cabinets{
  font-family:'Albert Sans',system-ui,sans-serif !important;color:#000 !important
}
.amelia-app-booking *,.amelia-frontend-cabinet *,.amelia-frontend-cabinets *{
  font-family:'Albert Sans',system-ui,sans-serif !important
}
/* Headings */
.amelia-app-booking h1,.amelia-app-booking h2,.amelia-app-booking h3,
.amelia-app-booking .ams-card-title,.amelia-app-booking .ams-service-name,
.amelia-frontend-cabinet h1,.amelia-frontend-cabinet h2,.amelia-frontend-cabinet h3{
  font-family:'Cormorant Garamond',serif !important;font-weight:600 !important;color:#000 !important;letter-spacing:0 !important
}
/* Primary buttons */
.amelia-app-booking .el-button--primary,
.amelia-app-booking .el-button--primary:focus,
.amelia-frontend-cabinet .el-button--primary{
  background:#A6834D !important;border-color:#A6834D !important;color:#fff !important;
  border-radius:999px !important;padding:14px 28px !important;font-weight:600 !important;
  letter-spacing:1.4px !important;text-transform:uppercase !important;font-size:12px !important;
  height:auto !important;box-shadow:0 6px 16px rgba(166,131,77,.22) !important;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease !important
}
.amelia-app-booking .el-button--primary:hover{
  background:#8E6F40 !important;border-color:#8E6F40 !important;transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(166,131,77,.32) !important
}
.amelia-app-booking .el-button--default{
  border-radius:999px !important;border:1px solid rgba(0,0,0,.15) !important;
  padding:12px 24px !important;background:transparent !important;color:#000 !important
}
/* Step indicator */
.amelia-app-booking .el-steps__line,.amelia-app-booking .el-step__line{
  background-color:rgba(0,0,0,.08) !important
}
.amelia-app-booking .el-step__icon.is-process,.amelia-app-booking .el-step__icon.is-finish{
  background:#A6834D !important;border-color:#A6834D !important;color:#fff !important
}
.amelia-app-booking .el-step__title.is-process,.amelia-app-booking .el-step__title.is-finish{
  color:#A6834D !important;font-weight:600 !important
}
/* Service / Provider cards */
.amelia-app-booking .ams-service-card,.amelia-app-booking .ams-provider-card,
.amelia-app-booking .ams-extra-card{
  border-radius:18px !important;border:1px solid rgba(166,131,77,.12) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.04) !important;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease !important
}
.amelia-app-booking .ams-service-card:hover,.amelia-app-booking .ams-provider-card:hover{
  transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.08) !important;
  border-color:rgba(166,131,77,.4) !important
}
.amelia-app-booking .ams-service-card .ams-service-price,
.amelia-app-booking .ams-card-price{
  color:#A6834D !important;font-family:'Cormorant Garamond',serif !important;
  font-size:24px !important;font-weight:600 !important
}
/* Calendar */
.amelia-app-booking .el-calendar-table td.is-selected,
.amelia-app-booking .el-calendar-table td.current.is-selected,
.amelia-app-booking .ams-date-cell--selected{
  background:#A6834D !important;color:#fff !important;border-radius:8px !important
}
.amelia-app-booking .el-calendar-table td:hover{
  background:#F5F1E5 !important;border-radius:8px !important
}
.amelia-app-booking .el-calendar-table td.is-today .el-calendar-day{
  color:#A6834D !important;font-weight:700 !important
}
/* Time slot pills */
.amelia-app-booking .ams-time-slot,
.amelia-app-booking [class*="time-slot"]{
  border-radius:999px !important;border:1px solid rgba(0,0,0,.1) !important;
  padding:10px 18px !important;font-weight:500 !important;
  transition:all .25s ease !important
}
.amelia-app-booking .ams-time-slot:hover{border-color:#A6834D !important;color:#A6834D !important}
.amelia-app-booking .ams-time-slot--selected,
.amelia-app-booking [class*="time-slot"][class*="selected"]{
  background:#A6834D !important;border-color:#A6834D !important;color:#fff !important
}
/* Inputs */
.amelia-app-booking input[type=text],.amelia-app-booking input[type=email],
.amelia-app-booking input[type=tel],.amelia-app-booking input[type=number],
.amelia-app-booking select,.amelia-app-booking textarea,
.amelia-app-booking .el-input__inner,.amelia-app-booking .el-textarea__inner{
  border-radius:12px !important;border:1px solid rgba(0,0,0,.1) !important;
  padding:14px 18px !important;font-size:15px !important;
  transition:border-color .25s ease,box-shadow .25s ease !important
}
.amelia-app-booking input:focus,.amelia-app-booking .el-input__inner:focus,
.amelia-app-booking .el-textarea__inner:focus,.amelia-app-booking select:focus{
  border-color:#A6834D !important;box-shadow:0 0 0 4px rgba(166,131,77,.1) !important;
  outline:none !important
}
/* Coupon */
.amelia-app-booking [class*="coupon"] input{
  border:2px dashed rgba(166,131,77,.45) !important;background:rgba(245,241,229,.4) !important
}
/* Summary / sidebar */
.amelia-app-booking .ams-summary,.amelia-app-booking .ams-booking-summary{
  background:#F5F1E5 !important;border-radius:18px !important;padding:24px !important
}
/* Customer Panel */
.amelia-frontend-cabinet{padding:20px !important}
.amelia-frontend-cabinet .el-tabs__nav-wrap{border-bottom:1px solid rgba(0,0,0,.08) !important}
.amelia-frontend-cabinet .el-tabs__item{font-family:'Cormorant Garamond',serif !important;font-size:18px !important;color:rgba(0,0,0,.6) !important;font-weight:500 !important;padding:14px 22px !important}
.amelia-frontend-cabinet .el-tabs__item.is-active{color:#A6834D !important;font-weight:600 !important}
.amelia-frontend-cabinet .el-tabs__active-bar{background:#A6834D !important;height:3px !important}
/* Mobile */
@media (max-width:680px){
  .amelia-app-booking .el-button--primary{width:100% !important;margin-bottom:8px !important;padding:16px 22px !important}
  .amelia-app-booking .ams-service-card,.amelia-app-booking .ams-provider-card{margin-bottom:16px !important}
}


/* ============ Amelia sizing + responsive fixes ============ */
.spa-bs-formwrap{max-width:100% !important;width:100%}
.amelia-app-booking,.amelia-app{min-height:600px;width:100% !important;max-width:100% !important}
.amelia-app-booking .ams-container,.amelia-app .ams-container{padding:24px !important;max-width:1240px !important;margin:0 auto !important}
/* Service cards grid */
.amelia-app-booking .ams-services-list{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important}
@media (max-width:1024px){.amelia-app-booking .ams-services-list{grid-template-columns:repeat(2,1fr) !important;gap:18px !important}}
@media (max-width:680px){.amelia-app-booking .ams-services-list{grid-template-columns:1fr !important;gap:16px !important}}
/* Time slots */
.amelia-app-booking .ams-time-slots,.amelia-app-booking [class*="time-slots-list"]{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(96px,1fr)) !important;gap:8px !important}
@media (max-width:680px){.amelia-app-booking .ams-time-slots{grid-template-columns:repeat(auto-fill,minmax(80px,1fr)) !important;gap:6px !important}}
/* Calendar minimum size */
.amelia-app-booking .el-calendar,.amelia-app-booking [class*="calendar"]{min-height:480px}
/* iOS zoom prevention */
@media (max-width:768px){.amelia-app-booking input,.amelia-app-booking select,.amelia-app-booking textarea{font-size:16px !important}}
/* Step indicator mobile */
@media (max-width:480px){.amelia-app-booking .el-step__icon,.amelia-app-booking .el-steps__icon{width:28px !important;height:28px !important;line-height:28px !important;font-size:12px !important}.amelia-app-booking .el-step__title{font-size:11px !important}}
/* Loading state */
.amelia-app:not(.amelia-loaded){min-height:600px;display:flex;align-items:center;justify-content:center;background:#F5F1E5;border-radius:18px;color:#A6834D;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px}
.amelia-app:not(.amelia-loaded):before{content:"Reserveringsformulier laden…"}


/* ============ Amelia v2/v3 booking widget — Spa Nova force-fix ============ */
/* Force root widget to fill width */
.amelia-v2-booking,
[id^="amelia-v2-booking-"],
.amelia-app-booking,
.amelia-app,
#amelia-app{
  width:100% !important;
  max-width:100% !important;
  min-height:700px !important;
  display:block !important;
  font-family:'Albert Sans',system-ui,sans-serif !important
}

/* The inner step-form-wrapper Vue element */
step-form-wrapper,
.amelia-v2-booking step-form-wrapper{
  display:block !important;
  width:100% !important;
  min-height:600px
}

/* Inner Vue container — center with max-width */
.amelia-v2-booking > div,
.amelia-app-booking > div,
.amelia-app > div{
  width:100% !important;
  max-width:1240px !important;
  margin:0 auto !important
}

/* All Amelia internal layouts */
.amelia-v2-booking [class*="container"],
.amelia-v2-booking [class*="wrapper"],
.amelia-v2-booking [class*="amelia-wrap"]{
  max-width:100% !important;
  box-sizing:border-box
}

/* Step indicator tabs */
.amelia-v2-booking .el-steps,
.amelia-v2-booking [class*="step-indicator"],
.amelia-v2-booking nav[role="tablist"]{
  display:flex !important;
  flex-wrap:nowrap;
  width:100%;
  margin-bottom:32px !important
}
.amelia-v2-booking .el-step__title.is-process,
.amelia-v2-booking .el-step__title.is-finish,
.amelia-v2-booking [class*="step"][class*="active"]{
  color:#A6834D !important;
  font-family:'Cormorant Garamond',serif !important;
  font-weight:600 !important
}

/* Premium buttons */
.amelia-v2-booking button[class*="primary"],
.amelia-v2-booking .el-button--primary,
.amelia-v2-booking [class*="next-button"],
.amelia-v2-booking [class*="continue"]{
  background:#A6834D !important;
  border-color:#A6834D !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:14px 28px !important;
  font-weight:600 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  height:auto !important;
  box-shadow:0 6px 16px rgba(166,131,77,.22) !important;
  transition:background .25s ease,transform .25s ease !important
}
.amelia-v2-booking button[class*="primary"]:hover{
  background:#8E6F40 !important;border-color:#8E6F40 !important;transform:translateY(-1px)
}
.amelia-v2-booking button[class*="secondary"],
.amelia-v2-booking [class*="back-button"]{
  background:transparent !important;
  border:1px solid rgba(0,0,0,.18) !important;
  color:#000 !important;
  border-radius:999px !important
}

/* Service / Provider cards */
.amelia-v2-booking [class*="service-card"],
.amelia-v2-booking [class*="provider-card"],
.amelia-v2-booking [class*="location-card"],
.amelia-v2-booking [class*="card-item"]{
  border-radius:18px !important;
  border:1px solid rgba(166,131,77,.12) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease !important;
  background:#fff !important
}
.amelia-v2-booking [class*="service-card"]:hover,
.amelia-v2-booking [class*="provider-card"]:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.08) !important;
  border-color:rgba(166,131,77,.4) !important
}

/* Service/Provider grid */
.amelia-v2-booking [class*="services-list"],
.amelia-v2-booking [class*="providers-list"],
.amelia-v2-booking [class*="cards-grid"]{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important
}
@media (max-width:1024px){
  .amelia-v2-booking [class*="services-list"],
  .amelia-v2-booking [class*="cards-grid"]{
    grid-template-columns:repeat(2,1fr) !important;gap:18px !important
  }
}
@media (max-width:680px){
  .amelia-v2-booking [class*="services-list"],
  .amelia-v2-booking [class*="cards-grid"]{
    grid-template-columns:1fr !important;gap:16px !important
  }
}

/* Calendar */
.amelia-v2-booking [class*="calendar"],
.amelia-v2-booking .el-calendar{
  min-height:480px;width:100% !important
}
.amelia-v2-booking [class*="day"][class*="selected"],
.amelia-v2-booking [class*="date"][class*="active"]{
  background:#A6834D !important;
  color:#fff !important;
  border-radius:50% !important
}

/* Time slots */
.amelia-v2-booking [class*="time-slot"],
.amelia-v2-booking [class*="time-grid"] button{
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  padding:10px 18px !important;
  font-family:'Albert Sans',sans-serif !important;
  font-weight:500 !important;
  font-size:13px !important;
  background:#fff !important;
  color:#000 !important;
  transition:all .25s ease !important
}
.amelia-v2-booking [class*="time-slot"]:hover{border-color:#A6834D !important;color:#A6834D !important}
.amelia-v2-booking [class*="time-slot"][class*="selected"],
.amelia-v2-booking [class*="time-slot"][class*="active"]{
  background:#A6834D !important;border-color:#A6834D !important;color:#fff !important
}

/* Form inputs */
.amelia-v2-booking input[type=text],
.amelia-v2-booking input[type=email],
.amelia-v2-booking input[type=tel],
.amelia-v2-booking input[type=number],
.amelia-v2-booking select,
.amelia-v2-booking textarea,
.amelia-v2-booking .el-input__inner,
.amelia-v2-booking .el-textarea__inner{
  border-radius:12px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  padding:14px 18px !important;
  font-size:15px !important;
  font-family:'Albert Sans',sans-serif !important;
  width:100% !important;
  transition:border-color .25s ease,box-shadow .25s ease !important
}
.amelia-v2-booking input:focus,.amelia-v2-booking select:focus,.amelia-v2-booking textarea:focus,
.amelia-v2-booking .el-input__inner:focus{
  border-color:#A6834D !important;
  box-shadow:0 0 0 4px rgba(166,131,77,.1) !important;
  outline:none !important
}
@media (max-width:768px){
  .amelia-v2-booking input,.amelia-v2-booking select,.amelia-v2-booking textarea,
  .amelia-v2-booking .el-input__inner{font-size:16px !important}
}

/* Coupon input prominent */
.amelia-v2-booking [class*="coupon"] input{
  border:2px dashed rgba(166,131,77,.45) !important;
  background:rgba(245,241,229,.4) !important
}

/* Headings */
.amelia-v2-booking h1,.amelia-v2-booking h2,.amelia-v2-booking h3,
.amelia-v2-booking [class*="title"],.amelia-v2-booking [class*="heading"]{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:600 !important;
  color:#000 !important
}

/* Summary / sidebar */
.amelia-v2-booking [class*="summary"],
.amelia-v2-booking [class*="sidebar"]{
  background:#F5F1E5 !important;
  border-radius:18px !important;
  padding:24px !important
}

/* Loading skeleton — replace with branded loader */
.amelia-v2-booking:empty:before,
step-form-wrapper:empty:before{
  content:"Reserveringsformulier wordt geladen…";
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:500px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:20px;
  color:#A6834D;
  background:#F5F1E5;
  border-radius:18px
}

/* Mobile + step indicator scaling */
@media (max-width:480px){
  .amelia-v2-booking .el-step__icon{
    width:28px !important;height:28px !important;line-height:28px !important;font-size:12px !important
  }
  .amelia-v2-booking .el-step__title{font-size:11px !important;line-height:1.3}
}/* End custom CSS */