/*
Theme Name: Casting Agenda
Theme URI: https://castingagenda.nl
Author: Casting Agenda
Description: Professional theme with sticky header, mobile hamburger menu, dark mode, view transitions and scroll-driven animations
Version: 4.0.1
Text Domain: casting-agenda-theme
Domain Path: /languages
*/

:root{
  --ca-bg:#ffffff;
  --ca-surface:rgba(255,255,255,.92);
  --ca-text:#121526;
  --ca-muted:#222;
  --ca-border:rgba(15,23,42,.10);
  --ca-shadow:0 10px 30px rgba(2,6,23,.10);
  --ca-radius:14px;
  --ca-max:1200px;
  --ca-pad:20px;

  --ca-accent:#EB5E28;
  --ca-accent-cyan:#28e6eb;
  --ca-cream:#FFFCF2;
  --ca-lavender:#eef1ff;
  --ca-dark-surface:#252422;
  --ca-dark-bg:#1a1a2e;
  --ca-ink:#0F1115;

  --ca-font-body:'Open Sans', sans-serif;
  --ca-font-heading:Montserrat, 'Open Sans', sans-serif;

  --ca-space-1:4px;
  --ca-space-2:8px;
  --ca-space-3:12px;
  --ca-space-4:16px;
  --ca-space-5:24px;
  --ca-space-6:32px;
  --ca-space-8:48px;

  --ca-header-bg-light:#F5F6FA;
  --ca-header-bg-dark:#0F1115;
  --ca-container-max:1120px;
  --ca-content-max:1120px;
  --ca-center-img-max:1280px;
  --ca-logo-h-desktop:80px;
  --ca-logo-h-mobile:60px;

  --ca-header-h-desktop:145px;
  --ca-header-h-mobile:145px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{ background:#fafafa; }
html[data-theme="dark"],
html.dark{ background: var(--ca-dark-bg, #0f1220); }
body{
  margin:0;
  color:var(--ca-text);
  background:#fafafa;
  line-height:1.5;
}

a{color:inherit}
.ca-no-scroll{overflow:hidden}

.ca-content{
  max-width:var(--ca-content-max, var(--ca-max));
  padding:0 var(--ca-pad);
}

body.ca-auth-page .ca-header-widget-area { display: none !important; }

body.ca-auth-page .elementor-section,
body.ca-auth-page .elementor-widget,
body.ca-auth-page .wp-block-group,
body.ca-auth-page .wp-block-cover,
body.ca-auth-page [class*="elementor"],
body.ca-auth-page .entry-content > *:not(.ca-page),
body.ca-auth-page .ca-content > *:not(.ca-page):not(.ca-auth-card-wrap) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.ca-auth-page .ca-auth-card-wrap,
body.ca-auth-page .ca-auth-card {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

body.ca-auth-page .ca-page.ca-auth {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: calc(100vh - 140px) !important;
  min-height: calc(100svh - 140px) !important;
  padding: 32px 16px 48px !important;
  overflow: visible !important;
  height: auto !important;
  box-sizing: border-box !important;
}

body.ca-auth-page .ca-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.ca-auth-page .ca-footer {
  position: relative !important;
  z-index: 1 !important;
  clear: both !important;
}

body.ca-auth-page header.ca-header {
  position: relative !important;
  top: auto !important;
}

body.ca-auth-page {
  --ca-auth-min-height: calc(100vh - 140px);
  --ca-auth-min-height: calc(100svh - 140px);
}

body.ca-auth-page main.ca-content {
  overflow: visible !important;
  height: auto !important;
  flex: 0 0 auto !important;
  min-height: auto !important;
}

.ca-skip-link{
  position:absolute;
  top:-999px;
  left:var(--ca-space-2);
  z-index:9999;
  padding:var(--ca-space-3) var(--ca-space-4);
  background:var(--ca-accent);
  color:var(--ca-cream);
  border-radius:0 0 8px 8px;
  font-weight:600;
  text-decoration:none;
}
.ca-skip-link:focus{
  top:0;
}

.ca-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--ca-header-bg, var(--ca-header-bg-light));
  backdrop-filter: blur(10px);
  border-bottom:var(--ca-header-border, none);

  height: var(--ca-header-h-mobile);
  min-height: var(--ca-header-h-mobile);
  max-height: var(--ca-header-h-mobile);
}

@media (min-width:769px){
  .ca-header{
    height: var(--ca-header-h-desktop);
    min-height: var(--ca-header-h-desktop);
    max-height: var(--ca-header-h-desktop);
  }
}

.ca-header-inner{

  max-width:min(var(--ca-container-max, 1120px), 1120px);
  min-height:inherit;
  margin:0 auto;
  padding:10px var(--ca-pad);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ca-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.ca-logo{ display:inline-flex; align-items:center; }
.ca-logo-img{ width:auto; height:auto; display:block; max-height:var(--ca-logo-h-desktop); }

html[data-theme="light"]{ color-scheme:light; }
html[data-theme="dark"],
html.dark{ color-scheme:dark; }

.ca-logo--light{ display:inline-flex !important; }
.ca-logo--dark{ display:none !important; }

html[data-theme="dark"] .ca-logo--light,
html.dark               .ca-logo--light{ display:none !important; }
html[data-theme="dark"] .ca-logo--dark,
html.dark               .ca-logo--dark{ display:inline-flex !important; }

@media (prefers-color-scheme: dark){
  html:not([data-theme]):not(.dark) .ca-logo--light{ display:none !important; }
  html:not([data-theme]):not(.dark) .ca-logo--dark{ display:inline-flex !important; }
}

html[data-theme="dark"] body,
html.dark body {
  background: var(--ca-dark-bg, #0f1220);
  color: var(--ca-lavender);
}

html[data-theme="dark"] .ca-header nav ul li a,
html[data-theme="dark"] .ca-brand-text,
html.dark .ca-header nav ul li a,
html.dark .ca-brand-text {
  color: var(--ca-lavender);
}
html[data-theme="dark"] .ca-header nav ul li a:hover,
html.dark .ca-header nav ul li a:hover {
  background: rgba(255,255,255,.08);
}
html[data-theme="dark"] .ca-header nav .current-menu-item > a,
html[data-theme="dark"] .ca-header nav .current_page_item > a,
html.dark .ca-header nav .current-menu-item > a,
html.dark .ca-header nav .current_page_item > a {
  background: rgba(255,255,255,.12);
}

html[data-theme="dark"] .ca-burger,
html.dark .ca-burger,
html[data-theme="dark"] .ca-burger:before,
html[data-theme="dark"] .ca-burger:after,
html.dark .ca-burger:before,
html.dark .ca-burger:after {
  background: var(--ca-lavender);
}

.ca-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1.5px solid rgba(2,6,23,.15);
  background: none;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0;
  flex-shrink: 0;
  transition: border-color .15s, background .15s;
}
.ca-theme-toggle:hover { background: rgba(2,6,23,.05); }

.ca-theme-toggle__moon { display: inline; }
.ca-theme-toggle__sun  { display: none; }

html[data-theme="dark"] .ca-theme-toggle,
html.dark .ca-theme-toggle {
  border-color: rgba(255,255,255,.25);
  color: var(--ca-lavender);
}
html[data-theme="dark"] .ca-theme-toggle:hover,
html.dark .ca-theme-toggle:hover {
  background: rgba(255,255,255,.08);
}
html[data-theme="dark"] .ca-theme-toggle__moon,
html.dark .ca-theme-toggle__moon { display: none; }
html[data-theme="dark"] .ca-theme-toggle__sun,
html.dark .ca-theme-toggle__sun  { display: inline; }

html[data-theme="dark"] .ca-content h1,
html[data-theme="dark"] .ca-content h2,
html[data-theme="dark"] .ca-content h3,
html[data-theme="dark"] .ca-content p,
html[data-theme="dark"] .ca-content li,
html.dark .ca-content h1,
html.dark .ca-content h2,
html.dark .ca-content h3,
html.dark .ca-content p,
html.dark .ca-content li {
  color: var(--ca-lavender);
}
html[data-theme="dark"] .ca-content a,
html.dark .ca-content a {
  color: #6ee7ff;
}

html[data-theme="dark"] .ca-footer,
html.dark .ca-footer {
  background: var(--ca-dark-surface, #171a2a);
  border-top-color: var(--ca-dark-border, #1e2235);
}
html[data-theme="dark"] .ca-footer-text,
html[data-theme="dark"] .ca-footer-menu-list a,
html.dark .ca-footer-text,
html.dark .ca-footer-menu-list a {
  color: #a8afc7;
}
.ca-brand-text{
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.2px;
}

.ca-header-widget-area{
  flex:1 1 420px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  min-height:44px;
}
.ca-header-widget-area .ca-header-widget{
  background:#fff;
  border:1px solid var(--ca-border);
  border-radius:var(--ca-radius);
  padding:10px 12px;
  box-shadow:0 6px 18px rgba(2,6,23,.06);
}

.ca-nav-wrap{
  flex:1 1 100%;
  width:100%;
  min-width:0;
  display:block;
  margin-top:6px;
}
.ca-nav-panel{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.ca-header nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:16px;
  min-width:100%;
}
.ca-header nav ul li{margin:0;padding:0}
.ca-header nav ul li a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  border-radius:12px;
  padding:10px 12px;
  font-weight:650;
  color:var(--ca-dark-bg);
}
.ca-header nav ul li a:hover{background:rgba(2,6,23,.05)}

.ca-lang-nav ul li a{
  padding:6px 10px;
  font-weight:700;
  color:var(--ca-muted);
}
.ca-lang-nav ul li a:hover{
  background:rgba(2,6,23,.05);
  color:var(--ca-text);
}

.ca-nav-toggle{
  display:none;
  width:44px;height:44px;
  border-radius:12px;
  border:1px solid var(--ca-border, #e6e8ef);
  background:#f5f5f5;
  color-scheme:light;
  box-shadow:0 8px 20px rgba(2,6,23,.08);
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
.ca-burger{
  position:relative;
  width:18px;height:2px;
  background:var(--ca-dark-bg);
  border-radius:2px;
}
.ca-burger:before,.ca-burger:after{
  content:"";
  position:absolute;
  left:0;
  width:18px;height:2px;
  background:var(--ca-dark-bg);
  border-radius:2px;
  transition:transform .18s ease, top .18s ease, opacity .18s ease;
}
.ca-burger:before{top:-6px}
.ca-burger:after{top:6px}
.ca-header.is-open .ca-burger{background:transparent}
.ca-header.is-open .ca-burger:before{top:0;transform:rotate(45deg)}
.ca-header.is-open .ca-burger:after{top:0;transform:rotate(-45deg)}

footer{
  text-align:center;
  padding:36px 20px;
  border-top:1px solid var(--ca-border);
  color:var(--ca-muted);
}

html, body {
  height: 100%;
}

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

.ca-content {
  flex: 1;
}

@media (min-width: 1024px) {
  .ca-content {
    width: 1280px;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
  }
  .ca-nav-panel{
    width: 1120px;
    max-width: 1120px;
  }
}

@media (max-width: 480px) {
  body:not(.ca-auth-page) .ca-content {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
}

.ca-header-inner{
  overflow: hidden;
  padding-inline: 24px;
  padding-block: 18px;
  box-sizing: border-box;
}

.ca-nav-wrap{
  width: auto;
  max-width: 100%;
  margin: 0;
  transform: none;
  padding: 0;
}

.ca-nav-panel{
  width: auto;
  max-width: 100%;
}

.ca-nav{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
}

@media (max-width: 640px){
  .ca-header-inner{
    padding-inline: 14px;
    padding-block: 14px;
  }
  .ca-nav{
    gap: 12px;
  }
}

.ca-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

@media (min-width:769px){
  .custom-logo{ max-height:var(--ca-logo-h-desktop, 80px); width:auto; }
}

img.aligncenter.size-full{
  max-width:1280px;
  height:auto;
  display:block;
  margin-left:auto;
  margin-right:auto;
}

img.aligncenter.size-full{
  max-width:var(--ca-center-img-max, 1280px);
  height:auto;
  display:block;
}

.ca-header-inner{
  position:relative;
}

.ca-branding{
  position:absolute;
  left:50%;
  top:12px;
  transform:translateX(-50%);
  z-index:5;
  display:block;
  width:max-content;
  max-width:min(80vw, 100%);
}

.ca-brand{
  justify-content:center;
}

.ca-header-widget-area{
  flex:1 1 auto;
  justify-content:flex-start;
}

.ca-header-actions{
  margin-left:auto;
  position:relative;
  z-index:6;
}

@media (min-width:769px){
  .ca-header-inner{
    padding-top:calc(var(--ca-logo-h-desktop) + 24px);
  }
}

.ca-footer{
  margin:0 auto;
  padding:10px;
  border-top:1px solid var(--ca-border, var(--ca-accent));
  background: var(--ca-cream);
  color:var(--ca-muted);
  min-width:100%;
}

#caWebsiteBackTop {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: var(--ca-accent);
  color: var(--ca-cream);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
#caWebsiteBackTop:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
}
html[data-theme="dark"] #caWebsiteBackTop,
html.dark #caWebsiteBackTop {
  background: var(--ca-accent-cyan);
  color: var(--ca-dark-surface);
}

.ca-footer-inner{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.ca-footer-widgets,
.ca-footer-menu,
.ca-footer-text{
  width:100%;
}

.ca-footer-widget{
  margin:0;
}

.ca-footer-title{
  margin:0 0 12px;
  font-size:1rem;
  color:var(--ca-text);
}

.ca-footer-menu-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}

.ca-footer-menu-list a{
  text-decoration:none;
  color:var(--ca-text);
}

.ca-footer-text p{
  margin:0;
}

.ca-content:has(.ca-theme-shell),
.ca-content:has(.ca-page-article) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (min-width: 1024px) {
  .ca-content:has(.ca-theme-shell),
  .ca-content:has(.ca-page-article) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.ca-page-article {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.wp-block-button__link,
.wp-block-button .wp-block-button__link {
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  color: var(--ca-cream);
  border: none;
  box-shadow:
    0 2px 12px rgba(235,94,40,0.28),
    inset 0 1px 0 rgba(255,255,255,0.38);
  transition: box-shadow .18s, transform .12s;
}
.wp-block-button__link:hover {
  background: linear-gradient(145deg, var(--ca-accent), var(--ca-accent-cyan));
  box-shadow:
    0 5px 20px rgba(235,94,40,0.39),
    inset 0 1px 0 rgba(255,255,255,0.45);
  transform: translateY(-1px);
  color: var(--ca-cream);
}

@media (min-width: 769px) {
  .ca-logo-img {
    min-height: var(--ca-logo-h-desktop);
    max-height: var(--ca-logo-h-desktop);
    height: var(--ca-logo-h-desktop);
    margin-top: -15px;
  }
  .ca-content {
    width: 100vw;
    max-width: 100vw;
    margin-left: 0;
    margin-right: 0;
  }
  .menu-item-72 a { width: 210px; }

  .ca-header-actions,
  nav.ca-lang-nav { position: absolute; }

  .ca-nav.ca-primary-nav {
    position: static;
    left: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2px 4px;
    width: auto;
    max-width: 1120px;
    margin: 0 auto;
    margin-top: 105px;
    padding: 6px 8px;
    box-sizing: border-box;
  }
  .ca-nav.ca-primary-nav ul { width: 100%; }
  .ca-nav.ca-primary-nav li { width: auto; }

  .ca-header-inner nav.ca-lang-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0;
  }
  .ca-header nav ul { gap: 0; }
  .ca-header-actions { top: 10px; right: 20px; width: auto; display: flex; flex-direction: row; align-items: center; gap: 12px; z-index: 1001; }
  nav.ca-lang { display: inline-flex; }

  nav.ca-primary-nav ul.ca-nav-list { gap: 6px; }
  nav.ca-primary-nav a {
    height: 25px;
    line-height: 25px;
    margin-top: 0;
    padding: 5px 10px;
    border-radius: 999px;
    font-family: var(--ca-font-heading);
    font-weight: 600;
    letter-spacing: .2px;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
  }
}

nav.ca-primary-nav a:hover {
  background: rgba(235,94,40,.12);
  color: var(--ca-accent);
}
@media (hover: hover) {
  nav.ca-primary-nav a:hover { transform: translateY(-1px); }
}
nav.ca-primary-nav .current-menu-item > a,
nav.ca-primary-nav .current_page_item > a {
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  color: var(--ca-cream);
  box-shadow: 0 4px 14px rgba(235,94,40,.30);
}
nav.ca-primary-nav .current-menu-item > a:hover,
nav.ca-primary-nav .current_page_item > a:hover { color: var(--ca-cream); transform: none; }

nav.ca-primary-nav a[href*="/app/login"] {
  background: var(--ca-dark-bg);
  color: var(--ca-cream);
  font-weight: 700;
  margin-left: 8px;
}
nav.ca-primary-nav a[href*="/app/login"]:hover { background: var(--ca-accent); color: var(--ca-cream); }
html[data-theme="dark"] nav.ca-primary-nav a[href*="/app/login"],
html.dark nav.ca-primary-nav a[href*="/app/login"] {
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  color: var(--ca-ink);
}
html[data-theme="dark"] nav.ca-primary-nav a[href*="/app/login"]:hover,
html.dark nav.ca-primary-nav a[href*="/app/login"]:hover {
  background: linear-gradient(145deg, var(--ca-accent), var(--ca-accent-cyan));
  color: var(--ca-ink);
}

article p { min-width: 100%; line-height: 1.7rem; }
.ca-page-article { padding: 0 20px; min-width: 100%; margin: 0 auto; }

.ca-header-inner * { font-family: var(--ca-font-heading); }
.ca-header nav ul li a { font-size: 0.97rem; }

.ca-footer-menu a { font-family: var(--ca-font-body); font-size: 75%; font-weight: 600; }
.site-footer ul li,
.ca-footer-menu-list li,
:where(.site-footer, footer) :where(ul li) { background: none; border: none; }

body, html, p, p strong {
  font-family: var(--ca-font-body);
  font-size: 1rem;
  line-height: 1.5rem;
}
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ca-font-heading);
  font-weight: 600;
  line-height: 1.25;
}

.ca-header,
.ca-header-inner {
  margin: 0 auto;
  padding: 0;
  grid-template-columns: none;
  align-items: center;
  gap: 0;
  width: 100%;
}

.elementor-widget-image img { max-width: 100%; border-radius: 15px; }
img.wp-image-1154,
.home .elementor-widget-image img { margin: 20px 0 0 0; padding: 0; max-width: 100%; height: auto; }
img.aligncenter.size-full { max-width: min(100%, var(--ca-center-img-max, 1280px)); height: auto; display: block; }

.ca-content .elementor-widget-image img {
  box-sizing: border-box;
  padding: 10px;
  background: #0e0f18;
  border-radius: 22px;
  border: 1px solid var(--ca-accent, #EB5E28);
  box-shadow: 0 30px 70px -22px rgba(0, 0, 0, .55);
}

.ca-content h1 {
  font-size: 1.8rem;
  margin: 0 auto;
  padding: 0 10px;
  max-width: min(var(--ca-container-max, 1120px), 1120px);
  min-height: inherit;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ca-content h1:first-child {
  margin: 30px auto 0 auto;
  display: block;
  min-width: 100%;
  text-align: center;
  line-height: 2.3rem;
  max-width: 1120px;
}
.ca-page-article h1 { max-width: 1120px; display: block; }
.ca-content h2 { font-size: 1.3rem; display: block; }
.ca-content h2,
.ca-content p {

  word-wrap: break-word;
}

.elementor a:active,
.elementor a { color: var(--ca-accent); }
.elementor a:hover,
.elementor a:focus { color: var(--ca-accent-cyan); }

.not-logged-in .ca-content button { margin: 20px 0; }

:where(.wpforms-form) :where(button, input[type="submit"], input[type="button"], input[type="reset"], .button, .btn, a.button),
.e-n-tab-title[aria-selected="true"],
button.e-n-tab-title,
.elementor-button {
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  color: var(--ca-cream);
  border: none;
  border-radius: 12px;
  padding: 13px 24px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow:
    0 2px 12px rgba(235,94,40,0.32),
    inset 0 1px 0 rgba(255,255,255,0.40),
    inset 0 -1px 0 rgba(0,0,0,0.20);
}
.ca-auth-btn,
.wpforms-submit.ca-btn,
button.e-n-tab-title.active,
.elementor-button.active {
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  color: var(--ca-cream);
  transition: box-shadow .18s ease, transform .12s ease;
}
:where(.wpforms-form) :where(button, input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover, .button:hover, .btn:hover, a.button:hover),
.e-n-tab-title[aria-selected="true"]:hover,
button.e-n-tab-title:hover,
.elementor-button:hover {
  background: linear-gradient(145deg, var(--ca-accent), var(--ca-accent-cyan));
  color: var(--ca-cream);
  box-shadow:
    0 5px 22px rgba(235,94,40,0.42),
    inset 0 1px 0 rgba(255,255,255,0.50),
    inset 0 -1px 0 rgba(0,0,0,0.20);
  transform: translateY(-1px);
}

:where(.wpforms-form) :where(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], select, textarea) {
  background: var(--ca-lavender);
  border: 1px solid var(--ca-accent);
}
html[data-theme="dark"] :where(.wpforms-form) :where(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], select, textarea),
html.dark :where(.wpforms-form) :where(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], select, textarea) {
  background: var(--ca-dark-surface, #171a2a);
  color: var(--ca-lavender);
}
:where(.wpforms-form) :where(label) {
  display: block;
  font-size: 13px;
  font-weight: 650;
  color: var(--ca-accent);
  margin: 0 0 6px 0;
}

.ca-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.5em; }
.ca-table-scroll table { border-collapse: collapse; width: 100%; }
.ca-table-scroll th, .ca-table-scroll td { padding: 10px 14px; text-align: left; white-space: nowrap; }
.ca-table-scroll th:first-child, .ca-table-scroll td:first-child { white-space: normal; }
@media (max-width: 600px) {
  .ca-table-scroll table { min-width: 560px; }
}

.ca-header-toggle{
  position:absolute;
  top:20px;
  left:20px;
  z-index:1001;
  display:flex;
  align-items:center;
}

.ca-header-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:10px;
  background:var(--ca-accent);
  color:var(--ca-cream);
  border:none;
  flex-shrink:0;
  text-decoration:none;
  transition:transform .15s ease, filter .15s ease;
}
.ca-header-login:hover,
.ca-header-login:focus-visible{
  color:var(--ca-cream);
  transform:translateY(-1px);
  filter:brightness(1.06);
}
.ca-header-login__icon{
  width:26px;
  height:26px;
  display:block;
}

html[data-theme="dark"] .ca-header-login,
html.dark .ca-header-login{
  background:var(--ca-accent-cyan);
  color:var(--ca-dark-surface);
}
html[data-theme="dark"] .ca-header-login:hover,
html.dark .ca-header-login:hover{
  color:var(--ca-dark-surface);
}

@media (min-width:769px){
  .ca-header-toggle{
    top:24px;
    left:24px;
  }
}

@media (max-width:768px){
  body.ca-auth-page .ca-header-login{ display:none; }
}

body.ca-auth-page .ca-header-inner{
  padding-top:0;
  padding-bottom:0;
}

.ca-footer-text{ display:none; }

html[data-theme="dark"] .ca-nav-toggle,
html.dark .ca-nav-toggle{
  background:var(--ca-dark-surface);
  border:none;
  color:var(--ca-lavender);
}

html[data-theme="dark"] .wpforms-description,
html[data-theme="dark"] .wpforms-field legend,
html[data-theme="dark"] .wpforms-field label,
html.dark .wpforms-description,
html.dark .wpforms-field legend,
html.dark .wpforms-field label{
  color:var(--ca-lavender);
}

h1, h2, h3, h4, h5, h6,
.ca-cine-title,
.elementor-widget-heading .elementor-heading-title{
  text-wrap: balance;
}
.ca-content p,
.elementor-widget-text-editor p{
  text-wrap: pretty;
}

.ca-content li .ca-li-emoji,
.elementor-widget-text-editor li .ca-li-emoji {
  font-size: 0.85em;
  vertical-align: -1px;
}

@view-transition { navigation: auto; }

@media (prefers-reduced-motion: no-preference) {
  ::view-transition-old(root) {
    animation: ca-vt-out .18s ease both;
  }
  ::view-transition-new(root) {
    animation: ca-vt-in .26s ease both;
  }
  @keyframes ca-vt-out { to { opacity: 0; } }
  @keyframes ca-vt-in  { from { opacity: 0; } }

  .ca-header{ view-transition-name: ca-header; }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }
}

@property --ca-grad-a {
  syntax: '<color>';
  inherits: false;
  initial-value: #28e6eb;
}
@property --ca-grad-b {
  syntax: '<color>';
  inherits: false;
  initial-value: #EB5E28;
}

@supports (background: linear-gradient(in oklab, red, blue)) {
  .elementor-button,
  .wpforms-submit.ca-btn,
  nav.ca-primary-nav a[href*="/app/login"],
  nav.ca-primary-nav .current-menu-item > a,
  nav.ca-primary-nav .current_page_item > a{
    background: linear-gradient(145deg, var(--ca-grad-a), var(--ca-grad-b));
    transition: --ca-grad-a .45s ease, --ca-grad-b .45s ease,
                box-shadow .18s ease, transform .12s ease;
  }
  @media (prefers-reduced-motion: no-preference) {
    .elementor-button:hover,
    .wpforms-submit.ca-btn:hover,
    nav.ca-primary-nav a[href*="/app/login"]:hover,
    nav.ca-primary-nav .current-menu-item > a:hover,
    nav.ca-primary-nav .current_page_item > a:hover{
      --ca-grad-a: var(--ca-accent);
      --ca-grad-b: var(--ca-accent-cyan);
    }
  }
}

@media (max-width:768px){

  .ca-logo-img{ max-height:var(--ca-logo-h-mobile); }

  .ca-nav-toggle{
    display:inline-flex;
    position:relative;
    z-index:1004;
    min-width:44px;
    min-height:44px;
    touch-action:manipulation;
  }
  .ca-nav-wrap{
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.40);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }
  .ca-nav-wrap.is-open{opacity:1;pointer-events:auto}
  .ca-nav-panel{
    width:min(520px,92vw);
    margin:14px auto 0;
    background:var(--ca-bg);
    border:1px solid var(--ca-border);
    border-radius:18px;
    padding:14px;
    box-shadow:var(--ca-shadow);
    align-items:stretch;
    gap:12px;
  }
  .ca-header nav ul{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:10px;
    padding:6px;
    border:1px solid var(--ca-border);
    border-radius:14px;
    background:var(--ca-bg);
  }

  .ca-nav nav ul,
  .ca-primary-nav ul{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .ca-header nav ul li a{width:100%}

  .ca-header-inner{
    padding-top:calc(var(--ca-logo-h-mobile) + 16px);
  }

  .ca-branding{
    top:10px;
    max-width:78vw;
  }

  .ca-header-widget-area{
    display:none;
  }

  .ca-header-actions{
    width:100%;
    justify-content:flex-end;
  }

  .ca-logo-img { min-height: var(--ca-logo-h-mobile); max-height: var(--ca-logo-h-mobile); height: var(--ca-logo-h-mobile); }

  .ca-nav-wrap { inset: var(--ca-header-h-mobile) 0 0 0; background: none; }
  main, .ca-content { width: 100%; max-width: 100vw; margin-left: 0; margin-right: 0; }
  .ca-brand { padding: 0; margin: 0 auto; display: block; }
  .elementor-widget-text-editor, p { font-size: 18px; min-width: 100%; }

  .ca-content li,
  .elementor-widget-text-editor li { font-size: 18px; }
  .ca-header-actions { position: absolute; top: 10px; right: 20px; width: 130px; display: flex; z-index: 1001; }
  .ca-header-actions button { width: 40px; }
  .ca-header-actions button:first-child { margin-bottom: 20px; }
  nav.ca-primary-nav ul.ca-nav-list { gap: 8px; }

  nav.ca-primary-nav ul.ca-nav-list li { width: 100%; }
  nav.ca-primary-nav a {
    border-radius: 14px;
    padding: 12px 16px;
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }

  .ca-header-actions{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
  }
  nav.ca-lang{
    width:100%;
    justify-content:flex-end;
  }
  .ca-header-toggle{
    top:10px;
    left:20px;
  }

  .ca-header nav ul a{
    min-width:100%;
    display:block;
  }
  .ca-header nav.ca-lang ul{
    flex-direction:row;
  }
  .ca-header nav.ca-lang ul a{
    width:auto;
    min-width:0;
    display:inline-flex;
  }

  html[data-theme="dark"] .ca-header nav ul,
  html.dark .ca-header nav ul{
    border:1px solid #6ee7ff;
    min-width:100%;
  }
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.ca-404 {
  max-width: 760px;
  margin: 0 auto;
  padding: var(--ca-space-8) var(--ca-pad);
  text-align: center;
}
.ca-404__code {
  margin: 0;
  font-family: var(--ca-font-heading);
  font-size: clamp(4rem, 18vw, 8rem);
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ca-404__title {
  margin: var(--ca-space-3) 0 0;
  font-size: clamp(1.4rem, 5vw, 2rem);
  line-height: 1.25;
  text-wrap: balance;
}
.ca-404__lead {
  margin: var(--ca-space-4) auto var(--ca-space-6);
  max-width: 52ch;
  color: var(--ca-muted);
  text-wrap: pretty;
}

.ca-404__search {
  display: flex;
  gap: var(--ca-space-2);
  max-width: 480px;
  margin: 0 auto var(--ca-space-8);
}
.ca-404__search-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--ca-space-3) var(--ca-space-4);
  font: inherit;
  color: var(--ca-text);
  background: var(--ca-bg);
  border: 1px solid var(--ca-border);
  border-radius: var(--ca-radius);
}
.ca-404__search-input:focus {
  outline: 2px solid var(--ca-accent);
  outline-offset: 1px;
}
.ca-404__search-btn {
  flex: 0 0 auto;
  padding: var(--ca-space-3) var(--ca-space-5);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  color: var(--ca-cream);
  background: var(--ca-accent);
  border: none;
  border-radius: var(--ca-radius);
}
.ca-404__search-btn:hover { filter: brightness(1.08); }

.ca-404__links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--ca-space-3);
  margin-bottom: var(--ca-space-8);
  text-align: left;
}
.ca-404__link {
  display: block;
  padding: var(--ca-space-4);
  text-decoration: none;
  color: var(--ca-text);
  background: var(--ca-surface);
  border: 1px solid var(--ca-border);
  border-radius: var(--ca-radius);
  transition: border-color .15s ease, transform .15s ease;
}
.ca-404__link:hover {
  border-color: var(--ca-accent);
  transform: translateY(-2px);
}
.ca-404__link-title {
  display: block;
  font-weight: 700;
  margin-bottom: var(--ca-space-1);
}
.ca-404__link-desc {
  display: block;
  font-size: .875rem;
  color: var(--ca-muted);
}

