/* Caveres shared fixes (2026-10-01b): logo, mobile nav, tap targets, forms, calendar, Home money callout.
   Selectors are prefixed with "html body" + the page root id so they win over the page-scoped styles. */
html body [hidden]{display:none !important}
html body .cvx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Logo: fixed square, never stretched/squished (matches Home) ---------- */
html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) .cv-logo,
html body #cv-how-concept .cv2-logo{flex:0 0 28px;width:28px;height:28px;min-width:28px;aspect-ratio:1/1;display:inline-block;position:relative}
html body #cv-how-concept .cv2-logo:before,html body #cv-how-concept .cv2-logo:after{content:none;display:none}
html body #cv-how-concept .cv2-logo i{position:absolute;height:2px;background:#fff;right:7px}
html body #cv-how-concept .cv2-logo i:nth-child(1){top:7px;width:14px}
html body #cv-how-concept .cv2-logo i:nth-child(2){top:13px;width:10px}
html body #cv-how-concept .cv2-logo i:nth-child(3){top:19px;width:6px}
html body #cv-how-concept .cv2-logo b{position:absolute;width:2px;height:18px;background:#fff;right:5px;top:5px}
html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) .cv-brand,
html body #cv-how-concept .cv2-brand{flex:none;min-height:44px;display:inline-flex;align-items:center}

/* ---------- Focus visibility ---------- */
html body :is(#cv-home-concept,#cv-how-concept,#cv-demo,#cv-discovery,#cv-privacy) :is(a,button,input,select):focus-visible{outline:3px solid #2f80ed;outline-offset:2px}

/* ---------- Mobile + tablet nav: show links, keep CTA, 44px tap targets ---------- */
@media (max-width:720px){
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) .cv-nav,
  html body #cv-how-concept .cv2-nav{height:auto;min-height:0;flex-wrap:wrap;padding:10px 5% 6px;gap:6px 12px}
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) .cv-links,
  html body #cv-how-concept .cv2-links{display:flex;order:3;flex:1 0 100%;margin:0 0 0 -10px;gap:4px;font-size:16px}
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) .cv-links a,
  html body #cv-how-concept .cv2-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:#33506b;text-decoration:none}
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) :is(.cv-nav-btn,.cv-nav-action),
  html body #cv-how-concept .cv2-nav-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-height:44px;padding:0 14px;font-size:15px;line-height:1.2;text-align:center;white-space:nowrap}
  /* footer links: comfortable tap targets */
  html body :is(#cv-home-concept,#cv-how-concept,#cv-demo,#cv-discovery,#cv-privacy) :is(.cv-footer,.cv2-footer) a{display:inline-flex;align-items:center;min-height:44px}
  /* 16px+ inputs so iOS doesn't zoom */
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery) :is(input,select){font-size:16px}
}
@media (max-width:360px){
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) :is(.cv-nav-btn,.cv-nav-action),
  html body #cv-how-concept .cv2-nav-btn{font-size:14px;padding:0 10px}
}

