
/* VoipCall integration styles for login/register/rates */
.vc-page{padding:86px 20px 100px;max-width:1180px;margin:0 auto;color:#0b2239;line-height:1.65;}
.vc-hero-title{font-size:46px;line-height:1.08;margin:0 0 16px;font-weight:800;color:#071e38;}
.vc-lead{font-size:18px;color:#50657c;max-width:850px;margin:0 0 34px;}
.vc-panel{background:#fff;border:1px solid #e4edf7;border-radius:18px;box-shadow:0 18px 55px rgba(13,50,93,.08);padding:30px;margin-top:28px;}
.vc-form{display:grid;gap:16px;max-width:720px;}
.vc-form label{font-weight:700;color:#0b2239;}
.vc-form input,.vc-form select,.vc-form textarea{width:100%;border:1px solid #d8e4f0;border-radius:10px;padding:14px 15px;font-size:15px;background:#fbfdff;color:#0b2239;}
.vc-form textarea{min-height:130px;resize:vertical;}
.vc-btn{display:inline-block;border:0;background:#0b6fd3;color:#fff;padding:14px 24px;border-radius:10px;font-weight:800;text-decoration:none;cursor:pointer;}
.vc-btn.secondary{background:#eef5ff;color:#0b6fd3;}
.vc-route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:35px;}
.vc-route-card{padding:28px;background:#f4f8ff;border:1px solid #dbe8f6;color:#0b2239;text-decoration:none;border-radius:14px;transition:.2s;}
.vc-route-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(13,50,93,.12);}
.vc-route-card b{font-size:22px;display:block;margin-bottom:8px;}
.vc-letters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0;}
.vc-letters a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #dbe8f6;border-radius:8px;text-decoration:none;color:#0b6fd3;font-weight:800;background:#fff;}
.vc-letters a.active{background:#0b6fd3;color:#fff;border-color:#0b6fd3;}
.vc-rates-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:22px;border:1px solid #dbe8f6;border-radius:14px;overflow:hidden;background:#fff;}
.vc-rates-table th{background:#0b6fd3;color:#fff;text-align:left;padding:14px 16px;font-size:14px;letter-spacing:.02em;}
.vc-rates-table td{padding:13px 16px;border-top:1px solid #eaf1f9;color:#263a4f;}
.vc-rates-table tr:nth-child(even) td{background:#f7fbff;}
.vc-rates-table td:nth-child(2){font-family:monospace;color:#0b2239;}
.vc-rates-table td:nth-child(3),.vc-rates-table th:nth-child(3){text-align:right;}
.vc-note{font-size:13px;color:#728197;margin-top:16px;}
@media(max-width:640px){.vc-page{padding:55px 15px 70px}.vc-hero-title{font-size:34px}.vc-panel{padding:20px}.vc-rates-table{font-size:13px}.vc-rates-table th,.vc-rates-table td{padding:11px 10px}}

/* MOR / CallTrading-style integration kept inside the VoipCall template */
.vc-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:18px;color:#6d7f92;font-size:14px}.vc-breadcrumb a{color:#0b6fd3;font-weight:800;text-decoration:none}.vc-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.vc-alert{border-radius:12px;padding:14px 16px;margin:0 0 18px}.vc-alert p{margin:6px 0 0}.vc-alert.notice{border-left:4px solid #0b6fd3;background:#eef6ff;color:#0b2239}.vc-alert.success{border-left:4px solid #18a56d;background:#ecfff6;color:#0b3b29}.vc-alert.error{border-left:4px solid #d93045;background:#fff1f3;color:#66111b}.vc-error{display:block;color:#c6283a;font-size:13px;margin-top:5px}.vc-check{display:flex!important;gap:10px;align-items:flex-start}.vc-check input{width:auto!important;margin-top:4px}.ct-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ct-form-grid .full{grid-column:1/-1}.form-card{max-width:820px;margin:0 auto}.login-box{max-width:540px}.pricing-intro{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:18px}.tabs,.vc-plan-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 20px}.tabs a,.vc-plan-tabs a{padding:11px 18px;border-radius:10px;background:#eef5ff;color:#0b6fd3;font-weight:800;text-decoration:none;border:1px solid #dbe8f6}.tabs a.active,.vc-plan-tabs a.active{background:#0b6fd3;color:#fff;border-color:#0b6fd3}.rates-letterbar{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 22px}.rates-letterbar a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border:1px solid #dbe8f6;border-radius:8px;background:#fff;color:#0b6fd3;font-weight:800;text-decoration:none}.rates-letterbar a.active,.rates-letterbar a:hover{background:#0b6fd3;color:#fff;border-color:#0b6fd3}.rates-shell{padding:28px!important}.rates-legacy{width:100%;background:transparent;color:#0b2239;border-radius:0;padding:0;overflow-x:auto}.rates-legacy .rates_wrapper{width:100%;max-width:none;margin:0;padding:0}.rates-legacy table,.rates-legacy table[width],.rates-legacy #ratestableL,.rates-legacy .newrates{width:100%!important;max-width:none;border-collapse:collapse!important;background:transparent!important}.rates-legacy > table,.rates-legacy .rates_wrapper > table{min-width:0!important}.rates-legacy td{color:#263a4f!important;border:0!important;font-family:Arial,Helvetica,sans-serif;font-size:14px!important;line-height:1.35!important}.rates-legacy font{color:inherit!important;font-family:Arial,Helvetica,sans-serif;font-size:14px!important}.rates-legacy .ratechooser{display:none!important}.rates-legacy .newrates td{padding:10px 14px!important;border-bottom:1px solid #eaf1f9!important}.rates-legacy table[id="table1"] td,.rates-legacy #ratesLetters{background:#0b6fd3!important;color:#fff!important;padding:10px 14px!important;border-bottom:1px solid rgba(255,255,255,.22)!important}.rates-legacy #ratesLetters a,.rates-legacy #ratesLetters b,.rates-legacy #ratesLetters font{color:#fff!important;font-size:13px!important;margin-right:4px}.rates-legacy #ratesLetters a:hover{text-decoration:underline}.rates-legacy tr[bgcolor="#FFFFFF"] td,.rates-legacy tr[bgcolor="#ffffff"] td{background:#fff!important}.rates-legacy tr[bgcolor="#DAE3E3"] td,.rates-legacy tr[bgcolor="#dae3e3"] td{background:#f7fbff!important}.rates-legacy #ratestableL td:first-child,.rates-legacy .newrates td:first-child{width:auto!important;min-width:420px!important}.rates-legacy #ratestableL td:last-child,.rates-legacy .newrates td:last-child,.rates-legacy #ratestableL td[align="right"],.rates-legacy .newrates td[align="right"]{width:150px!important;min-width:120px!important;text-align:right!important;font-weight:800!important;color:#0b6fd3!important}.rates-legacy .rates-top-link{display:inline-block!important;margin-left:6px!important;padding:1px 7px!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-weight:900!important;text-decoration:none!important}.vc-faq-list h2{font-size:24px;margin:22px 0 6px}.vc-faq-list h2:first-child{margin-top:0}.vc-faq-list p{margin-top:0}
@media(max-width:780px){.ct-form-grid{grid-template-columns:1fr}.vc-page{padding-top:42px}.rates-shell{padding:14px!important}.pricing-intro{gap:8px}.tabs,.vc-plan-tabs{gap:6px}.tabs a,.vc-plan-tabs a{padding:9px 10px;font-size:13px}.rates-letterbar{gap:5px}.rates-letterbar a{min-width:30px;height:30px;font-size:12px}.rates-legacy{overflow-x:hidden!important}.rates-legacy table,.rates-legacy table[width],.rates-legacy #ratestableL,.rates-legacy .newrates,.rates-legacy .rates_wrapper table{min-width:0!important;width:100%!important;max-width:100%!important;table-layout:fixed!important}.rates-legacy td,.rates-legacy font,.rates-legacy .Main-Text,.rates-legacy .Main-Text font{font-size:11px!important;line-height:1.25!important}.rates-legacy .newrates td,.rates-legacy #ratestableL td{padding:7px 6px!important;white-space:normal!important;overflow-wrap:anywhere!important}.rates-legacy #ratestableL td:first-child,.rates-legacy .newrates td:first-child{width:70%!important;min-width:0!important;max-width:70%!important}.rates-legacy #ratestableL td:last-child,.rates-legacy .newrates td:last-child,.rates-legacy #ratestableL td[align="right"],.rates-legacy .newrates td[align="right"]{width:30%!important;min-width:0!important;max-width:30%!important;white-space:nowrap!important}.rates-legacy table[id="table1"],.rates-legacy #ratesLetters{display:table!important;width:100%!important;table-layout:auto!important}.rates-legacy #ratesLetters{display:table-cell!important;white-space:normal!important;line-height:2!important;overflow-wrap:normal!important}.rates-legacy #ratesLetters a,.rates-legacy #ratesLetters b{font-size:12px!important;display:inline-block!important}}

/* Three-column MOR rates: Destination / Code / eur-min */
.rates-legacy #ratestableL td:first-child,
.rates-legacy .newrates td:first-child{width:68%!important;min-width:0!important}
.rates-legacy #ratestableL td.rates-code,
.rates-legacy .newrates td.rates-code{width:14%!important;min-width:90px!important;text-align:right!important;color:#42566d!important;font-family:monospace!important;font-weight:800!important}
.rates-legacy #ratestableL td.rates-price,
.rates-legacy .newrates td.rates-price,
.rates-legacy #ratestableL td:last-child,
.rates-legacy .newrates td:last-child{width:18%!important;min-width:110px!important;text-align:right!important;color:#0b6fd3!important;font-weight:800!important}
.rates-legacy #ratestableL tr:first-child td,
.rates-legacy #ratestableL tr:nth-child(2) td{background:#0b6fd3!important;color:#fff!important}
@media(max-width:780px){
  .rates-legacy #ratestableL td:first-child,
  .rates-legacy .newrates td:first-child{width:58%!important;max-width:58%!important}
  .rates-legacy #ratestableL td.rates-code,
  .rates-legacy .newrates td.rates-code{width:18%!important;min-width:0!important;max-width:18%!important;font-size:10px!important}
  .rates-legacy #ratestableL td.rates-price,
  .rates-legacy .newrates td.rates-price,
  .rates-legacy #ratestableL td:last-child,
  .rates-legacy .newrates td:last-child{width:24%!important;min-width:0!important;max-width:24%!important;font-size:10px!important}
}

/* Final centering fix for generated A-Z rate pages */
.vc-page.section{
  width:100%;
  max-width:1180px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.vc-page.section .vc-breadcrumb,
.vc-page.section .rates-shell{
  width:100%;
  max-width:1120px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rates-shell .pricing-intro,
.rates-shell .tabs,
.rates-shell .rates-letterbar{
  max-width:1040px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rates-shell .rates-legacy,
.rates-shell .rates_wrapper,
.rates-shell #ratesTabContent,
.rates-shell .rates_wrapper > table,
.rates-shell .rates-legacy > table,
.rates-shell .rates-legacy table[align="center"]{
  width:100%!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rates-shell .rates-legacy table,
.rates-shell .rates-legacy .newrates,
.rates-shell .rates-legacy #ratestableL{
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:780px){
  .vc-page.section .rates-shell,
  .rates-shell .rates-legacy,
  .rates-shell .rates_wrapper,
  .rates-shell #ratesTabContent,
  .rates-shell .rates_wrapper > table,
  .rates-shell .rates-legacy > table,
  .rates-shell .rates-legacy table[align="center"]{
    max-width:100%!important;
  }
}

/* Match the in-table A-Z letter selector to rates.php */
.rates-legacy table[id="table1"] td,
.rates-legacy #ratesLetters{
  background:transparent!important;
  padding:12px 0!important;
  border-bottom:0!important;
}
.rates-legacy #ratesLetters .rates-letterbar{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0 auto 14px!important;
  max-width:1040px!important;
}
.rates-legacy #ratesLetters .rates-letterbar a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  height:34px!important;
  border:1px solid #dbe8f6!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0b6fd3!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  margin:0!important;
  padding:0 8px!important;
}
.rates-legacy #ratesLetters .rates-letterbar a.active,
.rates-legacy #ratesLetters .rates-letterbar a:hover{
  background:#0b6fd3!important;
  color:#fff!important;
  border-color:#0b6fd3!important;
}
.rates-legacy #ratesLetters .rates-letterbar .rates-top-link{
  min-width:34px!important;
  background:#eef5ff!important;
  color:#0b6fd3!important;
}
@media(max-width:780px){
  .rates-legacy #ratesLetters .rates-letterbar{
    gap:5px!important;
    margin-bottom:10px!important;
  }
  .rates-legacy #ratesLetters .rates-letterbar a{
    min-width:30px!important;
    height:30px!important;
    font-size:12px!important;
    padding:0 6px!important;
  }
}

/* Clean generated rate tables: one centered table with Destination / Code / eur-min */
.rates-clean{
  width:100%!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow-x:hidden!important;
}
.rates-clean .rates-note{
  margin:0 0 12px!important;
  color:#50657c!important;
  font-size:14px!important;
  font-weight:700!important;
}
.rates-clean .rates-table-wrap{
  width:100%!important;
  overflow-x:auto!important;
}
.rates-clean .rates-table{
  width:100%!important;
  min-width:0!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  background:#fff!important;
  border:1px solid #dbe8f6!important;
}
.rates-clean .rates-table th{
  background:#0b6fd3!important;
  color:#fff!important;
  padding:13px 14px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  text-align:left!important;
  border:0!important;
}
.rates-clean .rates-table td{
  color:#263a4f!important;
  padding:10px 14px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  border:0!important;
  border-bottom:1px solid #eaf1f9!important;
  background:#fff!important;
}
.rates-clean .rates-table tbody tr:nth-child(odd) td{
  background:#f7fbff!important;
}
.rates-clean .rates-table .letter-row td{
  background:#fff!important;
  padding:14px 0 8px!important;
  border-bottom:0!important;
}
.rates-clean .rates-table .letter-row + tr td{
  border-top:1px solid #dbe8f6!important;
}
.rates-clean .rates-destination{
  width:68%!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.rates-clean .rates-code{
  width:14%!important;
  text-align:right!important;
  color:#42566d!important;
  font-family:Consolas,"Courier New",monospace!important;
  font-weight:800!important;
}
.rates-clean .rates-price{
  width:18%!important;
  text-align:right!important;
  color:#0b6fd3!important;
  font-weight:800!important;
}
.rates-clean .rates-empty{
  text-align:center!important;
  font-weight:700!important;
}
.rates-clean .rates-letterbar{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  max-width:1040px!important;
  margin:0 auto!important;
  padding:0!important;
}
.rates-clean .rates-letterbar a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  height:34px!important;
  border:1px solid #dbe8f6!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0b6fd3!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  margin:0!important;
  padding:0 8px!important;
}
.rates-clean .rates-letterbar a.active,
.rates-clean .rates-letterbar a:hover{
  background:#0b6fd3!important;
  color:#fff!important;
  border-color:#0b6fd3!important;
}
.rates-clean .rates-letterbar .rates-top-link{
  min-width:34px!important;
  background:#eef5ff!important;
  color:#0b6fd3!important;
}
@media(max-width:780px){
  .rates-clean .rates-note{font-size:12px!important}
  .rates-clean .rates-table th,
  .rates-clean .rates-table td{
    padding:8px 6px!important;
    font-size:11px!important;
  }
  .rates-clean .rates-destination{width:58%!important}
  .rates-clean .rates-code{width:18%!important;font-size:10px!important}
  .rates-clean .rates-price{width:24%!important;font-size:10px!important}
  .rates-clean .rates-letterbar{gap:5px!important}
  .rates-clean .rates-letterbar a{
    min-width:30px!important;
    height:30px!important;
    font-size:12px!important;
    padding:0 6px!important;
  }
}

/* Registration form layout */
.register-section{
  background:#f6f9fc;
}
.register-card{
  max-width:980px!important;
  margin:0 auto!important;
  padding:34px!important;
  border:1px solid #dfeaf6!important;
  border-radius:14px!important;
  box-shadow:0 18px 50px rgba(13,50,93,.08)!important;
}
.register-card h1{
  margin:0 0 18px!important;
  color:#071e38!important;
  font-size:34px!important;
  line-height:1.15!important;
}
.register-card .notice{
  margin:0 0 24px!important;
  padding:16px 18px!important;
  border-left:4px solid #0b6fd3!important;
  border-radius:10px!important;
  background:#eef6ff!important;
  color:#263a4f!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.register-form .ct-form-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  border:1px solid #dbe8f6!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.register-form .ct-form-grid > div{
  min-width:0!important;
  padding:16px!important;
  border-right:1px solid #eaf1f9!important;
  border-bottom:1px solid #eaf1f9!important;
  background:#fff!important;
}
.register-form .ct-form-grid > div:nth-of-type(2n){
  border-right:0!important;
}
.register-form .ct-form-grid .full{
  grid-column:1/-1!important;
  border-right:0!important;
}
.register-form label{
  display:block!important;
  margin:0 0 7px!important;
  color:#0b2239!important;
  font-size:13px!important;
  font-weight:800!important;
}
.register-form input[type="text"],
.register-form input[type="email"],
.register-form select{
  width:100%!important;
  min-height:44px!important;
  border:1px solid #d7e3ef!important;
  border-radius:8px!important;
  padding:11px 12px!important;
  background:#fbfdff!important;
  color:#0b2239!important;
  font-size:14px!important;
  outline:none!important;
  box-sizing:border-box!important;
}
.register-form input[type="text"]:focus,
.register-form input[type="email"]:focus,
.register-form select:focus{
  border-color:#0b6fd3!important;
  box-shadow:0 0 0 3px rgba(11,111,211,.12)!important;
  background:#fff!important;
}
.register-form select{
  max-width:100%!important;
}
.register-form .captcha-row{
  display:grid!important;
  grid-template-columns:250px 1fr!important;
  gap:16px!important;
  align-items:end!important;
  background:#f8fbff!important;
}
.register-form .captcha-row label:first-child{
  grid-column:1/-1!important;
  margin-bottom:0!important;
}
.register-form .captcha-row label a{
  color:#0b6fd3!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.register-form .captcha-img{
  display:block!important;
  width:230px!important;
  height:80px!important;
  max-width:100%!important;
  border:1px solid #dbe8f6!important;
  border-radius:8px!important;
  background:#fff!important;
}
.register-form .submit-row{
  margin-top:20px!important;
}
.register-card .submit-row{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:20px!important;
}
.register-card .btn.primary,
.register-card input.btn.primary{
  min-width:180px!important;
  border:0!important;
  border-radius:10px!important;
  padding:13px 22px!important;
  background:#0b6fd3!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.register-card .btn.primary:hover,
.register-card input.btn.primary:hover{
  background:#095eb3!important;
}
@media(max-width:780px){
  .register-card{
    padding:20px!important;
    border-radius:12px!important;
  }
  .register-card h1{
    font-size:28px!important;
  }
  .register-form .ct-form-grid{
    grid-template-columns:1fr!important;
  }
  .register-form .ct-form-grid > div{
    border-right:0!important;
    padding:14px!important;
  }
  .register-form .captcha-row{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .register-card .submit-row{
    justify-content:stretch!important;
  }
  .register-card .btn.primary,
  .register-card input.btn.primary{
    width:100%!important;
  }
}

/* Login/Register text contrast overrides */
.login-box,
.login-box h1,
.login-box .vc-hero-title,
.login-box label,
.login-box .vc-form label,
.register-card,
.register-card h1,
.register-card label,
.register-form label{
  color:#071e38!important;
}
.login-box .vc-lead,
.login-box .vc-note,
.register-card .notice{
  color:#263a4f!important;
}
.login-box input,
.register-form input,
.register-form select{
  color:#071e38!important;
  background:#fff!important;
}
.login-box input::placeholder,
.register-form input::placeholder{
  color:#6d7f92!important;
  opacity:1!important;
}