.ca-404__cta { margin: 0; }
.ca-404__btn {
  display: inline-block;
  padding: var(--ca-space-3) var(--ca-space-6);
  font-weight: 700;
  text-decoration: none;
  color: var(--ca-cream);
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
  border-radius: 999px;
}
.ca-404__btn:hover {
  background: linear-gradient(145deg, var(--ca-accent), var(--ca-accent-cyan));
}

@media (prefers-reduced-motion: reduce) {
  .ca-404__link { transition: none; }
  .ca-404__link:hover { transform: none; }
}

.ca-header-toggle {
  flex-direction: column;
  gap: 8px;
}

.ca-install-app-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  font: inherit;
  transition: border-color .15s, background .15s, opacity .15s;
}

.ca-header-toggle .ca-install-app-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 8px;
  border: 1.5px solid rgba(2,6,23,.15);
  background: none;
  color: var(--ca-text);
  flex-shrink: 0;
}
.ca-header-toggle .ca-install-app-btn:hover { background: rgba(2,6,23,.05); }
.ca-header-toggle .ca-install-app-btn__label { display: none; }
.ca-header-toggle .ca-install-app-btn__icon { width: 18px; height: 18px; }

html[data-theme="dark"] .ca-header-toggle .ca-install-app-btn,
html.dark .ca-header-toggle .ca-install-app-btn {
  border-color: rgba(255,255,255,.25);
  color: var(--ca-lavender);
}
html[data-theme="dark"] .ca-header-toggle .ca-install-app-btn:hover,
html.dark .ca-header-toggle .ca-install-app-btn:hover {
  background: rgba(255,255,255,.08);
}

