/* =========================================================
   FOOTER MODERN – vs-footer.php
   ========================================================= */

/* Footerul vechi Flatsome e ascuns doar cât timp cel nou e activ (body.vs-new-footer) */
body.vs-new-footer #footer > :not(.vs-footer):not(.back-to-top):not(script):not(style) { display: none !important; }

.vs-footer {
  --vs-f-blue: #3488c4;
  --vs-f-blue-2: #1766ad;
  --vs-f-navy: #082b52;
  --vs-f-text: #4b6282;
  --vs-f-line: #e1edf7;
  color: var(--vs-f-navy);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  text-align: left;
}

.vs-footer *, .vs-footer *::before, .vs-footer *::after { box-sizing: border-box; }
.vs-footer ul { margin: 0; padding: 0; list-style: none; }
.vs-footer li { margin: 0; }
.vs-footer a { text-decoration: none; }
.vs-footer svg { flex-shrink: 0; }

/* ---------- 1. Bara de beneficii ---------- */
.vs-footer-benefits {
  background:
    radial-gradient(ellipse 40% 140% at 100% 50%, rgba(120, 200, 255, .35), transparent 70%),
    linear-gradient(100deg, #1757a0 0%, #2a74bd 50%, #1766ad 100%);
  color: #fff;
}

.vs-footer-benefits-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.vs-footer-benefit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 20px;
  border-right: 1px solid rgba(255, 255, 255, .28);
}
.vs-footer-benefit:last-child { border-right: 0; }
.vs-footer-benefit svg { width: 38px; height: 38px; color: #fff; }
.vs-footer-benefit strong { display: block; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.3; }
.vs-footer-benefit span { display: block; margin-top: 3px; color: rgba(255, 255, 255, .88); font-size: 14px; }

/* ---------- 2. Coloanele ---------- */
.vs-footer-main {
  padding: 48px 0 44px;
  background:
    radial-gradient(ellipse 30% 60% at 0% 80%, rgba(52, 136, 196, .10), transparent 70%),
    radial-gradient(ellipse 30% 60% at 100% 30%, rgba(52, 136, 196, .08), transparent 70%),
    linear-gradient(180deg, #f6fbff 0%, #eef6fd 100%);
}

.vs-footer-columns {
  display: grid !important;
  grid-template-columns: 1.35fr 1.25fr 1.05fr 1.15fr 1.05fr;
  gap: 34px;
  align-items: start;
}

.vs-footer-col { min-width: 0; }
.vs-footer-col + .vs-footer-col { padding-left: 34px; margin-left: -17px; border-left: 1px solid var(--vs-f-line); }

.vs-footer-title {
  margin: 0 0 18px !important;
  color: var(--vs-f-navy) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

.vs-footer-col p { margin: 0 0 18px; color: var(--vs-f-text); font-size: 14.5px; line-height: 1.6; }

/* Branding */
.vs-footer-brand-link { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.vs-footer-logo { width: auto; height: 110px; max-width: 130px; object-fit: contain; mix-blend-mode: multiply; }
.vs-footer-brand-text { display: flex; flex-direction: column; gap: 2px; padding-left: 16px; border-left: 2px solid #d6e3f0; line-height: 1.15; }
.vs-footer-brand-eyebrow { color: #5b6b80; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.vs-footer-brand-text strong { color: var(--vs-f-blue); font-size: 24px; font-weight: 800; text-transform: uppercase; }
.vs-footer-brand-text em { color: var(--vs-f-navy); font-size: 18px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.vs-footer-brand p { max-width: 300px; }

.vs-footer-social { display: flex; flex-wrap: wrap; gap: 10px; }
.vs-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(8, 43, 82, .15);
  transition: transform .2s ease, box-shadow .2s ease;
}
.vs-footer-social a:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(8, 43, 82, .22); }
.vs-footer-social svg { width: 22px; height: 22px; }
.vs-footer-social-facebook  { background: #1d4fa3; }
.vs-footer-social-instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.vs-footer-social-tiktok    { background: #111; }
.vs-footer-social-youtube   { background: #d42020; }
.vs-footer-social-whatsapp  { background: #22b14c; }

/* Date comerciale */
.vs-footer-company { display: flex; flex-direction: column; gap: 14px; }
.vs-footer-company li { display: flex; align-items: center; gap: 14px; color: var(--vs-f-text); font-size: 14.5px; line-height: 1.45; }
.vs-footer-company a { color: var(--vs-f-text) !important; overflow-wrap: anywhere; }
.vs-footer-company a:hover { color: var(--vs-f-blue) !important; }
.vs-footer-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e4effa;
  color: var(--vs-f-blue);
}
.vs-footer-ico svg { width: 17px; height: 17px; }

/* Informații utile */
.vs-footer-menu li { border-bottom: 1px solid var(--vs-f-line); }
.vs-footer-menu li:last-child { border-bottom: 0; }
.vs-footer-menu a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  color: #23426b !important;
  font-size: 14.5px;
  line-height: 1.35;
  transition: color .2s ease, transform .2s ease;
}
.vs-footer-menu a:hover { color: var(--vs-f-blue) !important; transform: translateX(3px); }
.vs-footer-chev {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e4effa;
  color: var(--vs-f-blue-2);
}
.vs-footer-chev svg { width: 14px; height: 14px; stroke-width: 2.6; }

/* Protecție + plăți */
.vs-footer-anpc { display: flex; flex-direction: column; gap: 10px; }
.vs-footer-anpc a, .vs-footer-anpc > img { display: block; }
.vs-footer-anpc-img {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto;
  border-radius: 12px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.vs-footer-anpc a:hover .vs-footer-anpc-img { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(8, 43, 82, .12); }
.vs-footer-title-pay { margin-top: 22px !important; }

.vs-footer-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.vs-footer-pay-img { display: block; width: auto; height: 38px; max-width: 110px; object-fit: contain; }
.vs-footer-pay-netopia { height: 44px; max-width: 140px; }

.vs-footer-trust { display: flex; gap: 14px; margin-top: 18px !important; }
.vs-footer-trust li { display: flex; align-items: center; gap: 6px; color: var(--vs-f-text); font-size: 11.5px; line-height: 1.25; }
.vs-footer-trust svg { width: 22px; height: 22px; color: var(--vs-f-blue-2); }

/* Newsletter */
.vs-footer-nl input[type="email"],
.vs-footer-nl-plugin input[type="email"],
.vs-footer-nl-plugin input[type="text"] {
  width: 100%;
  height: 50px;
  margin: 0 0 12px;
  padding: 0 18px;
  border: 1px solid #d6e6f4;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  color: var(--vs-f-navy);
  font-size: 14.5px;
}
.vs-footer-nl input[type="email"]:focus,
.vs-footer-nl-plugin input:focus { border-color: var(--vs-f-blue); outline: 3px solid rgba(52, 136, 196, .14); }

.vs-footer-nl button,
.vs-footer-nl-plugin button,
.vs-footer-nl-plugin input[type="submit"] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 50px;
  margin: 0;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(110deg, #3488c4, #1766ad);
  box-shadow: 0 8px 18px rgba(23, 102, 173, .28);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .2s ease, transform .2s ease;
}
.vs-footer-nl button svg { width: 20px; height: 20px; }
.vs-footer-nl button:not(:disabled):hover,
.vs-footer-nl-plugin button:hover,
.vs-footer-nl-plugin input[type="submit"]:hover { filter: brightness(1.08); transform: translateY(-1px); }
.vs-footer-nl :disabled { cursor: not-allowed; }

.vs-footer-perks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid #d6e3f0;
  text-align: center;
}
.vs-footer-perks li { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--vs-f-text); font-size: 13px; line-height: 1.3; }
.vs-footer-perks span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #e4effa;
  color: var(--vs-f-blue);
}
.vs-footer-perks svg { width: 24px; height: 24px; }

/* Imagine lipsă (doar admin) */
.vs-footer-missing {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 6px 12px;
  border: 1px dashed #e0a800;
  border-radius: 10px;
  background: #fff8e1;
  color: #8a5a00;
  font-size: 12px;
  font-weight: 700;
}
.vs-footer-missing-note { margin: 8px 0 0 !important; color: #8a5a00 !important; font-size: 12px !important; }

/* ---------- 3. Parteneri + copyright ---------- */
.vs-footer-bottom { padding: 22px 0 18px; border-top: 1px solid #dceaf6; background: #fff; }

.vs-footer-bottom-inner {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: ". partners legal" ". copy .";
  align-items: center;
  row-gap: 12px;
}

.vs-footer-partners { grid-area: partners; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 30px; }
.vs-footer-partner-img { display: block; width: auto; height: 36px; max-width: 140px; object-fit: contain; transition: transform .2s ease; }
.vs-footer-partners a:hover .vs-footer-partner-img { transform: translateY(-2px); }

.vs-footer-copy { grid-area: copy; margin: 0 !important; color: #7184a1; font-size: 13.5px; text-align: center; }

.vs-footer-legal { grid-area: legal; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 0; }
.vs-footer-legal a { color: #23426b !important; font-size: 13.5px; }
.vs-footer-legal a + a::before { content: "|"; margin: 0 12px; color: #9fb3c8; }
.vs-footer-legal a:hover { color: var(--vs-f-blue) !important; }

/* ---------- Laptop / tabletă ---------- */
@media (max-width: 1300px) {
  .vs-footer-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 34px; }
  .vs-footer-col + .vs-footer-col { padding-left: 0; margin-left: 0; border-left: 0; }
  .vs-footer-benefit { gap: 10px; padding: 0 12px; }
  .vs-footer-benefit svg { width: 30px; height: 30px; }
  .vs-footer-benefit strong { font-size: 14px; }
  .vs-footer-benefit span { font-size: 12.5px; }
}

@media (max-width: 1000px) {
  .vs-footer-bottom-inner { grid-template-columns: 1fr; grid-template-areas: "partners" "legal" "copy"; }
  .vs-footer-legal { justify-content: center; }
}

/* ---------- Mobil ---------- */
@media (max-width: 849px) {
  .vs-footer-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; padding-top: 20px !important; padding-bottom: 20px !important; }
  .vs-footer-benefit { justify-content: flex-start; padding: 0; border: 0; }
  .vs-footer-benefit svg { width: 28px; height: 28px; }
  .vs-footer-benefit strong { font-size: 13px; }
  .vs-footer-benefit span { font-size: 12px; }

  .vs-footer-main { padding: 32px 0; }
  .vs-footer-columns { grid-template-columns: 1fr; gap: 0; }
  .vs-footer-col { padding: 24px 0 !important; border-bottom: 1px solid var(--vs-f-line); }
  .vs-footer-col:first-child { padding-top: 0 !important; }
  .vs-footer-col:last-child { padding-bottom: 0 !important; border-bottom: 0; }

  .vs-footer-brand { text-align: center; }
  .vs-footer-brand-link { justify-content: center; }
  .vs-footer-logo { height: 84px; }
  .vs-footer-brand-text strong { font-size: 20px; }
  .vs-footer-brand-text em { font-size: 15px; }
  .vs-footer-brand p { margin-left: auto; margin-right: auto; }
  .vs-footer-social { justify-content: center; }
  .vs-footer-social a { width: 42px; height: 42px; }

  .vs-footer-title { margin-bottom: 14px !important; }
  .vs-footer-anpc { flex-direction: row; }
  .vs-footer-anpc > * { flex: 1 1 0; min-width: 0; }
  .vs-footer-trust { flex-wrap: wrap; }
  .vs-footer-partners { gap: 18px 24px; }
  .vs-footer-partner-img { height: 28px; }
}

@media (max-width: 420px) {
  .vs-footer-benefits-grid { grid-template-columns: 1fr; }
  .vs-footer-anpc { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .vs-footer a, .vs-footer button, .vs-footer img { transition: none !important; }
}

/* Bara de beneficii – ca în referință: albastru adânc, lumină în dreapta, iconițe pline mari,
   conținut aliniat la stânga în fiecare celulă, separatoare verticale scurte */
.vs-footer-benefits {
  background:
    radial-gradient(ellipse 18% 160% at 100% 60%, rgba(150, 215, 255, .55), transparent 70%),
    linear-gradient(90deg, #1b5ba6 0%, #1f62ad 45%, #1c5ca7 85%, #2a74bf 100%);
}

.vs-footer-benefits-grid { padding-top: 20px !important; padding-bottom: 20px !important; }

.vs-footer-benefit {
  position: relative;
  justify-content: flex-start;
  gap: 22px;
  padding: 0 28px 0 34px;
  border-right: 0;
}
.vs-footer-benefit:first-child { padding-left: 10px; }

.vs-footer-benefit + .vs-footer-benefit::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.5px;
  height: 58px;
  background: rgba(255, 255, 255, .55);
  transform: translateY(-50%);
}

.vs-footer-benefit svg.vs-footer-benefit-ico { width: 46px; height: 46px; color: #fff; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .15)); }
.vs-footer-benefit strong { font-size: 17px; font-weight: 700; letter-spacing: -.005em; }
.vs-footer-benefit span { margin-top: 4px; color: rgba(255, 255, 255, .92); font-size: 15px; }

@media (max-width: 1300px) {
  .vs-footer-benefit { gap: 14px; padding: 0 16px 0 20px; }
  .vs-footer-benefit svg.vs-footer-benefit-ico { width: 38px; height: 38px; }
  .vs-footer-benefit strong { font-size: 14.5px; }
  .vs-footer-benefit span { font-size: 13px; }
}

@media (max-width: 849px) {
  .vs-footer-benefit, .vs-footer-benefit:first-child { gap: 12px; padding: 0; }
  .vs-footer-benefit + .vs-footer-benefit::before { display: none; }
  .vs-footer-benefit svg.vs-footer-benefit-ico { width: 34px; height: 34px; }
  .vs-footer-benefit strong { font-size: 13px; }
  .vs-footer-benefit span { font-size: 12px; }
}

/* Logo + ticker de categorii (ca în header) */
.vs-footer-brand-link { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.vs-footer-brand-link > a { display: block; flex: 0 0 auto; }

.vs-footer-ticker {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  padding-left: 18px;
  border-left: 2px solid #d6e3f0;
}

.vs-footer-ticker-label {
  color: #5b6b80;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vs-footer-ticker-window {
  position: relative;
  height: 36px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
}

.vs-footer-ticker-list { will-change: transform; }
.vs-footer-ticker-list li { display: flex; align-items: center; height: 36px; }

.vs-footer-ticker-list a,
.vs-footer-ticker-list span {
  background: linear-gradient(90deg, #104477 0%, #1684f8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.1;
  white-space: nowrap;
}

@media (max-width: 1300px) {
  .vs-footer-brand-link { gap: 12px; }
  .vs-footer-logo { height: 90px; }
  .vs-footer-ticker { padding-left: 12px; }
  .vs-footer-ticker-list a, .vs-footer-ticker-list span { font-size: 20px; }
}

@media (max-width: 849px) {
  .vs-footer-brand-link { justify-content: center; }
  .vs-footer-ticker { text-align: left; }
}

/* =========================================================
   4 coloane (fără newsletter) – se întind cu lățimea containerului
   ========================================================= */
.vs-footer-columns {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.1fr) !important;
  gap: 0 !important;
}

/* Fiecare coloană are spațiu egal stânga/dreapta, separatoarele stau la mijloc între ele */
.vs-footer-col { padding: 0 clamp(18px, 2.4vw, 40px) !important; margin: 0 !important; }
.vs-footer-col:first-child { padding-left: 0 !important; }
.vs-footer-col:last-child { padding-right: 0 !important; }
.vs-footer-col + .vs-footer-col { border-left: 1px solid var(--vs-f-line); }

/* Rândul de siguranță: 3 coloane egale, textul se rupe frumos (nu se mai taie) */
.vs-footer-trust { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vs-footer-trust li { align-items: flex-start; min-width: 0; }
.vs-footer-trust span { min-width: 0; overflow-wrap: anywhere; }

/* Laptop / tabletă: 2 × 2 */
@media (max-width: 1100px) {
  .vs-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 36px !important; }
  .vs-footer-col,
  .vs-footer-col:first-child,
  .vs-footer-col:last-child { padding: 0 28px !important; border-left: 0 !important; }
  .vs-footer-col:nth-child(odd) { padding-left: 0 !important; }
  .vs-footer-col:nth-child(even) { padding-right: 0 !important; border-left: 1px solid var(--vs-f-line) !important; }
}

/* Mobil: o coloană */
@media (max-width: 849px) {
  .vs-footer-columns { grid-template-columns: 1fr !important; row-gap: 0 !important; }
  .vs-footer-col,
  .vs-footer-col:first-child,
  .vs-footer-col:last-child,
  .vs-footer-col:nth-child(odd),
  .vs-footer-col:nth-child(even) { padding: 24px 0 !important; border-left: 0 !important; border-bottom: 1px solid var(--vs-f-line); }
  .vs-footer-col:first-child { padding-top: 0 !important; }
  .vs-footer-col:last-child { padding-bottom: 0 !important; border-bottom: 0; }
}

/* Ticker-ul din footer se adaptează la lățimea coloanei (nu se mai taie) */
.vs-footer-logo { max-width: 120px; }
.vs-footer-ticker { flex: 1 1 auto; }
.vs-footer-ticker-label { font-size: clamp(10.5px, .85vw, 13px); white-space: nowrap; }
.vs-footer-ticker-list a,
.vs-footer-ticker-list span { font-size: clamp(16px, 1.45vw, 24px) !important; }

@media (max-width: 1300px) {
  .vs-footer-logo { height: 76px; max-width: 90px; }
}

/* Coloana de brand: logo + ticker, textul și social media centrate pe aceeași axă */
.vs-footer-brand { display: flex; flex-direction: column; align-items: center; text-align: center; }
.vs-footer-brand-link { justify-content: center; }
.vs-footer-ticker { flex: 0 1 auto; text-align: left; }
.vs-footer-brand p { max-width: 300px; margin-left: auto; margin-right: auto; }
.vs-footer-social { justify-content: center; }

/* Logo sus, ticker centrat dedesubt – totul pe aceeași axă, oricât de lungă e categoria */
.vs-footer-brand-link { flex-direction: column; gap: 12px; margin-bottom: 16px; }
.vs-footer-logo { height: 100px; max-width: 130px; }
.vs-footer-ticker {
  align-items: center;
  width: 100%;
  padding: 12px 0 0;
  border-left: 0;
  border-top: 2px solid #d6e3f0;
  text-align: center;
}
.vs-footer-ticker-window { width: 100%; }
.vs-footer-ticker-list li { justify-content: center; }
.vs-footer-ticker-list a,
.vs-footer-ticker-list span { font-size: clamp(20px, 1.7vw, 26px) !important; }

@media (max-width: 1300px) {
  .vs-footer-logo { height: 90px; max-width: 110px; }
}
.vs-footer-ticker { max-width: 240px; }

/* Date comerciale + Informații utile: text mai mic, pe un singur rând */
.vs-footer-title { font-size: 14px !important; letter-spacing: .06em; white-space: nowrap; }

.vs-footer-company { gap: 10px; }
.vs-footer-company li { gap: 10px; font-size: 13px; line-height: 1.4; }
.vs-footer-company li > span:not(.vs-footer-ico),
.vs-footer-company li > a { white-space: nowrap; }
.vs-footer-company a { overflow-wrap: normal; }
.vs-footer-ico { flex-basis: 28px; width: 28px; height: 28px; }
.vs-footer-ico svg { width: 15px; height: 15px; }

.vs-footer-menu a { gap: 10px; padding: 7px 0; font-size: 13px; white-space: nowrap; }
.vs-footer-chev { flex-basis: 22px; width: 22px; height: 22px; }
.vs-footer-chev svg { width: 12px; height: 12px; }

/* Coloanele cu text lung primesc puțin mai mult loc */
.vs-footer-columns { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, 1.1fr) !important; }

/* Pe ecrane înguste textul are voie să treacă pe rândul următor */
@media (max-width: 1250px) {
  .vs-footer-company li > span:not(.vs-footer-ico),
  .vs-footer-company li > a,
  .vs-footer-menu a { white-space: normal; }
}
@media (max-width: 1250px) { .vs-footer-title { white-space: normal; } }

/* Logo-ul NETOPIA (SVG, aproape pătrat) */
.vs-footer-pay-netopia { height: 56px; max-width: 90px; }

/* Mesajele de siguranță: unul sub altul, pe un rând fiecare (nu se mai rup cuvintele) */
.vs-footer-trust { grid-template-columns: 1fr !important; gap: 8px !important; margin-top: 16px !important; }
.vs-footer-trust li { align-items: center; font-size: 13px; }
.vs-footer-trust span { overflow-wrap: normal; white-space: nowrap; }
.vs-footer-trust svg { width: 20px; height: 20px; }

/* Plată securizată – ca în referință: NETOPIA PAYMENTS | Mastercard + Visa, apoi 3 mesaje pe un rând */
.vs-footer-pay { flex-wrap: nowrap; justify-content: space-between; gap: 18px; }
.vs-footer-pay a, .vs-footer-pay > img { display: block; min-width: 0; }
.vs-footer-pay-img.vs-footer-pay-netopia { width: auto; height: 46px; max-width: 100%; }
.vs-footer-pay-img.vs-footer-pay-cards { width: auto; height: 34px; max-width: 100%; }

.vs-footer-trust {
  grid-template-columns: repeat(3, auto) !important;
  justify-content: space-between;
  gap: 10px !important;
  margin-top: 20px !important;
}
.vs-footer-trust li { align-items: center; gap: 8px; color: #4b6282; font-size: 12.5px; line-height: 1.25; }
.vs-footer-trust span { white-space: nowrap; }
.vs-footer-trust svg { width: 24px; height: 24px; color: #1766ad; }

@media (max-width: 1300px) {
  .vs-footer-pay-img.vs-footer-pay-netopia { height: 36px; }
  .vs-footer-pay-img.vs-footer-pay-cards { height: 26px; }
  .vs-footer-trust li { gap: 6px; font-size: 11.5px; }
  .vs-footer-trust svg { width: 20px; height: 20px; }
}

/* Plată securizată: doar logo-ul NETOPIA (cu Mastercard + Visa incluse) */
.vs-footer-pay { justify-content: flex-start; }
.vs-footer-pay-img.vs-footer-pay-netopia { height: 70px; max-width: 120px; }

/* Fără social media: textul e ultimul element din coloană */
.vs-footer-brand p { margin-bottom: 0; }

/* Fără linkurile legale: parteneri + copyright centrate */
.vs-footer-bottom-inner { grid-template-columns: 1fr !important; grid-template-areas: "partners" "copy" !important; }

/* =========================================================
   Tabletă (850–1100px): 2 × 2 – reafirmat după regulile de mai sus
   ========================================================= */
@media (min-width: 850px) and (max-width: 1100px) {
  html body .vs-footer .vs-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 36px !important; }
}

/* =========================================================
   MOBIL (< 850px) – o coloană, totul centrat. Blocul final: are prioritate.
   ========================================================= */
@media (max-width: 849px) {
  html body .vs-footer .vs-footer-columns {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
  }

  html body .vs-footer .vs-footer-col {
    width: 100%;
    padding: 26px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--vs-f-line) !important;
    text-align: center;
  }
  html body .vs-footer .vs-footer-col:first-child { padding-top: 0 !important; }
  html body .vs-footer .vs-footer-col:last-child { padding-bottom: 0 !important; border-bottom: 0 !important; }

  html body .vs-footer .vs-footer-title { margin-bottom: 14px !important; white-space: normal; text-align: center; }

  /* Brand */
  html body .vs-footer .vs-footer-brand-link { align-items: center; justify-content: center; }
  html body .vs-footer .vs-footer-ticker { margin: 0 auto; }
  html body .vs-footer .vs-footer-brand p { max-width: 320px; margin: 0 auto; }

  /* Date comerciale: rânduri centrate, iconița lângă text */
  html body .vs-footer .vs-footer-company { align-items: center; gap: 10px; }
  html body .vs-footer .vs-footer-company li { justify-content: center; text-align: left; max-width: 100%; }
  html body .vs-footer .vs-footer-company li > span:not(.vs-footer-ico),
  html body .vs-footer .vs-footer-company li > a { white-space: normal; overflow-wrap: anywhere; }

  /* Informații utile: listă centrată, cu lățime fixă */
  html body .vs-footer .vs-footer-menu { max-width: 300px; margin: 0 auto !important; text-align: left; }
  html body .vs-footer .vs-footer-menu a { white-space: normal; }

  /* Protecție + plată */
  html body .vs-footer .vs-footer-anpc { flex-direction: column !important; align-items: center; }
  html body .vs-footer .vs-footer-anpc-img { max-width: 280px; margin: 0 auto; }
  html body .vs-footer .vs-footer-pay { justify-content: center !important; }

  /* Parteneri + copyright */
  html body .vs-footer .vs-footer-bottom-inner { display: flex !important; flex-direction: column; align-items: center; gap: 14px; }
  html body .vs-footer .vs-footer-partners { justify-content: center; gap: 16px 22px; }
}

/* Mobil: Date comerciale – lista ca un bloc centrat, rândurile aliniate la stânga între ele */
@media (max-width: 849px) {
  html body .vs-footer .vs-footer-company {
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto !important;
  }
  html body .vs-footer .vs-footer-company li { justify-content: flex-start !important; text-align: left; }
}

/* =========================================================
   Parteneri – bandă care rulează singură, dreapta → stânga (PC + mobil)
   ========================================================= */
html body .vs-footer .vs-footer-partners {
  display: block !important;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
}

.vs-footer-partners-track {
  display: flex;
  width: max-content;
  animation: vs-partners-scroll 40s linear infinite;
  will-change: transform;
}

.vs-footer-partners:hover .vs-footer-partners-track { animation-play-state: paused; }

.vs-footer-partners-group,
.vs-footer-partners-item { display: flex; align-items: center; flex: 0 0 auto; }

/* Spațiu egal în jurul fiecărei sigle (și la granița dintre copii) → bucla nu „sare" */
.vs-footer-partners-item > a,
.vs-footer-partners-item > img,
.vs-footer-partners-item > span { display: block; flex: 0 0 auto; margin: 0 32px; }

.vs-footer-partners .vs-footer-partner-img {
  height: 34px;
  max-width: 150px;
  filter: grayscale(.15);
  opacity: .9;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.vs-footer-partners a:hover .vs-footer-partner-img { filter: none; opacity: 1; transform: scale(1.06); }

@keyframes vs-partners-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (max-width: 849px) {
  .vs-footer-partners-track { animation-duration: 28s; }
  .vs-footer-partners-item > a,
  .vs-footer-partners-item > img,
  .vs-footer-partners-item > span { margin: 0 18px; }
  .vs-footer-partners .vs-footer-partner-img { height: 26px; max-width: 110px; }
}

@media (prefers-reduced-motion: reduce) {
  .vs-footer-partners-track { animation: none; }
  html body .vs-footer .vs-footer-partners { overflow-x: auto; }
}

/* =========================================================
   Social Media · Newsletter · Suport clienți – card alb (vs-news-)
   Lățimea = containerul site-ului; coloanele și textele se adaptează cu ea.
   ========================================================= */
.vs-news { padding: 34px 0 30px; background: #fff; container-type: inline-size; }

.vs-news-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 27fr) minmax(0, 46fr) minmax(0, 27fr);
  align-items: start;
  overflow: hidden;
  padding: 40px 0;
  border: 1px solid #e1edf7;
  border-radius: 15px;
  background:
    radial-gradient(ellipse 30% 70% at 100% 20%, rgba(52, 136, 196, .07), transparent 70%),
    radial-gradient(ellipse 25% 60% at 0% 90%, rgba(52, 136, 196, .06), transparent 70%),
    linear-gradient(120deg, #fff 0%, #fff 55%, #f8fbff 100%);
  box-shadow: 0 14px 38px rgba(8, 43, 82, .05), 0 2px 8px rgba(8, 43, 82, .03);
}

.vs-news-col { min-width: 0; padding: 0 clamp(18px, 3cqw, 54px); }
.vs-news-newsletter { border-left: 1px solid #e8f0f8; border-right: 1px solid #e8f0f8; }

.vs-news-label {
  display: block;
  margin-bottom: 6px;
  color: #6f86a6;
  font-size: clamp(11px, .95cqw, 13px);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.vs-news-title {
  margin: 0 0 10px !important;
  color: #082b52 !important;
  font-size: clamp(24px, 2.7cqw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  line-height: 1.12 !important;
}
.vs-news-title span { color: #3488c4; }

.vs-news-text { margin: 0 0 24px !important; color: #4b6282; font-size: clamp(14px, 1.15cqw, 16px); line-height: 1.55; }

/* Social */
.vs-news-social-list { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.vs-news-social-list li { margin: 0; }
.vs-news-social-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(44px, 3.8cqw, 54px);
  height: clamp(44px, 3.8cqw, 54px);
  border-radius: 50%;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(8, 43, 82, .16);
  transition: transform .25s ease, box-shadow .25s ease;
}
.vs-news-social-list a:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(8, 43, 82, .24); }
.vs-news-social-list svg { width: 46%; height: 46%; }
.vs-news-social-list .vs-footer-social-facebook { background: #1877f2; }

/* Formularul Newsman – stil doar în interiorul .vs-news-form (nu afectează alte formulare) */
.vs-news-form { width: 100%; }
.vs-news-form form {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 14px;
}
.vs-news-form form > input[type="email"],
.vs-news-form form > :has(input[type="email"]) { flex: 1 1 200px; min-width: 0; margin: 0 !important; }
.vs-news-form form > [type="submit"],
.vs-news-form form > button,
.vs-news-form form > :has([type="submit"]),
.vs-news-form form > :has(button) { flex: 0 0 auto; margin: 0 !important; }
.vs-news-form form > :not(:has(input[type="email"])):not(:has([type="submit"])):not(:has(button)):not(input):not(button) {
  flex: 1 1 100%;
  order: 3;
  margin: 10px 0 0 !important;
  color: #6f86a6;
  font-size: 12.5px;
  line-height: 1.5;
}

.vs-news-form input[type="email"],
.vs-news-form input[type="text"] {
  width: 100% !important;
  height: clamp(52px, 4.4cqw, 62px) !important;
  margin: 0 !important;
  padding: 0 18px 0 52px !important;
  border: 1px solid #d9e7f5 !important;
  border-right: 0 !important;
  border-radius: 14px 0 0 14px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233488c4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 20px center !important;
  background-size: 20px 20px !important;
  box-shadow: 0 6px 18px rgba(8, 43, 82, .05) !important;
  color: #082b52 !important;
  font-size: 15px !important;
}
.vs-news-form input[type="email"]::placeholder,
.vs-news-form input[type="text"]::placeholder { color: #8a9ab0; opacity: 1; }
.vs-news-form input[type="email"]:focus,
.vs-news-form input[type="text"]:focus { border-color: #3488c4 !important; outline: none; }

.vs-news-form [type="submit"],
.vs-news-form button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: clamp(52px, 4.4cqw, 62px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 clamp(18px, 2.2cqw, 32px) !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(110deg, #2f8be6 0%, #1766ad 100%) !important;
  box-shadow: 0 8px 20px rgba(23, 102, 173, .32) !important;
  color: #fff !important;
  font-size: clamp(13px, 1.1cqw, 16px) !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  line-height: 1 !important;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: filter .2s ease, transform .2s ease;
}
.vs-news-form [type="submit"]:hover,
.vs-news-form button:hover { filter: brightness(1.07); transform: translateY(-1px); }

.vs-news-privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 16px 0 0 !important;
  color: #4b6282;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
.vs-news-privacy svg { flex: 0 0 15px; width: 15px; height: 15px; color: #1766ad; }
.vs-news-privacy a { color: #1766ad !important; text-decoration: underline; text-underline-offset: 3px; }

/* Suport */
.vs-news-contact {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #e4eef8;
  border-radius: 14px;
  background: #f2f8fd;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.vs-news-contact:last-child { margin-bottom: 0; }
.vs-news-contact:hover { transform: translateY(-2px); background: #eaf4fe; border-color: #b9d9f3; }
.vs-news-contact-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: clamp(42px, 3.6cqw, 52px);
  height: clamp(42px, 3.6cqw, 52px);
  border-radius: 50%;
  background: linear-gradient(135deg, #3d9cf0, #1766ad);
  box-shadow: 0 6px 14px rgba(23, 102, 173, .3);
  color: #fff;
}
.vs-news-contact-ico svg { width: 44%; height: 44%; }
.vs-news-contact-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; line-height: 1.3; }
.vs-news-contact-txt small { color: #4b6282; font-size: clamp(12px, 1cqw, 14px); }
.vs-news-contact-txt strong { color: #082b52; font-size: clamp(14px, 1.2cqw, 17px); font-weight: 800; overflow-wrap: anywhere; }

/* Container mai îngust (≤ 1100px): newsletter sus pe toată lățimea, social + suport dedesubt */
@container (max-width: 1100px) {
  .vs-news-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 30px; }
  .vs-news-newsletter { grid-column: 1 / -1; grid-row: 1; padding-bottom: 30px; border: 0; border-bottom: 1px solid #e8f0f8; }
  .vs-news-support { border-left: 1px solid #e8f0f8; }
}

/* Mobil: coloană sub coloană, centrat; câmpul și butonul pe rânduri separate */
@media (max-width: 849px) {
  .vs-news { padding: 22px 0 18px; }
  .vs-news-card { display: flex; flex-direction: column; padding: 26px 18px; text-align: center; }
  .vs-news-col { width: 100%; padding: 0 !important; border: 0 !important; }
  .vs-news-newsletter { order: -1; margin-bottom: 24px; padding-bottom: 24px !important; border-bottom: 1px solid #e8f0f8 !important; }
  .vs-news-social { margin-bottom: 24px; padding-bottom: 24px !important; border-bottom: 1px solid #e8f0f8 !important; }
  .vs-news-title { font-size: 26px !important; }
  .vs-news-text { margin-bottom: 18px !important; font-size: 14.5px; }
  .vs-news-social-list { justify-content: center; }
  .vs-news-social-list a { width: 46px; height: 46px; }
  .vs-news-form form { flex-direction: column; gap: 10px; }
  .vs-news-form form > * { flex: 0 0 auto !important; width: 100%; }
  .vs-news-form input[type="email"],
  .vs-news-form input[type="text"] { height: 52px !important; border-right: 1px solid #d9e7f5 !important; border-radius: 12px !important; }
  .vs-news-form [type="submit"],
  .vs-news-form button { width: 100% !important; height: 52px !important; border-radius: 12px !important; font-size: 14px !important; }
  .vs-news-privacy { align-items: flex-start; font-size: 12.5px; text-align: left; }
  .vs-news-contact { max-width: 360px; margin-left: auto; margin-right: auto; text-align: left; }
  .vs-news-contact-ico { width: 44px; height: 44px; }
  .vs-news-contact-txt strong { font-size: 15px; }
  .vs-news-contact-txt small { font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .vs-news a, .vs-news button, .vs-news input { transition: none !important; }
}

.vs-news-note { margin: 8px 0 0 !important; color: #8a5a00; font-size: 12px; }

/* Formularul propriu de newsletter: mesaje + încărcare */
.vs-news-nl .vs-news-msg { margin: 10px 0 0 !important; font-size: 13.5px !important; font-weight: 600; }
.vs-news-nl .vs-news-msg:empty { display: none; }
.vs-news-nl .vs-news-msg.is-ok { color: #15803d !important; }
.vs-news-nl .vs-news-msg.is-err { color: #c81e1e !important; }
.vs-news-nl.is-loading button { opacity: .75; cursor: wait; }
.vs-news-nl.is-loading button svg { animation: vs-news-fly .8s ease-in-out infinite alternate; }
.vs-news-nl button svg { width: 20px; height: 20px; flex: 0 0 auto; }
@keyframes vs-news-fly { to { transform: translate(3px, -3px); } }

/* =========================================================
   Coloana Social Media – ca în referință
   ========================================================= */
.vs-news-social { position: relative; padding-left: clamp(70px, 8cqw, 120px) !important; }

.vs-news-social .vs-news-label { color: #6c83a6; font-size: clamp(12px, 1.1cqw, 15px); font-weight: 600; letter-spacing: .2em; }
.vs-news-social .vs-news-title { font-size: clamp(30px, 3.1cqw, 44px) !important; letter-spacing: -.025em; }
.vs-news-social .vs-news-title span { color: #2f7fe0; }
.vs-news-social .vs-news-text { max-width: 330px; color: #56709a; font-size: clamp(15px, 1.35cqw, 18px); line-height: 1.5; }

.vs-news-social-list { gap: clamp(10px, 1.2cqw, 18px) !important; }
.vs-news-soc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(48px, 4.6cqw, 64px);
  height: clamp(48px, 4.6cqw, 64px);
  border-radius: 50%;
  color: #fff !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.vs-news-soc svg { width: 48%; height: 48%; }
a.vs-news-soc:hover { transform: translateY(-4px) scale(1.04); filter: brightness(1.05); }

.vs-news-soc-facebook  { background: linear-gradient(180deg, #2a8cff 0%, #1466e8 100%); box-shadow: 0 10px 22px rgba(24, 119, 242, .35), inset 0 2px 0 rgba(255, 255, 255, .25); color: #1677f0 !important; }
.vs-news-soc-instagram { background: radial-gradient(circle at 30% 110%, #ffd776 0%, #fd7e3c 30%, #e9286f 55%, #b82ad6 78%, #6a46f5 100%); box-shadow: 0 10px 22px rgba(225, 48, 108, .32), inset 0 2px 0 rgba(255, 255, 255, .25); }
.vs-news-soc-youtube   { background: linear-gradient(180deg, #f52f2f 0%, #d40e0e 100%); box-shadow: 0 10px 22px rgba(220, 20, 20, .32), inset 0 2px 0 rgba(255, 255, 255, .25); color: #e01b1b !important; }
.vs-news-soc-tiktok    { background: linear-gradient(180deg, #2b2b2b 0%, #050505 100%); box-shadow: 0 10px 22px rgba(0, 0, 0, .3), inset 0 2px 0 rgba(255, 255, 255, .15); }
.vs-news-soc-whatsapp  { background: linear-gradient(180deg, #3ddc6b 0%, #19b34a 100%); box-shadow: 0 10px 22px rgba(37, 211, 102, .35), inset 0 2px 0 rgba(255, 255, 255, .25); }
.vs-news-soc.is-missing { opacity: .35; cursor: help; }

/* Decorul din stânga: linie punctată curbată + bula albastră cu inimă */
.vs-news-social::before {
  content: "";
  position: absolute;
  left: -60px;
  top: 52%;
  width: 150px;
  height: 230px;
  border: 2px dashed rgba(52, 136, 196, .25);
  border-color: rgba(52, 136, 196, .25) rgba(52, 136, 196, .25) transparent transparent;
  border-radius: 50%;
  transform: translateY(-50%) rotate(20deg);
  pointer-events: none;
}

.vs-news-deco {
  position: absolute;
  left: clamp(4px, 1.2cqw, 20px);
  top: 54%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(44px, 4cqw, 58px);
  height: clamp(44px, 4cqw, 58px);
  border-radius: 14px;
  background: linear-gradient(145deg, #6cb6ff 0%, #2f7fe0 100%);
  box-shadow: 0 14px 26px rgba(47, 127, 224, .35), inset 0 2px 0 rgba(255, 255, 255, .35);
  transform: rotate(-14deg);
  pointer-events: none;
}
.vs-news-deco::after {
  content: "";
  position: absolute;
  left: 30%;
  bottom: -7px;
  border: 7px solid transparent;
  border-top-color: #3d8ce6;
  border-bottom: 0;
}
.vs-news-deco svg { width: 52%; height: 52%; }

@container (max-width: 1100px) {
  .vs-news-social { padding-left: clamp(18px, 3cqw, 54px) !important; }
  .vs-news-social::before, .vs-news-deco { display: none; }
}

@media (max-width: 849px) {
  .vs-news-social { padding-left: 0 !important; }
  .vs-news-social::before, .vs-news-deco { display: none; }
  .vs-news-social .vs-news-text { margin-left: auto; margin-right: auto; }
  .vs-news-soc { width: 50px; height: 50px; }
}

/* =========================================================
   Social Media – corecții: fără spațiu mare în stânga, titlul pe un rând,
   cele 5 iconițe mereu pe un singur rând (se micșorează cu coloana)
   ========================================================= */
.vs-news-card { grid-template-columns: minmax(0, 30fr) minmax(0, 42fr) minmax(0, 28fr) !important; }

html body .vs-news .vs-news-social { padding-left: clamp(22px, 3cqw, 54px) !important; }
.vs-news-social::before,
.vs-news-deco { display: none !important; }

.vs-news-social .vs-news-title { font-size: clamp(26px, 2.7cqw, 40px) !important; white-space: nowrap; }
.vs-news-social .vs-news-text { max-width: 340px; font-size: clamp(14px, 1.2cqw, 17px); }

html body .vs-news .vs-news-social-list {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 58px));
  gap: clamp(8px, 1cqw, 14px) !important;
}
html body .vs-news .vs-news-soc { width: 100%; height: auto; aspect-ratio: 1; }

/* Simbolurile colorate din interior (f-ul de la Facebook, play-ul de la YouTube) */
html body .vs-news .vs-news-social-list .vs-news-soc-facebook { color: #1677f0 !important; }
html body .vs-news .vs-news-social-list .vs-news-soc-youtube  { color: #e01b1b !important; }

/* Suport: e-mailul nu se mai rupe în mijlocul cuvântului */
.vs-news-contact-txt strong { overflow-wrap: normal; word-break: normal; white-space: nowrap; font-size: clamp(13px, 1.1cqw, 16px); }
.vs-news-contact-txt { overflow: hidden; }
.vs-news-contact-txt small { white-space: nowrap; }

/* Decorul (bula cu inimă) doar când cardul e foarte lat */
@container (min-width: 1360px) {
  html body .vs-news .vs-news-social { padding-left: 110px !important; }
  .vs-news-deco { display: flex !important; }
  .vs-news-social::before { display: block !important; }
}

@media (max-width: 849px) {
  html body .vs-news .vs-news-social { padding-left: 0 !important; }
  html body .vs-news .vs-news-social-list { justify-content: center; grid-template-columns: repeat(5, 50px); }
  .vs-news-social .vs-news-title { white-space: normal; }
  .vs-news-contact-txt small { white-space: normal; }
}

@container (max-width: 1100px) {
  .vs-news-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
}

/* Ilustrația de lângă „Newsletter" (plic + clopoțel + avion) – în colțul din dreapta-sus al coloanei */
.vs-news-newsletter { position: relative; }
.vs-news-illu {
  position: absolute;
  top: -26px;
  right: clamp(10px, 2cqw, 40px);
  width: clamp(170px, 19cqw, 270px);
  height: auto;
  pointer-events: none;
  animation: vs-news-float 5s ease-in-out infinite;
}
/* Textul de sub titlu nu intră sub ilustrație */
.vs-news-newsletter .vs-news-label,
.vs-news-newsletter .vs-news-title,
.vs-news-newsletter .vs-news-text { position: relative; max-width: calc(100% - clamp(150px, 16cqw, 230px)); }
.vs-news-newsletter .vs-news-text { max-width: calc(100% - clamp(120px, 13cqw, 200px)); }
.vs-news-newsletter .vs-news-form { position: relative; z-index: 1; }

@keyframes vs-news-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Container mai îngust: ilustrația mai mică */
@container (max-width: 1100px) {
  .vs-news-illu { top: -18px; width: 180px; }
}

/* Mobil: ilustrația deasupra titlului, centrată, mai mică */
@media (max-width: 849px) {
  .vs-news-illu { position: static; display: block; width: 170px; margin: -6px auto 6px; }
  .vs-news-newsletter .vs-news-label,
  .vs-news-newsletter .vs-news-title,
  .vs-news-newsletter .vs-news-text { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .vs-news-illu { animation: none; }
}

/* Textul „Nu facem spam!" – pe un singur rând, lacăt albastru plin lângă text, link bold */
.vs-news-privacy {
  justify-content: center !important;
  gap: 7px !important;
  font-size: clamp(11.5px, 1.05cqw, 14px) !important;
  white-space: nowrap;
  text-align: center !important;
}
.vs-news-privacy span { white-space: nowrap; }
.vs-news-privacy svg { flex: 0 0 auto; width: 1.1em; height: 1.1em; color: #2f7fe0; fill: currentColor; stroke: #2f7fe0; }
.vs-news-privacy svg rect { fill: currentColor; }
.vs-news-privacy svg path { fill: none; }
.vs-news-privacy a { color: #1f6fe0 !important; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }

/* Pe mobil are voie să treacă pe două rânduri, centrat */
@media (max-width: 849px) {
  .vs-news-privacy, .vs-news-privacy span { white-space: normal; }
  .vs-news-privacy { align-items: center !important; text-align: center !important; }
}

/* Suport: carduri compacte, ca cele 3 coloane să aibă aceeași înălțime */
.vs-news-support .vs-news-text { margin-bottom: 14px !important; }
.vs-news-contact { gap: 12px; margin-bottom: 8px; padding: 8px 12px; border-radius: 12px; }
html body .vs-news .vs-news-contact-ico { width: 40px; height: 40px; }
.vs-news-contact-txt { gap: 0; line-height: 1.25; }
.vs-news-contact-txt small { font-size: 12px; }
.vs-news-contact-txt strong { font-size: clamp(12.5px, 1.05cqw, 15px); }


/* E-mailul de suport: dacă nu încape, trece pe rândul 2 după @ (nu se mai taie) */
.vs-news-contact-txt strong { white-space: normal !important; overflow-wrap: normal; }

/* Secțiunea Social · Newsletter · Suport: lată (fără card încasetat), fundalul pe toată lățimea */
.vs-news {
  padding: 46px 0 42px !important;
  border-top: 1px solid #e1edf7;
  background:
    radial-gradient(ellipse 35% 80% at 100% 10%, rgba(52, 136, 196, .08), transparent 70%),
    radial-gradient(ellipse 30% 80% at 0% 100%, rgba(52, 136, 196, .07), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f6faff 100%) !important;
}
.vs-news-card {
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body .vs-news .vs-news-social { padding-left: 0 !important; }
html body .vs-news .vs-news-support { padding-right: 0 !important; }

@media (max-width: 849px) {
  .vs-news { padding: 30px 0 26px !important; }
}

/* Mobil: Social Media – eticheta, titlul și textul centrate (forțat, peste stilurile temei) */
@media (max-width: 849px) {
  html body .vs-news .vs-news-social,
  html body .vs-news .vs-news-social .vs-news-label,
  html body .vs-news .vs-news-social .vs-news-title,
  html body .vs-news .vs-news-social .vs-news-text {
    text-align: center !important;
  }
  html body .vs-news .vs-news-social .vs-news-text { max-width: 340px; margin-left: auto !important; margin-right: auto !important; }
  html body .vs-news .vs-news-social-list { justify-content: center !important; margin-left: auto; margin-right: auto; }
}
