/* ==========================================================================
   VisionScaper WPBakery Kit: global design settings (one place for the whole site)
   No scroll effects and no smooth scrolling, on purpose.

   HOW TO CHANGE THE LOOK SITE-WIDE
   Change a value in the :root block below, save, and every page follows:
     --vs-brand / --vs-deep / --vs-cta ...  colours
     --vs-container                         widest content width
     --vs-section-y                         space above and below each section
     --vs-h1 / --vs-h2 / --vs-h3 / --vs-body  text sizes (phones use the smaller values)
   Per-row backgrounds are still set in WPBakery (Design Options > Background).
   ========================================================================== */
:root{
  --vs-brand:#0F7378;--vs-brand-dark:#0B5A5E;--vs-deep:#0D3B40;--vs-ink:#10161A;--vs-text:#12282A;--vs-muted:#506263;
  --vs-cta:#F6C445;--vs-cta-hover:#E9B730;--vs-tint:#F1F6F5;--vs-mint:#DDF3F1;--vs-border:#D5DEDB;--vs-on-dark:#E6F2F1;
  --vs-radius:16px;--vs-radius-sm:12px;
  --vs-container:1180px;--vs-measure:720px;--vs-gutter:24px;
  --vs-section-y:64px;--vs-hero-y:80px;
  --vs-h1:clamp(32px,5vw,46px);--vs-h2:clamp(26px,3.4vw,34px);--vs-h3:clamp(19px,2vw,22px);--vs-body:17px;
  --vs-shadow:0 1px 2px rgba(16,22,26,.06);--vs-shadow-lift:0 12px 28px rgba(16,22,26,.14);
  --vs-ease:.2s ease;
}

/* ---- 1. Layout: every section is full width, content is centred in one container ---- */
body.vsek-page{overflow-x:clip}
.vsek-page .vc_row.wpb_row:not(.vc_inner){position:relative;box-sizing:border-box;width:100vw;max-width:100vw!important;left:50%;margin-left:-50vw!important;margin-right:0!important;padding-left:var(--vs-gutter);padding-right:var(--vs-gutter)}
.vs-section{padding-top:var(--vs-section-y);padding-bottom:var(--vs-section-y)}
.vs-hero{padding-top:var(--vs-hero-y);padding-bottom:var(--vs-hero-y)}
.vs-proof{padding-top:18px;padding-bottom:18px}
.vs-cta-band{padding:40px 32px;border-radius:20px}
.vs-box{float:none!important;width:100%!important;max-width:var(--vs-container);margin-left:auto!important;margin-right:auto!important;box-sizing:border-box;padding-left:0!important;padding-right:0!important}
.vs-box>.vc_column-inner{padding-left:0!important;padding-right:0!important;padding-top:0!important}
.vs-box .wpb_wrapper>*:last-child{margin-bottom:0}
.vsek-page .wp-block-post-content>.vc_row{max-width:none}