.elementor-widget-text-editor .ca-install-app-btn,
.ca-content .ca-install-app-btn {
  padding: 12px 24px;
  border: none;
  border-radius: 999px;
  font-weight: 700;
  color: var(--ca-cream);
  background: linear-gradient(145deg, var(--ca-accent-cyan), var(--ca-accent));
}
.elementor-widget-text-editor .ca-install-app-btn:hover,
.ca-content .ca-install-app-btn:hover {
  background: linear-gradient(145deg, var(--ca-accent), var(--ca-accent-cyan));
}
.elementor-widget-text-editor .ca-install-app-btn__label,
.ca-content .ca-install-app-btn__label { display: inline; }
.elementor-widget-text-editor .ca-install-app-btn__icon,
.ca-content .ca-install-app-btn__icon { width: 20px; height: 20px; }

.ca-install-ios-tip {
  position: absolute;
  z-index: 1100;
  max-width: 260px;
  padding: 14px 16px;
  color: var(--ca-text);
  background: var(--ca-bg, #fff);
  border: 1px solid var(--ca-border, #e6e8ef);
  border-radius: var(--ca-radius-sm, 12px);
  box-shadow: 0 8px 28px rgba(2,6,23,.16);
  font-size: .875rem;
  line-height: 1.5;
}
.ca-install-ios-tip__title { margin: 0 0 8px; font-weight: 700; }
.ca-install-ios-tip__steps { margin: 0; padding-left: 18px; }
.ca-install-ios-tip__steps li + li { margin-top: 4px; }
.ca-install-ios-tip__icon { font-size: 1.1em; }
.ca-install-ios-tip__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  border: none;
  background: none;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  color: var(--ca-muted);
  padding: 0;
}

html[data-theme="dark"] .ca-install-ios-tip,
html.dark .ca-install-ios-tip {
  background: #252422;
  border-color: rgba(255,255,255,.16);
  color: #FFFCF2;
}

@media (prefers-reduced-motion: reduce) {
  .ca-install-app-btn { transition: none; }
}

.elementor-widget-video .elementor-wrapper.e-hosted-video,
.elementor-widget-video .e-hosted-video.elementor-open-inline {
  aspect-ratio: auto !important;
  height: auto !important;
  padding-bottom: 0 !important;
}
.elementor-widget-video .e-hosted-video video,
.elementor-widget-video .e-hosted-video .elementor-video,
.ca-content .entry-content video:not(.ca-screen__video),
.ca-content .ca-page-article video:not(.ca-screen__video) {
  position: static !important;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto;
  object-fit: contain !important;
  background: transparent;
}

.ca-content .elementor-widget-video .elementor-wrapper.e-hosted-video,
.ca-content .elementor-widget-video .e-hosted-video.elementor-open-inline {
  box-sizing: border-box;

  padding: 10px !important;
  background: #0e0f18;
  border-radius: 22px;
  border: 1px solid var(--ca-accent, #EB5E28);
  overflow: hidden;
}

.ca-content .entry-content video:not(.ca-screen__video),
.ca-content .ca-page-article video:not(.ca-screen__video) {
  box-sizing: border-box;
  padding: 10px;
  background: #0e0f18;
  border: 1px solid var(--ca-accent, #EB5E28);
}

@media (max-width: 768px) {
  .ca-footer {
    position: relative;
    z-index: 2;
    height: auto;
    max-height: none;
    padding: 12px 16px calc(36px + env(safe-area-inset-bottom, 0px));
  }
  .ca-footer .ca-footer-inner {
    padding-right: 60px;
  }
  .ca-footer .ca-footer-menu-list {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0 4px;
  }
  .ca-footer .ca-footer-menu-list a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 8px;
    font-size: .875rem;
    white-space: nowrap;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(235, 94, 40, .18);
  }
}

.ca-subnav-toggle{
  -webkit-appearance:none;
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.ca-subnav-caret{
  width:12px;
  height:12px;
  flex:0 0 auto;
  transition:transform .2s ease;
}
nav.ca-primary-nav li.is-open > .ca-subnav-toggle .ca-subnav-caret{ transform:rotate(180deg); }

nav.ca-primary-nav .ca-subnav-toggle:focus-visible,
nav.ca-primary-nav .sub-menu a:focus-visible{
  outline:2px solid var(--ca-accent);
  outline-offset:2px;
}

nav.ca-primary-nav .sub-menu .ca-subnav-title{ display:block; }
nav.ca-primary-nav .sub-menu .ca-subnav-desc{
  display:block;
  margin-top:2px;
  font-family:var(--ca-font-body);
  font-weight:400;
  font-size:.8125rem;
  line-height:1.4;
  letter-spacing:0;
  color:rgba(37,36,34,.66);
}

@media (min-width:769px){

  .ca-header-inner{ overflow:visible; }

  nav.ca-primary-nav .ca-nav-list > li{ position:relative; }
  nav.ca-primary-nav .ca-nav-list > .menu-item-has-children{
    display:inline-flex;
    align-items:center;
  }

  nav.ca-primary-nav .ca-subnav-toggle--label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    height:25px;
    line-height:25px;
    padding:5px 10px 5px 12px;
    border-radius:999px;
    font-family:var(--ca-font-heading);
    font-size:.97rem;
    font-weight:600;
    letter-spacing:.2px;
    white-space:nowrap;
    color:var(--ca-dark-bg);
    transition:background .2s ease, color .2s ease;
  }

  nav.ca-primary-nav .ca-subnav-toggle--icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    margin-left:6px;
    padding:0;
    border-radius:999px;
    color:var(--ca-dark-bg);
    transition:background .2s ease, color .2s ease;
  }
  nav.ca-primary-nav .ca-subnav-toggle:hover,
  nav.ca-primary-nav li.is-open > .ca-subnav-toggle{
    background:rgba(235,94,40,.12);
    color:var(--ca-accent);
  }

  nav.ca-primary-nav .current-menu-ancestor > .ca-subnav-toggle,
  nav.ca-primary-nav .current-menu-parent > .ca-subnav-toggle{
    color:var(--ca-accent);
    box-shadow:inset 0 0 0 1.5px rgba(235,94,40,.45);
  }

  nav.ca-primary-nav .ca-nav-list > li > .sub-menu{
    position:absolute;
    top:calc(100% + 12px);
    left:50%;
    z-index:1002;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    width:max-content;
    min-width:16.5rem;
    max-width:21rem;
    min-height:0;
    margin:0;
    padding:12px 8px 8px;
    list-style:none;
    background:var(--ca-cream);
    border:1px solid rgba(37,36,34,.12);
    border-radius:18px;
    box-shadow:0 24px 48px -20px rgba(37,36,34,.45), 0 8px 18px -10px rgba(37,36,34,.25);
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transform:translate(-50%, -6px);
    transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
  }

  nav.ca-primary-nav .ca-nav-list > li > .sub-menu::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:3px;
    background:linear-gradient(90deg, var(--ca-accent-cyan), var(--ca-accent));
  }

  nav.ca-primary-nav .ca-nav-list > li.is-open::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:14px;
  }

  nav.ca-primary-nav .ca-nav-list > li.is-open > .sub-menu,
  nav.ca-primary-nav:not(.ca-nav-js) .ca-nav-list > li:hover > .sub-menu,
  nav.ca-primary-nav:not(.ca-nav-js) .ca-nav-list > li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translate(-50%, 0);
    transition:opacity .16s ease, transform .16s ease, visibility 0s;
  }

  nav.ca-primary-nav .sub-menu li{ width:100%; }
  nav.ca-primary-nav .sub-menu a{
    display:block;
    width:100%;
    height:auto;
    padding:10px 12px;
    border-radius:12px;
    line-height:1.3;
    white-space:normal;
    text-align:left;
    font-family:var(--ca-font-heading);
    font-size:.95rem;
    font-weight:600;
    color:var(--ca-dark-surface);
    background:transparent;
    box-shadow:none;
    transform:none;
  }
  nav.ca-primary-nav .sub-menu a:hover,
  nav.ca-primary-nav .sub-menu a:focus-visible{
    background:rgba(235,94,40,.09);
    color:var(--ca-accent);
    transform:none;
  }
  nav.ca-primary-nav .sub-menu a:hover .ca-subnav-desc{ color:rgba(37,36,34,.8); }

  nav.ca-primary-nav .sub-menu .current-menu-item > a,
  nav.ca-primary-nav .sub-menu .current_page_item > a{
    background:rgba(235,94,40,.12);
    color:var(--ca-accent);
    box-shadow:inset 3px 0 0 var(--ca-accent);
  }
}

