/* =========================================================
Poptcar — Registro de Conductores App
========================================================= */

:root{
  --pcdreg-cream:#f4efec;
  --pcdreg-blue:#035fa6;
  --pcdreg-sky:#268dcf;
  --pcdreg-yellow:#f9c734;
  --pcdreg-ink:#0b1220;
  --pcdreg-text:#1a2433;
  --pcdreg-muted:#5b677a;
  --pcdreg-card:#ffffff;
  --pcdreg-border:rgba(12,24,40,.10);
  --pcdreg-radius:18px;
  --pcdreg-shadow:0 18px 60px rgba(2,22,55,.10);
  --pcdreg-shadow-soft:0 10px 30px rgba(2,22,55,.08);
}

body.pcdreg-body{
  margin:0;
  background:
    radial-gradient(1200px 700px at 18% 0%, rgba(38,141,207,.20), transparent 60%),
    radial-gradient(900px 600px at 78% 10%, rgba(249,199,52,.18), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, var(--pcdreg-cream) 55%, #ffffff 100%);
  color:var(--pcdreg-text);
}

.pcdreg-app{
  min-height:100vh;
}

.pcdreg-shell{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
}

/* =========================================================
APPBAR
========================================================= */
.pcdreg-appbar{
  position:sticky;
  top:0;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 18px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(12,24,40,.08);
}

.pcdreg-appbar__left,
.pcdreg-appbar__right{
  display:flex;
  align-items:center;
  gap:12px;
}

.pcdreg-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none !important;
}

.pcdreg-brand__logo{
  width:38px;
  height:38px;
  object-fit:contain;
  border-radius:10px;
}

.pcdreg-brand__name{
  font-weight:900;
  letter-spacing:.06em;
  font-size:13px;
  color:var(--pcdreg-ink);
}

.pcdreg-appbar__tag{
  font-size:12px;
  color:var(--pcdreg-muted);
  border:1px solid rgba(12,24,40,.10);
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.7);
  white-space:nowrap;
}

/* =========================================================
BUTTONS
========================================================= */
.pcdreg-btn{
  appearance:none;
  border:1px solid transparent;
  border-radius:999px;
  padding:12px 16px;
  font-weight:800;
  font-size:14px;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  cursor:pointer;
  user-select:none;
}

.pcdreg-btn:hover{
  transform:translateY(-1px);
}

.pcdreg-btn--xl{
  padding:14px 18px;
  font-size:15px;
}

.pcdreg-btn--block{
  width:100%;
}

.pcdreg-btn--primary{
  background:var(--pcdreg-blue);
  color:#fff !important;
  box-shadow:0 12px 30px rgba(3,95,166,.20);
}

.pcdreg-btn--primary:hover{
  background:#024d85;
}

.pcdreg-btn--soft{
  background:rgba(38,141,207,.10);
  border-color:rgba(38,141,207,.22);
  color:var(--pcdreg-blue) !important;
}

.pcdreg-btn--soft:hover{
  background:rgba(38,141,207,.14);
}

.pcdreg-btn--ghost{
  background:rgba(255,255,255,.72);
  border-color:rgba(12,24,40,.12);
  color:var(--pcdreg-ink) !important;
}

.pcdreg-btn--ghost:hover{
  background:#fff;
}

.pcdreg-btn--outline{
  background:#fff;
  border-color:rgba(3,95,166,.20);
  color:var(--pcdreg-blue) !important;
}

.pcdreg-btn--outline:hover{
  background:rgba(3,95,166,.06);
}

.pcdreg-btn--yellow{
  background:var(--pcdreg-yellow);
  color:#111827 !important;
  box-shadow:0 12px 28px rgba(249,199,52,.24);
}

.pcdreg-btn--yellow:hover{
  background:#efbd22;
}

.pcdreg-btn--ghost-light{
  background:rgba(255,255,255,.10);
  color:#fff !important;
  border-color:rgba(255,255,255,.20);
}

