.btn{transition:transform .2s;}
.btn:hover{transform:scale(1.05);}
.feature-link{transition:transform .2s;}
.feature-link:hover{transform:scale(1.05);}
.feature-link i{transition:transform .2s,color .2s;}
.feature-link:hover i{color:#DA6518;transform:scale(1.15);}
.icon-input{position:relative;}
.icon-input i{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;transition:transform .2s,opacity .2s;display:block;opacity:1;pointer-events:none;}
.icon-input input,.icon-input textarea{padding-left:2.5rem;transition:padding-left .2s;}
.icon-input input:focus+i,.icon-input textarea:focus+i{transform:translateY(-50%) scale(.8);}
.icon-input.has-value i,.icon-input input[placeholder]:not(:placeholder-shown)+i,.icon-input textarea[placeholder]:not(:placeholder-shown)+i{opacity:0;transform:translateY(-50%) scale(.6);}
.icon-input.has-value input,.icon-input.has-value textarea,.icon-input input[placeholder]:not(:placeholder-shown),.icon-input textarea[placeholder]:not(:placeholder-shown){padding-left:1rem;}
.case-item{opacity:0;transform:scale(.95);position:absolute;inset:0;pointer-events:none;transition:opacity .5s,transform .5s;}
.case-item.active{opacity:1;transform:scale(1);position:relative;pointer-events:auto;}
.review-item{opacity:0;transform:translateX(40px);position:absolute;inset:0;pointer-events:none;transition:opacity .5s,transform .5s;}
.review-item.active{opacity:1;transform:translateX(0);position:relative;pointer-events:auto;}

::-webkit-scrollbar{width:12px;}
::-webkit-scrollbar-track{background:#f3f4f6;}
.dark ::-webkit-scrollbar-track{background:#1f2937;}
::-webkit-scrollbar-thumb{background:#DA6518;border-radius:6px;}
::-webkit-scrollbar-thumb:hover{background:#b35713;}
body{scrollbar-color:#DA6518 #f3f4f6;}
.dark body{scrollbar-color:#DA6518 #1f2937;}
::selection{background:#DA6518;color:#fff;}
::-moz-selection{background:#DA6518;color:#fff;}
.flex.gap-2.flex-wrap a{display:inline-block;transition:transform .2s;}
.flex.gap-2.flex-wrap a:hover{transform:scale(1.05);}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-radius:9999px;background:rgba(255,255,255,.25);transform:scale(0);opacity:0}
.btn:hover::after{animation:btnRipple .6s ease-out}
@keyframes btnRipple{0%{transform:scale(0);opacity:.6}70%{transform:scale(8);opacity:.25}100%{transform:scale(10);opacity:0}}
.card-glow{position:relative;border-radius:1rem}
.card-glow::before{content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit;background:conic-gradient(from 0deg at 50% 50%,#5b9cff,#7a5cff,#ff7aa8,#5b9cff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.teaser{position:relative;overflow:hidden}
.teaser::after{content:"";position:absolute;inset:0;transform:translateX(-100%) skewX(-12deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:transform .5s ease}
.teaser:hover::after{transform:translateX(120%) skewX(-12deg)}
.title-shimmer{background:linear-gradient(90deg,#fff,#ffd9ec,#fff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 3s linear infinite}
@keyframes shimmer{to{background-position:200% center}}
.link-underline{position:relative}
.link-underline::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:currentColor;transition:width .25s ease}
.link-underline:hover::after,.link-underline:focus-visible::after{width:100%}
.ico-pulse{position:relative}
.ico-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(91,156,255,.4);opacity:0;transform:scale(.9)}
.ico-pulse:hover::after{animation:pulse 1s ease-out}
@keyframes pulse{0%{opacity:1;box-shadow:0 0 0 0 rgba(91,156,255,.4)}100%{opacity:0;box-shadow:0 0 0 24px rgba(91,156,255,0)}}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.btn.loading{pointer-events:none;opacity:.95}
.btn .btn-loader{display:none;gap:6px;align-items:center}
.btn.loading .btn-label{visibility:hidden}
.btn.loading .btn-loader{display:inline-flex}
.btn-loader-dot{width:6px;height:6px;border-radius:9999px;background:#fff;display:inline-block;transform-origin:center;animation:dotPulse .9s ease-in-out infinite}
.btn-loader-dot:nth-child(2){animation-delay:.15s}
.btn-loader-dot:nth-child(3){animation-delay:.3s}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.6);opacity:1}}
/* Tooltip boven de knop bij incomplete formulieren */
.btn-tooltip{position:fixed;background:#111;color:#fff;font-size:.75rem;padding:.4rem .6rem;border-radius:.375rem;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:20}
.btn-tooltip.show{opacity:1}
@media (prefers-reduced-motion:reduce){.reveal,.btn::after,.card-glow::before,.teaser::after,.btn-loader-dot,.btn-tooltip{animation:none!important;transition:none!important}}
.btn[disabled]{cursor:not-allowed;opacity:.75}
.btn[disabled]:hover{transform:none}
.btn[disabled]::after{animation:none}
.content-flow p{margin:.75rem 0}
.content-flow h2{margin-top:2rem;margin-bottom:.5rem}
.content-flow ul{margin:.75rem 0;padding-left:1.25rem;list-style:disc}
.content-flow li{margin:.25rem 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.skip-link{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:.75rem;top:.75rem;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;z-index:50;background:#ffffff;color:#DA6518;font-weight:800;padding:.5rem .9rem;border-radius:.5rem;border:1px solid #e5e7eb}
.dark .skip-link:focus{background:#111827;border-color:#374151}