@media (max-width:768px){
  .ca-nav-panel{
    max-height:calc(100dvh - var(--ca-header-h-mobile) - 28px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  nav.ca-primary-nav .ca-nav-list > .menu-item-has-children{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-rows:auto 0fr;
    align-items:center;
    transition:grid-template-rows .24s ease;
  }
  nav.ca-primary-nav .ca-nav-list > .menu-item-has-children.is-open{
    grid-template-rows:auto 1fr;
  }
  nav.ca-primary-nav .ca-nav-list > .menu-item-has-children > a{ grid-column:1; }

  nav.ca-primary-nav .ca-subnav-toggle--label{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    text-align:left;
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:14px;
    font-family:var(--ca-font-heading);
    font-size:.97rem;
    font-weight:650;
    color:var(--ca-dark-bg);
  }
  nav.ca-primary-nav .ca-subnav-toggle--icon{
    grid-column:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:12px;
    color:var(--ca-dark-bg);
  }
  nav.ca-primary-nav li.is-open > .ca-subnav-toggle,
  nav.ca-primary-nav .current-menu-ancestor > .ca-subnav-toggle,
  nav.ca-primary-nav .current-menu-parent > .ca-subnav-toggle{
    color:var(--ca-accent);
  }
  nav.ca-primary-nav li.is-open > .ca-subnav-toggle--label{ background:rgba(235,94,40,.08); }

  nav.ca-primary-nav .ca-nav-list > li > .sub-menu{
    grid-column:1 / -1;
    display:block;
    min-width:0;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:14px;
    background:rgba(37,36,34,.04);
    overflow:hidden;
    visibility:hidden;
    transition:visibility 0s linear .24s;
  }
  nav.ca-primary-nav .ca-nav-list > li.is-open > .sub-menu{
    visibility:visible;
    transition:visibility 0s;
  }
  nav.ca-primary-nav .sub-menu > li{ padding:0 6px; }
  nav.ca-primary-nav .sub-menu > li:first-child{ padding-top:6px; }
  nav.ca-primary-nav .sub-menu > li:last-child{ padding-bottom:6px; }
  nav.ca-primary-nav .sub-menu a{
    display:block;
    min-height:44px;
    box-sizing:border-box;
    padding:12px 14px;
    border-radius:12px;
    font-size:.95rem;
    line-height:1.3;
    text-align:left;
    white-space:normal;
    background:transparent;
    box-shadow:none;
  }
  nav.ca-primary-nav .sub-menu .current-menu-item > a,
  nav.ca-primary-nav .sub-menu .current_page_item > a{
    background:rgba(235,94,40,.12);
    color:var(--ca-accent);
    box-shadow:none;
  }
}

html[data-theme="dark"] nav.ca-primary-nav .ca-subnav-toggle,
html.dark nav.ca-primary-nav .ca-subnav-toggle{ color:var(--ca-lavender); }
html[data-theme="dark"] nav.ca-primary-nav li.is-open > .ca-subnav-toggle,
html[data-theme="dark"] nav.ca-primary-nav .current-menu-ancestor > .ca-subnav-toggle,
html[data-theme="dark"] nav.ca-primary-nav .current-menu-parent > .ca-subnav-toggle,
html.dark nav.ca-primary-nav li.is-open > .ca-subnav-toggle,
html.dark nav.ca-primary-nav .current-menu-ancestor > .ca-subnav-toggle,
html.dark nav.ca-primary-nav .current-menu-parent > .ca-subnav-toggle{ color:var(--ca-accent); }
html[data-theme="dark"] nav.ca-primary-nav .sub-menu .ca-subnav-desc,
html.dark nav.ca-primary-nav .sub-menu .ca-subnav-desc{ color:rgba(255,252,242,.62); }

@media (min-width:769px){
  html[data-theme="dark"] nav.ca-primary-nav .ca-nav-list > li > .sub-menu,
  html.dark nav.ca-primary-nav .ca-nav-list > li > .sub-menu{
    background:#2f2d2a;
    border-color:rgba(255,252,242,.12);
    box-shadow:0 24px 48px -18px rgba(0,0,0,.7), 0 8px 18px -10px rgba(0,0,0,.5);
  }
  html[data-theme="dark"] nav.ca-primary-nav .sub-menu a,
  html.dark nav.ca-primary-nav .sub-menu a{ color:var(--ca-cream); }
  html[data-theme="dark"] nav.ca-primary-nav .sub-menu a:hover,
  html[data-theme="dark"] nav.ca-primary-nav .sub-menu a:focus-visible,
  html.dark nav.ca-primary-nav .sub-menu a:hover,
  html.dark nav.ca-primary-nav .sub-menu a:focus-visible{
    background:rgba(235,94,40,.16);
    color:var(--ca-accent);
  }
}
@media (max-width:768px){
  html[data-theme="dark"] nav.ca-primary-nav .ca-nav-list > li > .sub-menu,
  html.dark nav.ca-primary-nav .ca-nav-list > li > .sub-menu{
    border:0;
    background:rgba(255,252,242,.05);
  }
}
html[data-theme="dark"] nav.ca-primary-nav .sub-menu .current-menu-item > a,
html[data-theme="dark"] nav.ca-primary-nav .sub-menu .current_page_item > a,
html.dark nav.ca-primary-nav .sub-menu .current-menu-item > a,
html.dark nav.ca-primary-nav .sub-menu .current_page_item > a{
  background:rgba(235,94,40,.18);
  color:var(--ca-accent);
}

@media (prefers-reduced-motion:reduce){
  .ca-subnav-caret,
  nav.ca-primary-nav .ca-nav-list > li > .sub-menu,
  nav.ca-primary-nav .ca-nav-list > .menu-item-has-children{ transition:none !important; }
}

html[data-theme="dark"] .wpforms-container,
html.dark .wpforms-container{
  --wpforms-label-color:#FFFCF2;
  --wpforms-label-sublabel-color:rgba(255,252,242,.72);
  --wpforms-label-error-color:#ff9b8a;
}
html[data-theme="dark"] .wpforms-container .wpforms-head-container,
html[data-theme="dark"] .wpforms-container .wpforms-title,
html[data-theme="dark"] .wpforms-container .wpforms-description,
html[data-theme="dark"] .wpforms-container .wpforms-field-description,
html.dark .wpforms-container .wpforms-head-container,
html.dark .wpforms-container .wpforms-title,
html.dark .wpforms-container .wpforms-description,
html.dark .wpforms-container .wpforms-field-description{
  color:var(--ca-lavender) !important;
}
html[data-theme="dark"] .wpforms-container .wpforms-field-description,
html.dark .wpforms-container .wpforms-field-description{
  opacity:.8;
}

input#matomo_optout_checkbox {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: -5px;
  width: 22px;
  height: 22px;
  margin: 0 10px 0 0;
  border: 2px solid #CCC5B9;
  border-radius: 7px;
  background-color: #FFFCF2;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
input#matomo_optout_checkbox:checked {
  background-color: #EB5E28;
  border-color: #EB5E28;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.5l2.4 2.4 4.8-5.2' fill='none' stroke='%23FFFCF2' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
input#matomo_optout_checkbox:hover { border-color: #EB5E28; }
input#matomo_optout_checkbox:focus { outline: 2px solid #EB5E28; outline-offset: 2px; }
input#matomo_optout_checkbox:focus:not(:focus-visible) { outline: none; }
label[for="matomo_optout_checkbox"] { cursor: pointer; }

html[data-theme="dark"] input#matomo_optout_checkbox,
html.dark input#matomo_optout_checkbox {
  border-color: rgba(255, 252, 242, .32);
  background-color: #2f2d2a;
}
html[data-theme="dark"] input#matomo_optout_checkbox:checked,
html.dark input#matomo_optout_checkbox:checked {
  background-color: #28e6eb;
  border-color: #28e6eb;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.5l2.4 2.4 4.8-5.2' fill='none' stroke='%23252422' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion: reduce) {
  input#matomo_optout_checkbox { transition: none; }
}