.pcdreg-btn--ghost-light:hover{
  background:rgba(255,255,255,.16);
}

/* =========================================================
HERO
========================================================= */
.pcdreg-hero{
  position:relative;
  padding:42px 0 20px;
  overflow:hidden;
}

.pcdreg-hero__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(700px 320px at 18% 20%, rgba(3,95,166,.18), transparent 60%),
    radial-gradient(600px 320px at 78% 10%, rgba(249,199,52,.20), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.55) 100%);
  pointer-events:none;
}

.pcdreg-hero__grid{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:start;
}

.pcdreg-kicker{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(38,141,207,.10);
  color:var(--pcdreg-blue);
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.pcdreg-hero__copy h1{
  margin:14px 0 10px;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--pcdreg-ink);
  font-weight:900;
}

.pcdreg-lead{
  margin:0 0 16px;
  color:var(--pcdreg-muted);
  font-size:16px;
  line-height:1.5;
  max-width:700px;
}

.pcdreg-hero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:14px 0;
}

.pcdreg-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.pcdreg-trust{
  display:flex;
  gap:10px;
  align-items:center;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(12,24,40,.08);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 10px 26px rgba(2,22,55,.06);
}

.pcdreg-trust__icon{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(3,95,166,.10);
  color:var(--pcdreg-blue);
  font-weight:900;
}

.pcdreg-trust__text{
  font-size:13px;
  color:var(--pcdreg-text);
}

/* =========================================================
SIDE CARD
========================================================= */
.pcdreg-sidecard{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(12,24,40,.09);
  border-radius:var(--pcdreg-radius);
  box-shadow:var(--pcdreg-shadow);
  padding:18px;
  overflow:hidden;
}

.pcdreg-sidecard__badge{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(249,199,52,.16);
  color:#7a5a00;
  font-size:12px;
  font-weight:900;
  margin-bottom:10px;
}

.pcdreg-sidecard__title{
  font-size:20px;
  font-weight:900;
  color:var(--pcdreg-ink);
  margin-bottom:8px;
}

.pcdreg-sidecard__head p{
  margin:0;
  color:var(--pcdreg-muted);
  font-size:14px;
  line-height:1.45;
}

.pcdreg-sidecard__list{
  display:grid;
  gap:10px;
  margin:16px 0;
}

.pcdreg-sideitem{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(12,24,40,.08);
}

.pcdreg-sideitem__icon{
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(3,95,166,.10);
  color:var(--pcdreg-blue);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  flex:0 0 24px;
}

.pcdreg-sidecard__actions{
  display:grid;
  gap:10px;
}

/* =========================================================
CONTENT
========================================================= */
.pcdreg-content{
  padding:10px 0 34px;
}

.pcdreg-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:18px;
  align-items:start;
}

.pcdreg-card{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(12,24,40,.09);
  border-radius:var(--pcdreg-radius);
  box-shadow:var(--pcdreg-shadow);
  overflow:hidden;
  padding:18px;
}

.pcdreg-card__head h2{
  margin:0;
  font-size:24px;
  line-height:1.1;
  color:var(--pcdreg-ink);
  font-weight:900;
}

.pcdreg-card__head p{
  margin:8px 0 0;
  color:var(--pcdreg-muted);
  font-size:14px;
  line-height:1.45;
}

.pcdreg-features{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.pcdreg-feature{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(12,24,40,.08);
}

.pcdreg-feature__icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(3,95,166,.10);
  font-size:18px;
  flex:0 0 40px;
}

.pcdreg-feature strong{
  display:block;
  color:var(--pcdreg-ink);
  margin-bottom:4px;
}

.pcdreg-feature p{
  margin:0;
  color:var(--pcdreg-muted);
  font-size:13px;
  line-height:1.4;
}

.pcdreg-note{
  margin-top:16px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(249,199,52,.12);
  border:1px solid rgba(249,199,52,.24);
  color:#5a4a00;
  font-size:13px;
  font-weight:700;
}