/* ---- 2. Text ---- */
.vsek-page .vc_row{font-size:var(--vs-body);line-height:1.65;color:var(--vs-text)}
.vs-h1,.vs-h1 *{font-size:var(--vs-h1)!important;line-height:1.12!important;font-weight:800;letter-spacing:-.01em;margin:0 0 16px}
.vs-h2,.vs-h2 *{font-size:var(--vs-h2)!important;line-height:1.18!important;font-weight:800;margin:0 0 16px}
.vs-h3,.vs-h3 *{font-size:var(--vs-h3)!important;line-height:1.3!important;font-weight:700;margin:0 0 8px}
.vs-h1,.vs-h2,.vs-h3{color:var(--vs-text)}
.vs-dark-row .vs-h1,.vs-dark-row .vs-h2,.vs-dark-row .vs-h3,.vs-dark-row .vs-h1 *,.vs-dark-row .vs-h2 *,.vs-dark-row .vs-h3 *{color:#fff!important}
.vs-box .wpb_text_column p{max-width:var(--vs-measure)}
.vs-section-cards .wpb_text_column p,.vs-section-cta .wpb_text_column p,.vs-hero-centered .wpb_text_column p,.vs-center p{margin-left:auto;margin-right:auto}
.vs-hero-centered .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column,.vs-section-cta .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column,.vs-section-cards .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column,.vs-proof .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column,.vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column.vs-center{margin-left:auto!important;margin-right:auto!important;max-width:var(--vs-measure);text-align:center}
.vs-hero-centered .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column p,.vs-section-cta .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column p,.vs-section-cards .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column p,.vs-proof .vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column p,.vs-box>.vc_column-inner>.wpb_wrapper>.wpb_text_column.vs-center p{margin-left:auto!important;margin-right:auto!important;text-align:center}
.vs-section-cards .vs-h2,.vs-section-cta .vs-h2,.vs-section-faq .vs-h2{text-align:center}
.vs-section-cta,.vs-hero-centered{text-align:center}
.vs-dark-row,.vs-dark-row .vs-on-dark,.vs-on-dark p,.vs-on-dark li{color:var(--vs-on-dark)}
.vs-on-dark a{color:#fff}
.vs-center,.vs-center p{text-align:center}
.vs-eyebrow p{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-brand);margin:0}
.vs-dark-row .vs-eyebrow p{color:#43C6C1}
.vs-lead p{font-size:20px;line-height:1.55;color:var(--vs-muted)}
.vs-dark-row .vs-lead p{color:#DDF3F1}
.vs-micro p,.vs-crumbs p,.vs-muted p,.vs-sub{font-size:14px;color:var(--vs-muted)}
.vs-dark-row .vs-micro p,.vs-dark-row .vs-crumbs p{color:#B9D3D3}

/* ---- 3. Links (always underlined; thicker on hover) ---- */
.vs-box .wpb_text_column a:not(.vs-abtn){color:var(--vs-brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-thickness var(--vs-ease),color var(--vs-ease)}
.vs-box .wpb_text_column a:not(.vs-abtn):hover{text-decoration-thickness:3px;color:var(--vs-brand-dark)}
.vs-dark-row .wpb_text_column a:not(.vs-abtn){color:#fff}
.vs-more p{font-weight:700;margin:0}
.vs-more a:after{content:" \2192";display:inline-block;transition:transform var(--vs-ease)}
.vs-more a:hover:after{transform:translateX(4px)}

/* ---- 4. Buttons: two looks only. First button in a group = primary, the others = secondary ---- */
.vs-btn{display:inline-block;margin:0 12px 12px 0!important}
.vs-btn .vc_btn3{min-height:48px;padding:13px 28px!important;border-radius:999px;font-weight:800;font-size:16px;line-height:1.2;text-decoration:none!important;border:2px solid transparent;box-shadow:none;transition:background-color var(--vs-ease),color var(--vs-ease),border-color var(--vs-ease),box-shadow var(--vs-ease),transform var(--vs-ease)}
.vs-btn-primary .vc_btn3{background:var(--vs-cta)!important;color:var(--vs-ink)!important;border-color:var(--vs-cta)!important}
.vs-btn-primary .vc_btn3:hover{background:var(--vs-cta-hover)!important;border-color:var(--vs-cta-hover)!important;box-shadow:0 6px 16px rgba(16,22,26,.2);transform:translateY(-1px)}
.vs-btn-secondary .vc_btn3{background:transparent!important;color:var(--vs-brand)!important;border-color:var(--vs-brand)!important}
.vs-btn-secondary .vc_btn3:hover{background:var(--vs-brand)!important;color:#fff!important}
.vs-dark-row .vs-btn-secondary .vc_btn3{color:#fff!important;border-color:#fff!important}
.vs-dark-row .vs-btn-secondary .vc_btn3:hover{background:#fff!important;color:var(--vs-deep)!important}
.vs-btn .vc_btn3:active{transform:translateY(1px);box-shadow:none}
.vs-section-cta .vs-btn,.vs-hero-centered .vs-btn{margin:0 6px 12px!important}
.vs-abtn{display:inline-block;background:var(--vs-cta);color:var(--vs-ink);font-weight:800;border-radius:999px;padding:13px 28px;text-decoration:none;margin:4px 8px 4px 0;border:2px solid var(--vs-cta);min-height:48px;transition:background-color var(--vs-ease),color var(--vs-ease)}
.vs-abtn:hover{background:var(--vs-cta-hover);border-color:var(--vs-cta-hover)}
.vs-abtn-o{background:transparent;color:#fff;border-color:#fff}
.vs-abtn-o:hover{background:#fff;color:var(--vs-deep);border-color:#fff}

/* ---- 5. Keyboard focus: a clear ring on every link, button and card link ---- */
.vsek-page a:focus-visible,.vsek-page button:focus-visible,.vsek-page .vc_btn3:focus-visible,.vsek-page summary:focus-visible{outline:3px solid var(--vs-brand);outline-offset:3px;border-radius:6px}
.vs-dark-row a:focus-visible,.vs-dark-row .vc_btn3:focus-visible{outline-color:#fff}

/* ---- 6. Columns inside a section (two-up split) and card grids ---- */
.vc_row.vs-cols{display:flex;flex-wrap:wrap;align-items:center;margin-left:-12px;margin-right:-12px}
.vc_row.vs-cols:before,.vc_row.vs-cols:after{content:none!important;display:none!important}
.vs-cols>.wpb_column{float:none!important;padding-left:12px;padding-right:12px;box-sizing:border-box;margin-bottom:12px}
.vs-cols>.wpb_column>.vc_column-inner{padding-left:0!important;padding-right:0!important}
.vc_row.vs-card-grid{align-items:stretch;justify-content:center}
.vs-card-grid>.vs-card{display:flex;margin-bottom:24px}
.vc_row.vs-cols>.wpb_column.vs-card{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;transform:none!important}
.vc_row.vs-cols>.wpb_column.vs-card>.vc_column-inner{padding:28px 30px!important}
.vs-card>.vc_column-inner{width:100%;background:#fff;border:1px solid var(--vs-border);border-radius:var(--vs-radius);padding:26px!important;box-shadow:var(--vs-shadow);transition:transform var(--vs-ease),box-shadow var(--vs-ease),border-color var(--vs-ease)}
.vs-card:hover>.vc_column-inner,.vs-card:focus-within>.vc_column-inner{transform:translateY(-4px);box-shadow:var(--vs-shadow-lift);border-color:var(--vs-brand)}
.vs-card .vs-h3{margin-top:12px}
.vs-box .wpb_wrapper>*{margin-bottom:16px}
.vs-card-grid img,.vs-cols img{max-width:100%;height:auto}

/* ---- 7. Steps, tables, notices, boxes ---- */
/* Steps: a vertical timeline for long steps, a row of numbered cards for short ones (set by the builder) */
.vsek-page .vs-steps,.vsek-page .vs-steps li{list-style:none!important}
.vsek-page .vs-steps{counter-reset:s;margin:0!important;padding:0!important;max-width:var(--vs-measure)}
.vsek-page .vs-steps li{background:none;border:0;border-radius:0;box-shadow:none;counter-increment:s;position:relative;display:block!important;padding:2px 0 28px 66px!important;margin:0!important;line-height:1.6;min-height:46px}
.vsek-page .vs-steps li:before{content:counter(s);position:absolute!important;left:0;top:0;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--vs-brand),var(--vs-deep));color:#fff;font-weight:800;font-size:20px;text-align:center;line-height:46px;box-shadow:0 0 0 5px var(--vs-mint)}
.vsek-page .vs-steps li:not(:last-child):after{content:"";position:absolute;left:22px;top:54px;bottom:6px;width:2px;background:var(--vs-border)}
.vsek-page .vs-steps li>strong:first-child{display:block;font-size:19px;line-height:1.3;margin:0 0 4px;color:var(--vs-text)}
.vsek-page .vs-dark-row .vs-steps li:before{background:#fff;color:var(--vs-deep);box-shadow:0 0 0 5px rgba(255,255,255,.18)}
.vsek-page .vs-dark-row .vs-steps li:not(:last-child):after{background:rgba(255,255,255,.28)}
.vsek-page .vs-dark-row .vs-steps li>strong:first-child{color:#fff}
.vsek-page .vs-steps.vs-steps-row{display:flex!important;flex-wrap:wrap;justify-content:center;gap:22px;max-width:none;margin-top:30px!important}
.vsek-page .vs-steps-row li{flex:0 1 calc(33.333% - 15px);box-sizing:border-box;background:#fff;border:1px solid var(--vs-border);border-radius:var(--vs-radius);padding:76px 22px 24px!important;box-shadow:var(--vs-shadow);transition:transform var(--vs-ease),box-shadow var(--vs-ease),border-color var(--vs-ease);text-align:left}
.vsek-page .vs-steps-row li:hover{transform:translateY(-3px);box-shadow:var(--vs-shadow-lift);border-color:var(--vs-brand)}
.vsek-page .vs-steps-row li:before{left:22px;top:20px}
.vsek-page .vs-steps-row li:not(:last-child):after{display:none}
.vsek-page .vs-steps-row li>strong:first-child{font-size:19px;margin-bottom:6px}
.vsek-page .vs-steps-c2 li{flex-basis:calc(50% - 11px)}
.vsek-page .vs-steps-c4 li{flex-basis:calc(25% - 17px)}
.vsek-page .vs-steps-c5 li{flex-basis:calc(20% - 18px)}
.vsek-page .vs-steps-flow li:last-child:before{background:var(--vs-cta);color:var(--vs-ink);box-shadow:0 0 0 5px #FBE9B4}
.vsek-page .vs-steps-flow li:not(:last-child):after{display:block;content:"";position:absolute;left:auto;right:-26px;top:29px;bottom:auto;width:30px;height:30px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F7378' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat;border:1px solid var(--vs-border);z-index:2}
.vsek-page .vs-dark-row .vs-steps-row li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:var(--vs-on-dark);box-shadow:none}
.vsek-page .vs-dark-row .vs-steps-row li:hover{border-color:#fff}
.vsek-page .vs-steps.vs-steps{display:block!important;grid-template-columns:none!important;gap:0!important;list-style:none!important}
.vsek-page .vs-steps.vs-steps-row{display:flex!important;flex-wrap:wrap!important;gap:22px!important}
.vsek-page .vs-steps li::before{display:flex!important;align-items:center!important;justify-content:center!important;place-items:center!important;box-sizing:border-box!important;width:46px!important;height:46px!important;margin:0!important;padding:0!important;line-height:1!important;font-family:inherit!important;font-weight:800!important;font-size:20px!important;text-align:center!important;background:linear-gradient(135deg,var(--vs-brand),var(--vs-deep))!important;color:#fff!important}
.vsek-page .vs-steps-flow li:last-child::before{background:var(--vs-cta)!important;color:var(--vs-ink)!important}
.vsek-page .vs-dark-row .vs-steps li::before,.vsek-page .vs-dark-row .vs-steps-flow li:last-child::before{background:#fff!important;color:var(--vs-deep)!important}
.vsek-page .vs-steps-row li{box-shadow:var(--vs-shadow)!important}
.vs-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.vs-table{width:100%;border-collapse:collapse;font-size:16px;min-width:520px}
.vs-table th,.vs-table td{border:1px solid var(--vs-border);padding:10px 12px;text-align:left;vertical-align:top}
.vs-table th{background:#EEF3F1}
.vs-notice{background:#FFF6DC;border-left:5px solid #D9A400;padding:18px 22px;border-radius:10px}
.vs-toc{background:var(--vs-mint);border-radius:var(--vs-radius-sm);padding:14px 20px}
.vs-cta-box{background:var(--vs-deep);color:var(--vs-on-dark);border-radius:var(--vs-radius);padding:28px}
.vs-cta-box h3{color:#fff;margin:0 0 8px}
.vs-list{padding-left:20px}.vs-list li{margin:10px 0}
.vs-side,.vs-help-side ul{list-style:none;padding:0;margin:8px 0 0}.vs-side li{margin:6px 0}
.vs-faq-acc{margin-top:8px}
.vs-stat-num p{font-size:44px;font-weight:900;color:var(--vs-brand);text-align:center;margin:0}
.vs-stat-label p{text-align:center;color:var(--vs-muted)}
.vs-proof-text p{font-weight:700;font-size:15px;color:var(--vs-ink);margin:0}
.vs-center .vs-proof-text,.vs-proof-text{text-align:center}

/* ---- 8. Help Center search box ---- */
.vsw-search{max-width:var(--vs-measure);margin:0 auto;text-align:left}
.vsw-search input{width:100%;box-sizing:border-box;font-size:18px;padding:16px 20px;border-radius:999px;border:0;min-height:52px}
.vsw-search ul{list-style:none;margin:12px 0 0;padding:0;background:#fff;border-radius:14px;max-height:420px;overflow:auto}
.vsw-search li{border-bottom:1px solid #DEE1E1}
.vsw-search li a{display:block;padding:12px 18px;text-decoration:none;color:var(--vs-text)}
.vsw-search li span{font-size:14px;color:var(--vs-muted)}
.vsw-search li.none{padding:14px 18px;color:var(--vs-text)}

/* ---- 9. Header stays in view while scrolling (theme header, no theme files edited) ---- */
.vsek-page header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:60;background:#fff}

/* ---- 10. The main heading is the first thing on every page ---- */
.vsek-page .wp-block-post-title,.vsek-page .entry-title,.vsek-page .page-title,.vsek-page .page-header,.vsek-page .wp-block-post-header,.vsek-page .vs-crumbs,.vsek-page .vs-hero .vs-eyebrow{display:none!important}

/* ---- 11. Phones and tablets ---- */
@media(max-width:900px){.vs-hero-cols>.wpb_column{width:100%!important}.vs-hero:not(.vs-hero-centered) .vs-box{text-align:left}}
@media(max-width:767px){
  :root{--vs-section-y:40px;--vs-hero-y:48px;--vs-gutter:20px}
  .vs-cols>.wpb_column{width:100%!important}
  .vs-btn{display:block;margin:0 0 12px!important}
  .vs-btn .vc_btn3{display:block;width:100%;text-align:center}
  .vs-section-cta .vs-btn,.vs-hero-centered .vs-btn{margin:0 0 12px!important}
  .vs-card-grid>.vs-card{margin-bottom:16px}
  .vs-lead p{font-size:18px}
  body.vsek-page{padding-bottom:72px}
}
/* sticky call-to-action bar on phones (see Tools > VisionScaper Site) */
.vsek-bar{display:none}
@media(max-width:767px){.vsek-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--vs-border);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 14px rgba(16,22,26,.12)}
  .vsek-bar a{flex:1;text-align:center;font-weight:800;min-height:48px;line-height:48px;border-radius:999px;text-decoration:none;border:2px solid var(--vs-brand);color:var(--vs-brand)}
  .vsek-bar a:first-child{background:var(--vs-cta);border-color:var(--vs-cta);color:var(--vs-ink)}}

/* ---- 12. Respect "reduce motion" ---- */
@media(max-width:1000px){.vsek-page .vs-steps-row li,.vsek-page .vs-steps-c4 li,.vsek-page .vs-steps-c5 li,.vsek-page .vs-steps-c3 li,.vsek-page .vs-steps-c2 li{flex-basis:calc(50% - 11px)}.vsek-page .vs-steps-flow li:not(:last-child):after{display:none}}
@media(max-width:600px){.vsek-page .vs-steps-row li,.vsek-page .vs-steps-c4 li,.vsek-page .vs-steps-c5 li,.vsek-page .vs-steps-c3 li,.vsek-page .vs-steps-c2 li{flex-basis:100%;padding:20px 18px 20px 82px!important}.vsek-page .vs-steps-row li::before{left:18px;top:18px}}
@media(prefers-reduced-motion:reduce){.vsek-page .vs-steps-row li:hover{transform:none}*{transition:none!important;animation:none!important}.vs-card:hover>.vc_column-inner{transform:none}}

/* Legal pages (Privacy Policy, Terms of Service) */
.vs-legal,.dreamscaper-terms{max-width:860px;margin-left:auto;margin-right:auto}
.vs-legal h2,.dreamscaper-terms h2{scroll-margin-top:90px;margin-top:1.8em}
.vs-legal table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95em}
.vs-legal th,.vs-legal td{border:1px solid #cfdcdc;padding:8px 10px;text-align:left;vertical-align:top}
.vs-legal th{background:#eef5f5}
.vsk-toc{background:#f1f6f5;border:1px solid #cfdcdc;border-radius:10px;padding:14px 20px;margin:1.2em 0}
.vsk-toc ol{columns:2;column-gap:2em;margin:.4em 0 0 1.2em}
.vsk-toc li{margin:.15em 0}
mark.vsk-todo{background:#fff1a8;color:#222;padding:0 3px;border-radius:3px}
@media(max-width:640px){.vsk-toc ol{columns:1}.vs-legal table{display:block;overflow-x:auto}}