@media (forced-colors: active) {
  input#matomo_optout_checkbox {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    background-image: none;
  }
}

.ca-lang {
  display: inline-flex;
  align-items: center;
}
.ca-lang__list {
  display: inline-flex;
  list-style: none;
  margin: 0;
  padding: 3px;
  gap: 2px;
  border-radius: 999px;
  background: rgba(37, 36, 34, .07);
  border: 1px solid rgba(37, 36, 34, .12);
}
.ca-lang__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font: 700 12px/1 'Montserrat', system-ui, sans-serif;
  letter-spacing: .08em;
  text-decoration: none;
  color: #403d39;
  transition: background .2s ease, color .2s ease, transform .15s ease;
}
.ca-lang__link:hover {
  color: #252422;
  background: rgba(40, 230, 235, .18);
}
.ca-lang__link:active {
  transform: scale(.96);
}
.ca-lang__link.is-active {
  color: #fffcf2;
  background: linear-gradient(135deg, #eb5e28, #28e6eb);
  box-shadow: 0 2px 8px rgba(235, 94, 40, .28);
  cursor: default;
}
.ca-lang__link:focus-visible {
  outline: 2px solid #28e6eb;
  outline-offset: 2px;
}
html[data-theme="dark"] .ca-lang__list {
  background: rgba(255, 252, 242, .08);
  border-color: rgba(40, 230, 235, .25);
}
html[data-theme="dark"] .ca-lang__link {
  color: #ccc5b9;
}
html[data-theme="dark"] .ca-lang__link:hover {
  color: #fffcf2;
  background: rgba(40, 230, 235, .16);
}
html[data-theme="dark"] .ca-lang__link.is-active {
  color: #252422;
}
@media (max-width: 768px) {
  .ca-lang__link {
    min-width: 44px;
    min-height: 40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ca-lang__link { transition: none; }
}

@media (max-width: 768px) {
  .ca-header nav.ca-lang .ca-lang__list {
    padding: 2px;
  }
  .ca-header nav.ca-lang .ca-lang__link {
    min-width: 34px !important;
    min-height: 30px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 768px) {
  .ca-header nav.ca-lang {
    width: auto !important;
  }
  .ca-header nav.ca-lang ul,
  html[data-theme="dark"] .ca-header nav.ca-lang ul,
  html.dark .ca-header nav.ca-lang ul {
    min-width: 0 !important;
    width: auto !important;
    border: 0 !important;
  }
}

@media (max-width: 768px) {
  .ca-header .ca-header-actions {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
    width: auto;
  }
  .ca-header .ca-header-actions .ca-nav-toggle {
    margin: 0 !important;
  }
}

@media (max-width: 768px) {
  .ca-header .ca-header-actions {
    gap: 4px;
    top: 8px;
  }
  .ca-header nav.ca-lang .ca-lang__list {
    padding: 2px;
  }
  .ca-header nav.ca-lang .ca-lang__link {
    min-height: 34px !important;
  }
  .ca-header .ca-header-login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
  }
  .ca-header .ca-header-toggle button,
  .ca-header .ca-header-actions .ca-nav-toggle {
    box-sizing: border-box;
    width: 40px !important;
    height: 40px !important;
  }
}

@media (max-width: 768px) {
  .ca-header .ca-header-actions {
    gap: 0;
  }
  .ca-header nav.ca-lang,
  .ca-header nav.ca-lang .ca-lang__list {
    height: 40px;
    box-sizing: border-box;
  }
  .ca-header nav.ca-lang .ca-lang__list {
    align-items: center;
    padding: 2px;
  }
  .ca-header nav.ca-lang .ca-lang__link {
    height: 34px;
    min-height: 34px !important;
    box-sizing: border-box;
  }
  .ca-header .ca-header-login,
  .ca-header .ca-header-toggle button,
  .ca-header .ca-header-actions .ca-nav-toggle {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    box-sizing: border-box;
  }
}

/* Header-inhoud op desktop binnen dezelfde kolom als de app-content (.ca-container in de plugin). */
@media (min-width:769px){
  header.ca-header .ca-header-inner{
    width:100% !important;
    max-width:min(var(--ca-container-max, 1120px), 1120px) !important;
    margin-inline:auto !important;
    padding-inline:clamp(16px, 2vw, 40px) !important;
    box-sizing:border-box !important;
  }
  header.ca-header .ca-header-toggle{ left:clamp(16px, 2vw, 40px) !important; }
  header.ca-header .ca-header-actions{ right:clamp(16px, 2vw, 40px) !important; }
}

html:not([data-theme="dark"]):not(.dark) .ca-header nav.ca-primary-nav .current-menu-item > a:hover,
html:not([data-theme="dark"]):not(.dark) .ca-header nav.ca-primary-nav .current_page_item > a:hover{
  background:linear-gradient(145deg, var(--ca-grad-a, var(--ca-accent-cyan)), var(--ca-grad-b, var(--ca-accent)));
}

/* Smalle desktops: menu schaalt mee zodat ook het langere app-menu (zelfde regel in de plugin) op één regel past. */
@media (min-width:769px) and (max-width:1099px){
  .ca-header nav.ca-primary-nav .ca-nav-list > li > a{
    font-size:clamp(0.8rem, 0.405rem + 0.822vw, 0.97rem);
    padding-left:clamp(6px, 1.813vw - 7.94px, 12px);
    padding-right:clamp(6px, 1.813vw - 7.94px, 12px);
  }
}

li.ca-li--icon,
li:has(> .ca-li-emoji:first-child),
li:has(> :is(strong, b, em, i, span):first-child > .ca-li-emoji:first-child){
  list-style:none !important;
}
li.ca-li--icon::marker{ content:none !important; }

@media (hover: hover) {
  #caWebsiteBackTop:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
  }
}

html { scroll-padding-top: calc(var(--ca-header-h-mobile, 145px) + 12px); }
@media (min-width: 769px) {
  html { scroll-padding-top: calc(var(--ca-header-h-desktop, 145px) + 12px); }
}

h1, h2, h3,
.ca-content h1, .ca-content h2, .ca-content h3 {
  overflow-wrap: break-word;
  hyphens: auto;
}

body.ca-no-scroll #caWebsiteBackTop { display: none; }

.ca-install-ios-tip { padding-right: 44px; }

@media (max-width: 768px) {
  .ca-header nav.ca-lang,
  .ca-header nav.ca-lang .ca-lang__list { height: 44px; }
  .ca-header nav.ca-lang .ca-lang__list { padding: 0; }
  .ca-header nav.ca-lang .ca-lang__link {
    min-width: 44px !important;
    height: 44px;
    min-height: 44px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
  }
  .ca-header .ca-header-login,
  .ca-header .ca-header-toggle button,
  .ca-header .ca-header-actions .ca-nav-toggle {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
  .ca-header .ca-header-actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    width: 92px;
    gap: 4px;
  }
  .ca-header .ca-header-actions nav.ca-lang {
    flex: 0 0 100%;
    display: flex;
    justify-content: flex-end;
  }
  .ca-header nav.ca-lang .ca-lang__list {
    flex-wrap: nowrap;
    gap: 2px;
  }
  .ca-logo-img {
    width: auto;
    max-width: calc(100vw - 232px);
    object-fit: contain;
  }
  .ca-footer .ca-footer-menu-list {
    flex-wrap: wrap;
    justify-content: center;
  }
  .elementor-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Korte schermen (iPhone SE): inlogkaart bovenaan zodat de knop zonder scrollen zichtbaar is. */
@media (max-width: 768px) and (max-height: 700px) {
  body.ca-auth-page .ca-page.ca-auth {
    justify-content: flex-start !important;
    min-height: 0 !important;
  }
}

@media (max-width: 768px) {
  .ca-content img,
  .ca-content video,
  .ca-content iframe {
    max-width: 100%;
    height: auto;
  }

  .ca-content p,
  .ca-content li {
    font-size: 1rem;
  }

  .ca-content p a,
  .ca-content li a {
    padding-block: 10px;
    margin-block: -10px;
  }

  .ca-cine-spotlight {
    max-width: 100%;
    overflow: hidden;
  }

  .ca-logo-img {
    max-height: min(var(--ca-logo-h-mobile), 64px);
  }

  html,
  body {
    overflow-x: clip;
  }
}

@media (hover: none) {
  .ca-btn:hover,
  .ca-consent-btn:hover:not(:disabled),
  .ca-consent-link:hover {
    transform: none;
  }
}