/* =========================================================
CF7 WRAPPER
========================================================= */
.pcdreg-form-wrap{
  margin-top:18px;
}

.pcdreg-form-wrap .wpcf7{
  margin:0;
}

.pcdreg-form-wrap .wpcf7 form{
  margin:0;
}

.pcdreg-legal{
  margin-top:16px;
  font-size:13px;
  color:var(--pcdreg-muted);
}

.pcdreg-legal a{
  color:var(--pcdreg-blue);
  font-weight:700;
  text-decoration:none;
}

.pcdreg-legal a:hover{
  text-decoration:underline;
}

/* =========================================================
CF7 STYLING
========================================================= */
.pcdreg-form-wrap input[type="text"],
.pcdreg-form-wrap input[type="email"],
.pcdreg-form-wrap input[type="tel"],
.pcdreg-form-wrap input[type="number"],
.pcdreg-form-wrap input[type="url"],
.pcdreg-form-wrap input[type="date"],
.pcdreg-form-wrap select,
.pcdreg-form-wrap textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(12,24,40,.12);
  background:rgba(255,255,255,.96);
  padding:12px 12px;
  font-size:14px;
  color:var(--pcdreg-text);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.pcdreg-form-wrap input:focus,
.pcdreg-form-wrap select:focus,
.pcdreg-form-wrap textarea:focus{
  border-color:rgba(3,95,166,.35);
  box-shadow:0 0 0 4px rgba(3,95,166,.10);
}

.pcdreg-form-wrap textarea{
  min-height:120px;
  resize:vertical;
}

.pcdreg-form-wrap input[type="submit"],
.pcdreg-form-wrap button,
.pcdreg-form-wrap .wpcf7-submit{
  appearance:none;
  border:0;
  border-radius:999px;
  background:var(--pcdreg-blue);
  color:#fff;
  padding:14px 20px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(3,95,166,.20);
  transition:transform .15s ease, background .2s ease;
}

.pcdreg-form-wrap input[type="submit"]:hover,
.pcdreg-form-wrap button:hover,
.pcdreg-form-wrap .wpcf7-submit:hover{
  background:#024d85;
  transform:translateY(-1px);
}

.pcdreg-form-wrap .wpcf7-spinner{
  vertical-align:middle;
}

/* =========================================================
BOTTOM CTA
========================================================= */
.pcdreg-bottom{
  padding:0 0 34px;
}

.pcdreg-bottom__box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px;
  border-radius:var(--pcdreg-radius);
  background:linear-gradient(135deg, rgba(3,95,166,.96), rgba(2,77,133,.96));
  box-shadow:0 24px 60px rgba(3,95,166,.22);
}

.pcdreg-bottom__copy h2{
  margin:0 0 8px;
  color:#fff;
  font-size:24px;
  line-height:1.1;
  font-weight:900;
}

.pcdreg-bottom__copy p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:14px;
}

.pcdreg-bottom__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* =========================================================
RESPONSIVE
========================================================= */
@media (max-width: 980px){
  .pcdreg-hero__grid,
  .pcdreg-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .pcdreg-shell{
    width:min(100% - 20px, 1180px);
  }

  .pcdreg-appbar{
    padding:12px;
  }

  .pcdreg-appbar__tag{
    display:none;
  }

  .pcdreg-appbar__right{
    gap:8px;
  }

  .pcdreg-appbar__right .pcdreg-btn{
    padding:10px 12px;
    font-size:13px;
  }

  .pcdreg-hero{
    padding:28px 0 18px;
  }

  .pcdreg-hero__copy h1{
    font-size:32px;
  }

  .pcdreg-hero__actions,
  .pcdreg-bottom__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .pcdreg-btn{
    width:100%;
  }

  .pcdreg-bottom__box{
    flex-direction:column;
    align-items:flex-start;
  }
}