/* ==========================================================================
   viskasvedinimui — contact page ("Gaukite asmeninį pasiūlymą")
   Scoped under .vv-contact so it cannot clobber the shared default chrome.
   Adapted from the standalone /kontaktai design.
   ========================================================================== */

/* ---- Inter webfont (self-hosted) ---- */
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url("../assets/fonts/inter-07.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url("../assets/fonts/inter-06.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap; src:url("../assets/fonts/inter-07.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap; src:url("../assets/fonts/inter-06.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap; src:url("../assets/fonts/inter-07.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap; src:url("../assets/fonts/inter-06.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:700; font-display:swap; src:url("../assets/fonts/inter-07.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:700; font-display:swap; src:url("../assets/fonts/inter-06.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:800; font-display:swap; src:url("../assets/fonts/inter-07.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:800; font-display:swap; src:url("../assets/fonts/inter-06.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---- design tokens ---- */
.vv-contact {
  --blue-50:oklch(0.975 0.012 240); --blue-100:oklch(0.94 0.025 240); --blue-200:oklch(0.88 0.045 240);
  --blue-300:oklch(0.78 0.085 240); --blue-400:oklch(0.66 0.13 240); --blue-500:oklch(0.55 0.16 240);
  --blue-600:oklch(0.48 0.16 240); --blue-700:oklch(0.40 0.14 240); --blue-800:oklch(0.32 0.10 240); --blue-900:oklch(0.22 0.05 240);
  --ink-900:oklch(0.20 0.02 240); --ink-700:oklch(0.36 0.018 240); --ink-500:oklch(0.52 0.015 240);
  --ink-400:oklch(0.65 0.012 240); --ink-300:oklch(0.78 0.008 240); --ink-200:oklch(0.88 0.006 240); --ink-100:oklch(0.94 0.004 240);
  --surface:#ffffff; --surface-soft:oklch(0.97 0.008 240);
  --danger-500:oklch(0.58 0.20 25); --danger-50:oklch(0.97 0.03 25);
  --green-500:oklch(0.62 0.15 155); --green-50:oklch(0.96 0.04 155);
  --radius-sm:6px; --radius:10px; --radius-lg:14px;
  --shadow-sm:0 1px 2px rgba(15,30,60,0.06);
  --shadow:0 1px 2px rgba(15,30,60,0.05),0 4px 14px rgba(15,30,60,0.06);
  --shadow-lg:0 10px 30px rgba(15,30,60,0.12),0 2px 6px rgba(15,30,60,0.06);
  --container:1180px; --gutter:24px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-family:var(--font); color:var(--ink-900); font-size:15px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.vv-contact *,.vv-contact *::before,.vv-contact *::after { box-sizing:border-box; }
.vv-contact a { color:var(--blue-600); text-decoration:none; }
.vv-contact a:hover { text-decoration:underline; }

/* ---- visually-hidden honeypot ---- */
.vv-contact .vv-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }

/* ---- layout wrapper ---- */
.vv-contact .contact-wrap {
  max-width:var(--container); margin:0 auto; padding:8px 0 40px;
  display:grid; grid-template-columns:minmax(0,1fr); gap:24px;
}

/* ---- hero ---- */
.vv-contact .hero-card {
  background:linear-gradient(90deg,#1f9bd0 0%,#28aae1 50%,#3cb8ed 100%); color:#fff;
  border-radius:var(--radius-lg); padding:28px 32px; display:grid;
  grid-template-columns:1fr auto; gap:24px; align-items:stretch;
  position:relative; overflow:hidden; min-height:240px;
}
.vv-contact .hero-card::after {
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 80% at 100% 0%,rgba(255,255,255,0.18),transparent 60%),radial-gradient(40% 60% at 0% 100%,rgba(255,255,255,0.10),transparent 60%);
  pointer-events:none;
}
.vv-contact .hero-card h2 { margin:0 0 6px; font-size:24px; font-weight:800; letter-spacing:-0.01em; color:#fff; }
.vv-contact .hero-card p { margin:0; opacity:0.92; font-size:15px; }
.vv-contact .hero-badges { display:flex; gap:18px; margin-top:18px; flex-wrap:wrap; position:relative; z-index:1; }
.vv-contact .hero-badge {
  display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500;
  background:rgba(255,255,255,0.13); border:1px solid rgba(255,255,255,0.22);
  padding:6px 12px; border-radius:999px; backdrop-filter:blur(4px);
}
.vv-contact .hero-illustration {
  position:relative; width:380px; align-self:stretch; margin:-28px 0; padding:0 12px;
  display:flex; align-items:flex-end; justify-content:center; overflow:hidden;
}
.vv-contact .hero-illustration img { width:100%; max-width:none; height:auto; display:block; }

/* ---- form card ---- */
.vv-contact .form-card {
  background:var(--surface); border:1px solid var(--ink-100); border-radius:var(--radius-lg);
  padding:28px 32px; box-shadow:var(--shadow);
}
.vv-contact .form-section-title { font-size:16px; font-weight:700; color:var(--ink-900); text-align:center; margin:0 0 16px; }

.vv-contact .service-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:8px; }
.vv-contact .service-hint { text-align:center; font-size:12px; color:var(--ink-500); margin-bottom:18px; }
.vv-contact .service-chip {
  position:relative; display:flex; align-items:center; gap:10px; padding:12px 14px;
  border:1.5px solid var(--ink-200); border-radius:10px; background:var(--surface); cursor:pointer;
  transition:all 0.15s ease; font-size:13.5px; font-weight:500; color:var(--ink-700); user-select:none;
}
.vv-contact .service-chip:hover { border-color:#7ccdec; background:var(--blue-50); }
.vv-contact .service-chip.checked { border-color:#28aae1; background:var(--blue-50); color:#176889; font-weight:600; }
.vv-contact .service-chip input { position:absolute; opacity:0; pointer-events:none; }
.vv-contact .chip-tick {
  width:18px; height:18px; flex-shrink:0; border:1.5px solid var(--ink-300); border-radius:5px;
  display:inline-flex; align-items:center; justify-content:center; background:#fff; transition:all 0.15s ease;
}
.vv-contact .service-chip.checked .chip-tick {
  background-image:linear-gradient(135deg,#3cb8ed 0%,#28aae1 50%,#1f9bd0 100%); border-color:#1f9bd0; color:#fff;
}
.vv-contact .service-chip.checked .chip-tick svg { display:block; }
.vv-contact .chip-tick svg { display:none; }

.vv-contact .field { display:flex; flex-direction:column; gap:6px; }
.vv-contact .field label { font-size:13px; font-weight:500; color:var(--ink-700); }
.vv-contact .field label .req { color:var(--danger-500); margin-left:2px; }
.vv-contact .input, .vv-contact .textarea {
  font:inherit; width:100%; background:var(--surface); border:1.5px solid var(--ink-200);
  border-radius:8px; padding:11px 14px; color:var(--ink-900); outline:none;
  transition:border-color 0.15s, box-shadow 0.15s;
}
.vv-contact .input:focus, .vv-contact .textarea:focus { border-color:#28aae1; box-shadow:0 0 0 3px rgba(40,170,225,0.18); }
.vv-contact .input::placeholder, .vv-contact .textarea::placeholder { color:var(--ink-400); }
.vv-contact .textarea { min-height:96px; resize:vertical; }
.vv-contact .input.error, .vv-contact .textarea.error { border-color:var(--danger-500); background:var(--danger-50); }
.vv-contact .notes-area { margin-bottom:16px; }

/* file upload */
.vv-contact .file-drop {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; height:47px; box-sizing:border-box;
  border:1.5px dashed var(--ink-200); background:var(--surface-soft); border-radius:8px; padding:14px;
  cursor:pointer; transition:border-color 0.15s, background 0.15s; overflow:hidden;
  height: auto;
}
.vv-contact .file-drop:hover { border-color:#28aae1; background:#f4fbff; }
.vv-contact .file-drop.is-drag { border-color:#28aae1; border-style:solid; background:#eaf6fc; }
.vv-contact .file-drop.has-files { height:auto; min-height:47px; padding:6px 10px; cursor:default; border-style:solid; border-color:var(--ink-100); background:var(--surface); }
.vv-contact .file-drop-prompt { display:inline-flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-700); width:100%; }
.vv-contact .file-drop-prompt strong { color:#1f9bd0; font-weight:600; }
.vv-contact .file-drop-hint { display:block; font-size:11px; color:var(--ink-500); font-weight:400; margin-top:1px; }
.vv-contact .file-list { display:flex; flex-wrap:wrap; gap:6px; align-items:center; width:100%; }
.vv-contact .file-chip {
  display:inline-flex; align-items:center; gap:6px; background:var(--blue-50); color:#176889;
  border:1px solid rgba(40,170,225,0.25); border-radius:999px; padding:4px 8px 4px 10px;
  font-size:12px; font-weight:500; cursor:pointer; transition:background 0.12s, border-color 0.12s;
}
.vv-contact .file-chip:hover { background:#ffe8e8; border-color:#f3b5b5; color:#b04141; }
.vv-contact .file-chip:hover .file-remove { color:#b04141; }
.vv-contact .file-name { max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vv-contact .file-remove { color:#9aa3ad; }
.vv-contact .file-drop-add { display:inline-flex; align-items:center; gap:4px; font-size:12px; color:var(--blue-600); font-weight:600; cursor:pointer; padding:4px 8px; border-radius:999px; }
.vv-contact .file-drop-add:hover { background:var(--blue-50); }

.vv-contact .field-row { display:grid; gap:14px; margin-bottom:18px; }
.vv-contact .field-row.cols-3 { grid-template-columns:1fr 1fr 1fr; }
.vv-contact .field-row.cols-2 { grid-template-columns:1fr 1fr; }

.vv-contact .error-banner {
  background:var(--danger-50); border:1px solid oklch(0.58 0.20 25 / 0.3); color:oklch(0.45 0.18 25);
  font-size:13px; padding:10px 14px; border-radius:8px; margin-bottom:16px; display:flex; align-items:center; gap:8px;
}

.vv-contact .cta-bar { display:flex; align-items:stretch; justify-content:center; margin-top:24px; }
.vv-contact .cta-bar.v3 .btn-primary { border-radius:var(--radius); min-width:280px; padding:12px 36px; }
.vv-contact .btn-primary {
  background-color:#28aae1; background-image:linear-gradient(90deg,#1f9bd0 0%,#28aae1 35%,#2eb8c8 70%,#2ec4b7 100%);
  color:#fff; border:0; font:inherit; font-weight:700; font-size:15px; padding:14px 36px; border-radius:var(--radius);
  cursor:pointer; letter-spacing:0.01em;
  transition:background-color 0.18s ease, background-image 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.vv-contact .btn-primary:hover { background-image:linear-gradient(90deg,#1885b3 0%,#1f95c7 35%,#25a3b1 70%,#26ad9f 100%); transform:translateY(-2px); box-shadow:var(--shadow); }
.vv-contact .btn-primary:active { transform:translateY(0); box-shadow:none; }
.vv-contact .btn-primary:disabled { opacity:0.6; cursor:not-allowed; }
.vv-contact .recaptcha-attribution { text-align:center; margin-top:10px; font-size:11px; color:var(--ink-500); }
.vv-contact .recaptcha-attribution strong { font-weight:600; color:var(--ink-700); }
.vv-contact .recaptcha-attribution a { color:var(--ink-500); }
.vv-contact .submit-row { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:12px; }
.vv-contact .privacy-note { font-size:12px; color:var(--ink-500); text-align:center; max-width:480px; }

/* ---- trust signals ---- */
.vv-contact .trust-row { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:14px; }
.vv-contact .trust-card {
  background:linear-gradient(135deg,#3cb8ed 0%,#28aae1 50%,#1f9bd0 100%); color:#fff;
  border:1px solid rgba(40,170,225,0.4); border-radius:var(--radius); padding:18px 20px;
  display:flex; align-items:center; gap:14px; box-shadow:var(--shadow-sm);
}
.vv-contact .trust-icon {
  width:44px; height:44px; border-radius:10px; background:var(--blue-50); color:#28aae1;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  transition:background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.vv-contact .trust-row .trust-card--link:nth-child(1):hover .trust-icon { background:#fff4d6; color:#d99a1f; }
.vv-contact .trust-row .trust-card--link:nth-child(2):hover .trust-icon { background:#fbe6e6; color:#c14b4b; }
.vv-contact .trust-row .trust-card--link:nth-child(3):hover .trust-icon { background:#d4f5dd; color:#0a8a35; }
.vv-contact .trust-card .v { font-size:22px; font-weight:800; letter-spacing:-0.01em; color:#fff; line-height:1.1; }
.vv-contact .trust-card .l { font-size:13px; color:rgba(255,255,255,0.85); margin-top:2px; }
.vv-contact .trust-card--link { text-decoration:none; color:inherit; position:relative; transition:transform 0.15s, box-shadow 0.15s, border-color 0.15s; }
.vv-contact .trust-card--link:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--blue-200); text-decoration:none; }
.vv-contact .trust-card--link > div:nth-of-type(2) { flex:1; }
.vv-contact .trust-arrow { margin-left:auto; color:rgba(255,255,255,0.75); transition:color 0.15s, transform 0.15s; flex-shrink:0; }
.vv-contact .trust-card--link:hover .trust-arrow { color:#fff; transform:translateX(3px); }
.vv-contact .trust-card.highlight .l { color:rgba(255,255,255,0.85) !important; }
.vv-contact .trust-card.highlight .v, .vv-contact .trust-card.highlight .v a { color:#fff !important; }
.vv-contact .trust-card.highlight .trust-icon { background:var(--blue-50); color:#28aae1; }
.vv-contact .trust-card.highlight:hover .trust-icon { background:#d4f5dd; color:#0a8a35; transform:scale(1.08); }

/* ---- next steps ---- */
.vv-contact .next-steps-card { background:var(--surface); border:1px solid var(--ink-100); border-radius:var(--radius-lg); padding:28px 32px; box-shadow:var(--shadow-sm); }
.vv-contact .section-heading { font-size:18px; font-weight:700; text-align:center; margin:0 0 4px; letter-spacing:-0.01em; color:var(--ink-900); }
.vv-contact .section-sub { font-size:13px; color:var(--ink-500); text-align:center; margin:0 0 22px; }
.vv-contact .steps-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; position:relative; }
.vv-contact .step { background:var(--surface-soft); border:1px solid var(--ink-100); border-radius:12px; padding:18px; display:flex; gap:14px; align-items:center; }
.vv-contact .step-num {
  width:34px; height:34px; border-radius:50%;
  background-image:linear-gradient(135deg,#3cb8ed 0%,#28aae1 50%,#1f9bd0 100%); box-shadow:0 1px 2px rgba(31,155,208,0.35);
  color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex-shrink:0;
}
.vv-contact .step h4 { margin:0 0 4px; font-size:14px; font-weight:700; color:var(--ink-900); }
.vv-contact .step p { margin:0; font-size:13px; color:var(--ink-700); line-height:1.45; }
.vv-contact .steps-footer { margin-top:18px; text-align:center; font-size:13px; color:var(--ink-500); display:flex; justify-content:center; align-items:center; gap:10px; }
.vv-contact .steps-footer .pill { display:inline-flex; align-items:center; gap:6px; background:#e8f5ec; color:#1f7a3a; padding:5px 10px; border-radius:999px; font-weight:600; font-size:12px; }

/* ---- product banner ---- */
.vv-contact .product-banner {
  position:relative; background-color:#6b9466; background-image:linear-gradient(90deg,#5a8a55 0%,#aac99a 100%);
  border-radius:var(--radius-lg); overflow:hidden; display:block; box-shadow:var(--shadow-sm); color:#fff;
  text-decoration:none; transition:transform 0.18s ease, box-shadow 0.18s ease; min-height:240px;
}
.vv-contact .product-banner::before {
  content:""; position:absolute; top:0; right:0; width:85%; height:100%;
  background:url("../assets/img/img-01.png") right center / cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,0.55) 25%,#000 55%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,0.55) 25%,#000 55%,#000 100%);
  pointer-events:none;
}
.vv-contact .product-banner:hover { transform:translateY(-2px); box-shadow:var(--shadow); text-decoration:none; color:#fff; }
.vv-contact .product-banner:hover .product-banner-cta { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.4); }
.vv-contact .product-banner-text { padding:40px 32px; position:relative; z-index:1; }
.vv-contact .product-banner h3 { margin:0 0 6px; font-size:20px; font-weight:800; letter-spacing:-0.01em; color:#fff; }
.vv-contact .product-banner .badge-row { display:flex; gap:8px; flex-wrap:wrap; }
.vv-contact .product-banner .b { font-size:12px; font-weight:600; padding:4px 10px; border-radius:999px; background:#e8f5ec; color:#1f7a3a; }
.vv-contact .product-banner-cta {
  display:inline-flex; align-items:center; gap:8px; margin-top:26px; font-size:13px; font-weight:500;
  background:rgba(255,255,255,0.13); border:1px solid rgba(255,255,255,0.22); padding:6px 14px; border-radius:999px;
  backdrop-filter:blur(4px); color:#fff; text-decoration:none; transition:background 0.15s, border-color 0.15s;
}
.vv-contact .product-banner-cta:hover { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.4); text-decoration:none; color:#fff; }

/* ---- bottom 2-up cards ---- */
.vv-contact .bottom-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.vv-contact .b-card {
  background:var(--surface); text-decoration:none; border:1px solid var(--ink-100); border-radius:var(--radius-lg);
  padding:22px 24px; display:grid; grid-template-columns:1fr; align-items:center; gap:16px; box-shadow:var(--shadow-sm);
  transition:transform 0.15s, box-shadow 0.15s, border-color 0.15s; cursor:pointer;
}
.vv-contact .b-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--blue-200); text-decoration:none; }
.vv-contact .b-card--image { position:relative; background-size:cover; background-position:center; background-repeat:no-repeat; border:none; color:#fff; overflow:hidden; }
.vv-contact .b-card--image h4, .vv-contact .b-card--image p { color:#fff !important; }
.vv-contact .b-card--image .arrow {
  display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500;
  background:rgba(255,255,255,0.13); border:1px solid rgba(255,255,255,0.22); padding:6px 14px; border-radius:999px;
  backdrop-filter:blur(4px); color:#fff !important; margin-top:14px; transition:background 0.15s, border-color 0.15s;
}
.vv-contact .b-card--image:hover .arrow { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.4); }
.vv-contact .b-card--white.b-card--image h4 { color:var(--ink-900) !important; }
.vv-contact .b-card--white.b-card--image p { color:var(--ink-700) !important; }
.vv-contact .b-card--white.b-card--image .arrow { background:rgba(255,255,255,0.85); border:1px solid rgba(0,0,0,0.08); color:var(--ink-900) !important; backdrop-filter:blur(2px); }
.vv-contact .b-card--white.b-card--image:hover .arrow { background:#fff; border-color:rgba(40,170,225,0.4); color:#1f9bd0 !important; }
.vv-contact .b-card--works { background-image:linear-gradient(90deg,rgba(31,155,208,0.92) 0%,rgba(40,170,225,0.7) 50%,rgba(60,184,237,0.3) 100%),url("../assets/img/img-02.png"); background-position:center top; background-size:cover; }
.vv-contact .b-card--reviews { background-image:linear-gradient(90deg,rgba(255,255,255,0.78) 0%,rgba(255,255,255,0.62) 50%,rgba(255,255,255,0.32) 100%),url("../assets/img/img-03.jpg"); background-position:center 30%; background-size:cover; }
.vv-contact .b-card h4 { margin:0 0 6px; font-size:16px; font-weight:700; color:var(--ink-900); }
.vv-contact .b-card p { margin:0; font-size:13px; color:var(--ink-500); }
.vv-contact .b-card .arrow { display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:var(--blue-600); font-weight:600; font-size:13px; }

/* ---- success modal ---- */
.vv-contact .modal-backdrop {
  position:fixed; inset:0; background:rgba(15,25,45,0.55); backdrop-filter:blur(3px);
  z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; animation:vvFadeIn 0.2s ease;
}
@keyframes vvFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes vvPop { from { opacity:0; transform:scale(0.94) translateY(8px); } to { opacity:1; transform:none; } }
.vv-contact .modal {
  background:var(--surface); border-radius:var(--radius-lg); width:100%; max-width:460px;
  padding:36px 32px 28px; box-shadow:var(--shadow-lg); text-align:center; position:relative;
  animation:vvPop 0.25s cubic-bezier(0.2,1,0.4,1);
}
.vv-contact .modal-close { position:absolute; top:12px; right:12px; width:32px; height:32px; border-radius:8px; background:transparent; border:0; color:var(--ink-500); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.vv-contact .modal-close:hover { background:var(--ink-100); color:var(--ink-900); }
.vv-contact .success-circle { width:64px; height:64px; margin:0 auto 16px; border-radius:50%; background:var(--green-50); color:var(--green-500); display:flex; align-items:center; justify-content:center; }
.vv-contact .modal h3 { font-size:22px; font-weight:800; letter-spacing:-0.01em; color:var(--ink-900); margin:0 0 8px; }
.vv-contact .modal p { color:var(--ink-700); font-size:14px; margin:0 0 22px; }
.vv-contact .modal-trust { text-align:left; margin-top:4px; }

/* ---- responsive ---- */
@media (max-width:920px) {
  .vv-contact .service-grid { grid-template-columns:repeat(2,1fr); }
  .vv-contact .field-row.cols-3, .vv-contact .field-row.cols-2 { grid-template-columns:1fr; }
  .vv-contact .trust-row { grid-template-columns:1fr; }
  .vv-contact .steps-grid { grid-template-columns:1fr; }
  .vv-contact .bottom-cards { grid-template-columns:1fr; }
  .vv-contact .hero-card { grid-template-columns:1fr; padding-bottom:0; }
  .vv-contact .hero-card > div:first-child { padding-bottom:8px; }
  .vv-contact .hero-illustration { width:100%; margin:0; overflow:visible; }
  .vv-contact .hero-illustration img { max-width:420px; object-fit:contain; object-position:center bottom; margin:0 0 -28px 0; }
  .vv-contact .hero-card h2 { font-size:22px; }
  .vv-contact .product-banner::before { width:100%; background-position:75% center; }
  .vv-contact .cta-bar { flex-direction:column; }
  .vv-contact .cta-bar.v3 .btn-primary { width:100%; min-width:0; padding:14px 24px; }
  .vv-contact .modal { padding:28px 22px; max-width:92vw; }
  input[type=file] { width: 100%!important; }
}
@media (max-width:560px) {
  .vv-contact .service-grid { grid-template-columns:1fr; }
  .vv-contact .b-card { padding:18px; }
  .vv-contact .b-card--image { min-height:150px; }
  .vv-contact .hero-card { padding:24px 20px; }
}
