/*
Theme Name: Veloz Concursos
Theme URI: https://velozconcursos.com.br
Author: Veloz Concursos
Description: Tema WordPress/WooCommerce para loja de materiais digitais da Veloz Concursos.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Text Domain: veloz-concursos
Tags: e-commerce, custom-logo, block-editor-styles, one-column, wide-blocks
*/

:root {
  --vc-navy: #06162f;
  --vc-navy-2: #0b2857;
  --vc-blue: #146ef5;
  --vc-blue-dark: #0754c7;
  --vc-cyan: #1fd4ff;
  --vc-lime: #b9f23c;
  --vc-paper: #f4f7fb;
  --vc-white: #ffffff;
  --vc-ink: #071a38;
  --vc-text: #34425a;
  --vc-muted: #68758a;
  --vc-line: #dce4ef;
  --vc-shadow: 0 18px 50px rgba(9, 34, 77, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--vc-paper);
  color: var(--vc-ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--vc-blue-dark); }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.vc-topline {
  min-height: 34px;
  padding: 7px 5vw;
  background: #031024;
  color: #b9c5d8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vc-topline a { color: var(--vc-lime); font-weight: 800; }

.vc-site-header {
  min-height: 78px;
  padding: 0 5vw;
  background: rgba(6, 22, 47, .98);
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(31, 212, 255, .28);
  box-shadow: 0 8px 30px rgba(3, 16, 39, .2);
}
.vc-brand { display: flex; align-items: center; gap: 11px; text-align: left; }
.vc-brand-mark {
  width: 52px;
  height: 42px;
  position: relative;
  display: grid;
  place-items: center;
  color: white;
  background: linear-gradient(135deg, #1e84ff, #0754c7);
  transform: skewX(-9deg);
  border-radius: 7px 13px 7px 13px;
  box-shadow: 8px 0 0 -5px var(--vc-cyan), 14px 0 0 -9px var(--vc-lime);
}
.vc-brand-mark span {
  transform: skewX(9deg);
  font-size: 27px;
  font-weight: 1000;
  line-height: 1;
  letter-spacing: -.08em;
}
.vc-brand-name { display: flex; flex-direction: column; gap: 3px; }
.vc-brand-name strong {
  font-size: 23px;
  font-style: italic;
  line-height: .82;
  letter-spacing: .035em;
  font-weight: 1000;
}
.vc-brand-name small {
  color: var(--vc-lime);
  font-size: 8px;
  line-height: 1;
  letter-spacing: .38em;
  font-weight: 900;
}
.vc-nav { display: flex; align-self: stretch; align-items: stretch; gap: 16px; }
.vc-nav a {
  color: #dce7f7;
  padding: 0 10px;
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
}
.vc-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--vc-blue), var(--vc-cyan));
  transition: .2s ease;
}
.vc-nav a:hover, .vc-nav .current-menu-item > a { color: white; }
.vc-nav a:hover::after, .vc-nav .current-menu-item > a::after { left: 9px; right: 9px; }
.vc-header-actions { display: flex; align-items: center; gap: 9px; }
.vc-icon-button, .vc-cart-link {
  min-height: 43px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: rgba(255, 255, 255, .04);
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 12px;
  font-weight: 800;
}
.vc-icon-button:hover, .vc-cart-link:hover { color: var(--vc-cyan); border-color: var(--vc-cyan); }
.vc-cart-count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: inline-grid;
  place-items: center;
  border-radius: 20px;
  background: var(--vc-lime);
  color: var(--vc-navy);
  font-size: 10px;
}