/* ---------- Form feedback ---------- */
html body :is(#cv-home-concept,#cv-demo,#cv-discovery) .cvx-err{color:#b42318;font-size:15px;line-height:1.4;margin:6px 0 0}
html body :is(#cv-home-concept,#cv-demo,#cv-discovery) [aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}
html body :is(#cv-demo,#cv-discovery) [data-wix-error]{font-size:16px !important;line-height:1.5 !important}
html body :is(#cv-demo,#cv-discovery) .cv-submit{cursor:pointer;min-height:56px}
html body :is(#cv-demo,#cv-discovery) .cv-submit[disabled]{opacity:.7;cursor:progress}
html body :is(#cv-demo,#cv-discovery) .cvx-done{padding:6px 0 4px}
html body :is(#cv-demo,#cv-discovery) .cvx-done-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:14px;font-weight:500;color:var(--cv-green);margin:0 0 10px}
html body :is(#cv-demo,#cv-discovery) .cvx-done h3{font:500 clamp(26px,3vw,34px)/1.15 'Manrope',sans-serif;letter-spacing:-.04em;margin:0 0 14px;color:var(--cv-navy)}
html body :is(#cv-demo,#cv-discovery) .cvx-done p{font-size:17px;line-height:1.6;color:var(--cv-muted);margin:0 0 12px}
html body :is(#cv-demo,#cv-discovery) .cvx-done strong{color:var(--cv-navy);font-weight:500}
html body :is(#cv-demo,#cv-discovery) .cvx-done a{color:var(--cv-blue)}

/* ---------- Demo: progress + teammates ---------- */
html body #cv-demo .cv-progress span.is-on{background:var(--cv-blue)}
html body #cv-demo .cvx-invite-row{display:grid;grid-template-columns:1fr 1.25fr 48px;gap:8px;margin-bottom:8px;align-items:stretch}
html body #cv-demo .cvx-invite-row input{min-height:48px;width:100%}
html body #cv-demo .cvx-invite-row .cvx-tm-remove:not([hidden]){display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:48px;height:auto;border:1px solid var(--cv-line);background:#fff;color:#7a2d2d;font-size:24px;line-height:1;padding:0;cursor:pointer}
html body #cv-demo .cvx-invite-row .cvx-tm-spacer{display:block;width:48px}
html body #cv-demo .cvx-tm-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:4px;border:1px dashed #9dbbef;background:#fff;color:var(--cv-blue);font:500 16px 'DM Sans',sans-serif;cursor:pointer}
html body #cv-demo .cvx-tm-add:hover{background:var(--cv-pale)}
html body #cv-demo .cvx-tm-add[disabled]{opacity:.5;cursor:default}
html body #cv-demo .cvx-tm-note{font-size:14px;color:var(--cv-muted);margin:8px 0 0}
@media (max-width:600px){
  html body #cv-demo .cvx-invite-row{grid-template-columns:1fr 48px;padding-bottom:10px;border-bottom:1px solid var(--cv-line)}
  html body #cv-demo .cvx-invite-row input{grid-column:1}
  html body #cv-demo .cvx-invite-row :is(.cvx-tm-remove,.cvx-tm-spacer){grid-column:2;grid-row:1 / span 2}
}

/* ---------- Discovery: working date + time request picker ---------- */
html body #cv-discovery .cvx-cal{grid-template-columns:1fr;gap:18px}
html body #cv-discovery .cvx-cal .cv-call-meta{border-right:0;padding:0 0 16px;border-bottom:1px solid var(--cv-line)}
html body #cv-discovery .cvx-cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
html body #cv-discovery .cvx-cal-month{font:500 19px 'Manrope',sans-serif;letter-spacing:-.02em}
html body #cv-discovery .cvx-cal-nav{width:48px;height:48px;border:1px solid var(--cv-line);background:#fff;color:var(--cv-blue);font-size:24px;line-height:1;cursor:pointer}
html body #cv-discovery .cvx-cal-nav:disabled{opacity:.3;cursor:default}
html body #cv-discovery .cvx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
html body #cv-discovery .cvx-dow{font-size:13px;color:#7a8ea1;padding:2px 0 4px}
html body #cv-discovery .cvx-day{min-height:46px;padding:0;border:1px solid transparent;background:transparent;font:500 16px 'DM Sans',sans-serif;color:#a5b4c2}
html body #cv-discovery .cvx-day.is-open{border-color:#bcd0f3;color:var(--cv-blue);background:#fff;cursor:pointer}
html body #cv-discovery .cvx-day.is-open:hover{background:var(--cv-pale)}
html body #cv-discovery .cvx-day[aria-pressed="true"]{background:var(--cv-blue);border-color:var(--cv-blue);color:#fff}
html body #cv-discovery .cvx-slots{margin-top:18px}
html body #cv-discovery .cvx-slots-label{font-size:17px;font-weight:500;margin:0 0 10px;color:var(--cv-navy)}
html body #cv-discovery .cvx-slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
html body #cv-discovery .cvx-slot{min-height:50px;border:1px solid #bcd0f3;background:#fff;color:var(--cv-blue);font:500 16px 'DM Sans',sans-serif;cursor:pointer}
html body #cv-discovery .cvx-slot:hover{background:var(--cv-pale)}
html body #cv-discovery .cvx-slot[aria-pressed="true"]{background:var(--cv-blue);border-color:var(--cv-blue);color:#fff}
html body #cv-discovery .cvx-picked{margin:16px 0 0;padding:12px 14px;background:var(--cv-pale);font-size:17px;line-height:1.45;color:var(--cv-navy)}
html body #cv-discovery .cvx-cal-note{font-size:15px;line-height:1.55;color:var(--cv-muted);margin:14px 0 0}
html body #cv-discovery .cvx-cal.is-invalid{border-color:#b42318;box-shadow:0 0 0 1px #b42318}

/* ---------- Home: working hero form ---------- */
html body #cv-home-concept .cvx-hero-form .cv-field{display:block;cursor:text}
html body #cv-home-concept .cvx-hero-form input{display:block;width:100%;border:0;background:transparent;padding:4px 0 2px;font:400 17px 'DM Sans',sans-serif;color:var(--cv-navy);outline-offset:4px}
html body #cv-home-concept .cvx-hero-form input::placeholder{color:#8a9aab}
html body #cv-home-concept .cvx-hero-form .cv-primary{cursor:pointer;min-height:52px;justify-content:center}
html body #cv-home-concept .cvx-hero-form .cv-field:has(input[aria-invalid="true"]){border-bottom-color:#b42318}
html body #cv-home-concept .cvx-hero-form input[aria-invalid="true"]{box-shadow:none}

/* ---------- Home: pain -> money callout in "Get it right" ---------- */
html body #cv-home-concept .cvx-money{grid-column:1/-1;background:#fff;color:var(--cv-navy);padding:48px 52px;margin:0 0 64px;border-top:8px solid #2f80ed;box-shadow:12px 12px 0 #091f33}
html body #cv-home-concept .cvx-money-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:15px;font-weight:500;color:var(--cv-blue);margin:0 0 16px}
html body #cv-home-concept .cvx-money h2{font:800 clamp(34px,4.6vw,60px)/1.04 'Manrope',sans-serif;letter-spacing:-.045em;color:var(--cv-navy);margin:0 0 34px;max-width:1050px}
html body #cv-home-concept .cvx-money h2 em{font-style:normal;color:var(--cv-blue)}
html body #cv-home-concept .cvx-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1.15fr 104px 1.2fr 104px 1fr;align-items:stretch}
html body #cv-home-concept .cvx-box{background:#f2f7ff;padding:26px 24px;border:1px solid #d3e2fa}
html body #cv-home-concept .cvx-box-label{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:14px;font-weight:500;color:#4a6580;margin:0 0 12px}
html body #cv-home-concept .cvx-box ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
html body #cv-home-concept .cvx-box li{font:700 20px/1.3 'Manrope',sans-serif;letter-spacing:-.02em;padding-left:22px;position:relative}
html body #cv-home-concept .cvx-box li:before{content:"✕";position:absolute;left:0;top:1px;color:#c0392b;font-size:15px}
html body #cv-home-concept .cvx-big{display:block;font:800 clamp(48px,5vw,68px)/1 'Manrope',sans-serif;letter-spacing:-.05em;color:#b42318}
html body #cv-home-concept .cvx-big-sub{display:block;font:700 19px/1.3 'Manrope',sans-serif;margin:6px 0 14px}
html body #cv-home-concept .cvx-split{display:grid;gap:8px;font-size:17px;line-height:1.45;color:#33506b}
html body #cv-home-concept .cvx-split b{font:800 20px 'Manrope',sans-serif;color:var(--cv-navy)}
html body #cv-home-concept .cvx-box.is-win{background:var(--cv-blue);border-color:var(--cv-blue);color:#fff}
html body #cv-home-concept .cvx-box.is-win .cvx-box-label{color:#cfe0ff}
html body #cv-home-concept .cvx-win{display:block;font:800 clamp(28px,2.6vw,36px)/1.12 'Manrope',sans-serif;letter-spacing:-.035em;margin:0 0 12px}
html body #cv-home-concept .cvx-box.is-win p{font-size:17px;line-height:1.5;color:#e3edff;margin:0}
html body #cv-home-concept .cvx-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--cv-blue);font:800 34px/1 'Manrope',sans-serif}
html body #cv-home-concept .cvx-arrow small{font:800 16px/1.2 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--cv-navy);text-align:center;padding:0 6px}
@media (max-width:1000px){
  html body #cv-home-concept .cvx-money{padding:36px 28px}
  html body #cv-home-concept .cvx-chain{grid-template-columns:1fr}
  html body #cv-home-concept .cvx-arrow{flex-direction:row;padding:12px 0}
  html body #cv-home-concept .cvx-arrow span{transform:rotate(90deg)}
}
@media (max-width:600px){
  html body #cv-home-concept .cvx-money{padding:28px 20px;margin-bottom:44px;box-shadow:8px 8px 0 #091f33}
  html body #cv-home-concept .cvx-money h2{font-size:32px}
  html body #cv-home-concept .cvx-box{padding:20px 18px}
}

/* ---------- Tablet (<=1024px): touch-size nav + footer links, stacked hero form ---------- */
@media (max-width:1024px){
  html body :is(#cv-home-concept,#cv-demo,#cv-discovery,#cv-privacy) .cv-links a,
  html body #cv-how-concept .cv2-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}
  html body :is(#cv-home-concept,#cv-how-concept,#cv-demo,#cv-discovery,#cv-privacy) :is(.cv-footer,.cv2-footer) a{display:inline-flex;align-items:center;min-height:44px}
  html body #cv-home-concept .cvx-hero-form{grid-template-columns:1fr}
}
html body #cv-home-concept .cvx-hero-form input{min-height:40px}
html body #cv-home-concept .cv-more{display:inline-flex;align-items:flex-end;min-height:44px}
/* buttons don't inherit the page font by default */
html body :is(#cv-home-concept,#cv-demo,#cv-discovery) :is(button,input,select){font-family:'DM Sans',sans-serif}
html body #cv-home-concept .cvx-hero-form .cv-primary{font-size:17px;font-weight:500}
/* phone: give the date grid more width so each day is a bigger target */
@media (max-width:600px){
  html body #cv-discovery .cv-calendar.cvx-cal{padding:16px 10px}
  html body #cv-discovery .cv-calendar.cvx-cal .cv-call-meta{padding:0 6px}
  html body #cv-discovery .cvx-cal-grid{gap:3px}
  html body #cv-discovery .cvx-day{min-height:44px;font-size:17px}
  html body #cv-discovery .cvx-slot-list{gap:8px}
}

/* Home "One record from opening to order" (dark .cv-system): more room below "See the full workflow".
   The 6% row-gap is a percentage of the grid's own height, which made the content spill into the bottom padding,
   so use a fixed row gap (same ~96px look at 1280) and set the bottom padding explicitly. */
@media (min-width:601px){
  html body #cv-home-concept .cv-system{row-gap:96px;padding-bottom:64px}
}
@media (max-width:600px){
  html body #cv-home-concept .cv-system{padding-bottom:88px}
}

/* ---------- Mobile pass 2026-10-07 ---------- */
/* Demo: on tablets (<=1024px) the two-column hero squeezed the form to ~185px and clipped placeholders; stack it like phone */
@media (max-width:1024px){
  html body #cv-demo .cv-hero{grid-template-columns:1fr;background:linear-gradient(#fff 0 46%,#edf4ff 46%)}
  html body #cv-demo .cv-copy{padding:52px 6%}
  html body #cv-demo .cv-form-wrap{padding:40px 6% 56px}
  html body #cv-demo .cv-form-panel{max-width:none}
}
/* Privacy: contents links were 21px tall; give each a 40px+ tap row */
@media (max-width:1024px){
  html body #cv-privacy .cv-toc ol{line-height:1.4}
  html body #cv-privacy .cv-toc li{break-inside:avoid}
  html body #cv-privacy .cv-toc a{display:inline-flex;align-items:center;min-height:42px;vertical-align:middle}
}
/* Home hero phone mockup: 11px labels up to 12px */
html body #cv-home-concept :is(.cv-app-top,.cv-app-field small){font-size:12px}