.vc-container { max-width: 1440px; margin: 0 auto; padding: 90px 7vw; }
.vc-hero {
  min-height: 650px;
  padding: 66px 5vw 72px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 50%) minmax(0, 50%);
  align-items: center;
  background: linear-gradient(112deg, #f7faff 0 50%, #eaf3ff 50% 100%);
  position: relative;
}
.vc-hero::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 130%;
  left: 48%;
  top: -15%;
  background: rgba(255, 255, 255, .65);
  transform: skewX(-12deg);
}
.vc-hero-copy, .vc-hero-visual { position: relative; z-index: 2; }
.vc-eyebrow, .vc-section-kicker {
  color: var(--vc-blue-dark);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.vc-eyebrow { display: flex; align-items: center; gap: 9px; }
.vc-eyebrow::before {
  content: "";
  width: 27px;
  height: 3px;
  background: linear-gradient(90deg, var(--vc-blue), var(--vc-cyan));
  transform: skewX(-25deg);
}
.vc-hero h1 {
  max-width: 710px;
  margin: 18px 0 22px;
  font-size: clamp(45px, 5vw, 76px);
  line-height: .98;
  letter-spacing: -.055em;
}
.vc-hero h1 em { color: var(--vc-blue); font-style: normal; white-space: nowrap; }
.vc-hero p { max-width: 625px; margin: 0 0 27px; color: var(--vc-text); font-size: 18px; line-height: 1.65; }
.vc-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.vc-button, .button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  min-height: 48px;
  border-radius: 7px;
  padding: 12px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 850;
  transition: .2s ease;
}
.vc-button-primary, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  border: 0;
  background: linear-gradient(135deg, var(--vc-blue), var(--vc-blue-dark));
  color: white;
  box-shadow: 0 10px 28px rgba(20, 110, 245, .3);
}
.vc-button-primary:hover, .wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
  transform: translateY(-2px);
  color: white;
  box-shadow: 0 15px 33px rgba(20, 110, 245, .38);
}
.vc-button-secondary { border: 1px solid #b9c8db; background: white; color: var(--vc-ink); }
.vc-trust { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 18px; color: var(--vc-muted); font-size: 12px; }
.vc-hero-visual { min-height: 510px; display: grid; place-items: center; }
.vc-hero-stack { width: min(520px, 100%); min-height: 420px; position: relative; }
.vc-speed-lines { position: absolute; inset: 45px 4% 40px 11%; transform: skewX(-11deg); }
.vc-speed-lines i {
  height: 1px;
  position: absolute;
  right: 0;
  background: linear-gradient(90deg, transparent, rgba(20, 110, 245, .34));
}
.vc-speed-lines i:nth-child(1) { width: 82%; top: 16%; }
.vc-speed-lines i:nth-child(2) { width: 65%; top: 49%; }
.vc-speed-lines i:nth-child(3) { width: 90%; top: 81%; }

.vc-cover {
  width: 190px;
  height: 270px;
  position: absolute;
  overflow: hidden;
  border-radius: 2px 8px 8px 2px;
  padding: 18px;
  color: white;
  background: linear-gradient(150deg, #071b3a, #0d2f64);
  box-shadow: inset 7px 0 0 rgba(255,255,255,.08), 16px 24px 34px rgba(4, 28, 68, .22);
  text-align: left;
}
.vc-cover:nth-child(2) { left: 42px; top: 26px; transform: rotate(-4deg); }
.vc-cover:nth-child(3) { right: 56px; top: 122px; transform: rotate(5deg); background: linear-gradient(150deg, #0d65e4, #073f9b); }
.vc-cover b { color: var(--vc-lime); font-size: 10px; font-style: italic; letter-spacing: .08em; }
.vc-cover strong { display: block; margin-top: 65px; font-size: 22px; line-height: 1.05; letter-spacing: -.025em; text-transform: uppercase; }
.vc-cover small { display: block; margin-top: 12px; font-size: 8px; letter-spacing: .1em; opacity: .78; text-transform: uppercase; }
.vc-deadline {
  width: 145px;
  min-height: 145px;
  position: absolute;
  left: 0;
  bottom: 15px;
  z-index: 3;
  padding: 21px 17px;
  color: white;
  background: var(--vc-navy);
  border-left: 4px solid var(--vc-lime);
  box-shadow: var(--vc-shadow);
}
.vc-deadline span { color: var(--vc-cyan); font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.vc-deadline strong { display: block; margin-top: 26px; font-size: 28px; line-height: .9; }

.vc-section-head { margin-bottom: 34px; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.vc-section-head h2 { margin: 8px 0 0; font-size: clamp(34px, 3.2vw, 48px); line-height: 1.05; letter-spacing: -.035em; }
.vc-section-head p { margin: 11px 0 0; color: var(--vc-muted); }
.vc-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vc-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.vc-card {
  min-width: 0;
  border: 1px solid var(--vc-line);
  border-radius: 12px;
  background: white;
  overflow: hidden;
  transition: .25s ease;
}
.vc-card:hover { transform: translateY(-5px); border-color: #bac9dc; box-shadow: 0 20px 45px rgba(11, 53, 116, .12); }
.vc-contest-card {
  min-height: 250px;
  padding: 28px;
  position: relative;
  color: white;
  background: linear-gradient(135deg, #0a65e8, #083e91);
}
.vc-contest-card:nth-child(2) { background: linear-gradient(135deg, #071a37, #0d2c5d); }
.vc-contest-card:nth-child(3) { color: var(--vc-ink); background: linear-gradient(135deg, white, #eaf3ff); }
.vc-contest-card span { color: var(--vc-lime); font-size: 9px; letter-spacing: .15em; font-weight: 900; }
.vc-contest-card:nth-child(3) span { color: var(--vc-blue-dark); }
.vc-contest-card h3 { margin: 35px 0 8px; font-size: 32px; letter-spacing: -.03em; }
.vc-contest-card p { max-width: 310px; min-height: 50px; margin: 0; opacity: .76; font-size: 14px; }

.vc-benefits { padding: 30px 7vw; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; background: white; border-top: 1px solid var(--vc-line); border-bottom: 1px solid var(--vc-line); }
.vc-benefits article { display: flex; align-items: center; gap: 15px; padding: 5px 20px; }
.vc-benefits i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; background: #eaf3ff; color: var(--vc-blue); font-style: normal; font-weight: 900; }
.vc-benefits b { display: block; font-size: 14px; }
.vc-benefits span { color: var(--vc-muted); font-size: 12px; line-height: 1.4; }

.vc-how {
  max-width: 1320px;
  margin: 0 auto 105px;
  padding: 58px 65px;
  color: white;
  background: linear-gradient(125deg, #06162f, #0b2b5c);
  border-radius: 15px;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
}
.vc-how h2 { margin: 8px 0 17px; font-size: 38px; line-height: 1.05; }
.vc-how p { color: #b9c6da; }
.vc-how ol { margin: 0; padding: 0; list-style: none; }
.vc-how li { min-height: 92px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.13); display: flex; align-items: center; gap: 21px; }
.vc-how li:last-child { border-bottom: 0; }
.vc-how li b { color: var(--vc-lime); font-size: 13px; }
.vc-faq details {
  margin-bottom: 12px;
  padding: 18px 20px;
  border: 1px solid var(--vc-line);
  border-radius: 10px;
  background: white;
}
.vc-faq summary { cursor: pointer; font-weight: 850; }
.vc-faq p { color: var(--vc-text); }

.vc-main { min-height: 620px; }
.vc-page { max-width: 1120px; margin: 0 auto; padding: 70px 5vw; }
.vc-page h1 { font-size: clamp(38px, 4vw, 58px); line-height: 1.05; letter-spacing: -.04em; }
.vc-page p, .vc-page li { color: var(--vc-text); }

.woocommerce .woocommerce-breadcrumb { color: var(--vc-muted); font-size: 12px; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  border: 1px solid var(--vc-line);
  border-radius: 12px;
  background: white;
  overflow: hidden;
  padding-bottom: 18px;
  box-shadow: 0 10px 24px rgba(9, 34, 77, .06);
}
.woocommerce ul.products li.product a img {
  background: #edf3fa;
  margin: 0 0 16px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.woocommerce-loop-product__title { padding: 0 18px !important; color: var(--vc-ink); font-weight: 850; }
.woocommerce ul.products li.product .price { padding: 0 18px; color: var(--vc-blue-dark); font-weight: 900; }
.woocommerce ul.products li.product .button { margin-left: 18px; }
.woocommerce div.product .product_title { font-size: clamp(34px, 4vw, 56px); line-height: 1.05; letter-spacing: -.04em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--vc-blue-dark); font-size: 28px; font-weight: 900; }
.woocommerce div.product form.cart { padding: 20px; border: 1px solid var(--vc-line); border-radius: 12px; background: white; box-shadow: 0 12px 35px rgba(9, 34, 77, .08); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--vc-blue);
  background: white;
  box-shadow: 0 8px 24px rgba(9, 34, 77, .08);
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  min-height: 44px;
  border: 1px solid var(--vc-line);
  border-radius: 7px;
  padding: 8px 11px;
}

.vc-footer {
  padding: 54px 5vw 24px;
  color: #c7d4e7;
  background: #031024;
}
.vc-footer-grid {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr repeat(3, .7fr);
  gap: 34px;
}
.vc-footer h2, .vc-footer h3 { color: white; margin-top: 0; }
.vc-footer p, .vc-footer li { color: #aebbd0; font-size: 13px; }
.vc-footer ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.vc-footer a { color: #c7d4e7; }
.vc-footer a:hover { color: var(--vc-lime); }
.vc-footer-bottom {
  max-width: 1320px;
  margin: 34px auto 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #8899b2;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
}

@media (max-width: 1020px) {
  .vc-nav { display: none; }
  .vc-hero { grid-template-columns: 1fr; min-height: auto; }
  .vc-hero-visual { min-height: 390px; }
  .vc-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vc-grid-3, .vc-benefits, .vc-how, .vc-footer-grid { grid-template-columns: 1fr; }
  .vc-how { margin: 0 5vw 70px; padding: 36px 28px; }
}
@media (max-width: 640px) {
  .vc-topline { display: none; }
  .vc-site-header { min-height: 70px; padding: 0 18px; }
  .vc-brand-name strong { font-size: 19px; }
  .vc-brand-mark { width: 45px; height: 37px; }
  .vc-icon-button span:not(.vc-cart-count) { display: none; }
  .vc-hero { padding: 42px 22px 48px; }
  .vc-hero h1 { font-size: 42px; }
  .vc-hero p { font-size: 16px; }
  .vc-hero-stack { min-height: 315px; }
  .vc-cover { width: 148px; height: 214px; }
  .vc-cover:nth-child(3) { right: 8px; top: 88px; }
  .vc-deadline { display: none; }
  .vc-container { padding: 62px 22px; }
  .vc-grid-4 { grid-template-columns: 1fr; }
  .vc-section-head { display: block; }
  .vc-footer-bottom { display: block; }
}
