/*
Theme Name: MGTEAM Alunos
Theme URI: https://mgteam.com.br/
Description: Identidade visual MGTEAM para a plataforma de alunos, preservando o Hello Elementor e os templates existentes.
Author: MGTEAM
Template: hello-elementor
Version: 1.0.1
Text Domain: mgteam-alunos
*/

:root {
  --mg-cream: #f6f5f0;
  --mg-paper: #fffdf7;
  --mg-ink: #24332d;
  --mg-ink-soft: #415047;
  --mg-mint: #c9e6d8;
  --mg-mint-soft: #e6f2ec;
  --mg-line: #e2ded3;
  --mg-white: #ffffff;
  --mg-radius: 8px;
  --mg-radius-lg: 18px;
  --mg-shadow: 0 18px 50px rgba(36, 51, 45, 0.08);
}

html {
  background: var(--mg-cream);
}

body,
button,
input,
select,
textarea {
  color: var(--mg-ink);
  font-family: "Work Sans", Arial, sans-serif;
}

body {
  background: var(--mg-cream);
  line-height: 1.6;
}

h1,
h2,
h3,
.entry-title,
.elementor-heading-title {
  color: var(--mg-ink);
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1;
}

h4,
h5,
h6 {
  color: var(--mg-ink);
  font-family: "Work Sans", Arial, sans-serif;
}

a {
  color: var(--mg-ink);
  text-decoration-color: var(--mg-mint);
  text-underline-offset: 0.2em;
}

a:hover,
a:focus-visible {
  color: #101d18;
}

::selection {
  background: var(--mg-mint);
  color: var(--mg-ink);
}

.elementor-button,
button,
input[type="button"],
input[type="submit"],
.pms-submit,
.pms-account-navigation-link a {
  background: var(--mg-ink);
  border: 1px solid var(--mg-ink);
  border-radius: var(--mg-radius);
  color: var(--mg-cream);
  font-family: "Work Sans", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  min-height: 48px;
  padding: 0.85rem 1.35rem;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.elementor-button,
.elementor-button span,
.elementor-button-text {
  font-family: "Work Sans", Arial, sans-serif !important;
}

.elementor-button:hover,
.elementor-button:focus-visible,
button:hover,
button:focus-visible,
input[type="button"]:hover,
input[type="submit"]:hover,
.pms-submit:hover,
.pms-account-navigation-link a:hover {
  background: var(--mg-mint);
  border-color: var(--mg-mint);
  color: var(--mg-ink);
  transform: translateY(-1px);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea,
.elementor-field {
  background: var(--mg-white);
  border: 1px solid var(--mg-line);
  border-radius: var(--mg-radius);
  color: var(--mg-ink);
  min-height: 50px;
}

input:focus,
select:focus,
textarea:focus,
.elementor-field:focus {
  border-color: var(--mg-ink);
  box-shadow: 0 0 0 3px rgba(201, 230, 216, 0.8);
  outline: none;
}

header.elementor-location-header {
  background: rgba(246, 245, 240, 0.96);
  border-bottom: 1px solid var(--mg-line);
  position: relative;
  z-index: 10;
}

header.elementor-location-header img {
  max-height: 56px;
  width: auto;
}

header.elementor-location-header .elementor-nav-menu a {
  color: var(--mg-ink);
  font-family: "Work Sans", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

footer.elementor-location-footer {
  background: var(--mg-ink);
  color: var(--mg-cream);
}

footer.elementor-location-footer a,
footer.elementor-location-footer .elementor-heading-title,
footer.elementor-location-footer p,
footer.elementor-location-footer span,
footer.elementor-location-footer strong,
footer.elementor-location-footer .elementor-widget-text-editor {
  color: var(--mg-cream) !important;
}

/* Login público: mantém o formulário Elementor e aproxima a composição do site institucional. */
body.page-id-14 .site-main {
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(3rem, 6vw, 6.5rem) clamp(1.25rem, 4vw, 3rem);
}

body.page-id-14 .page-header {
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
  max-width: 1120px;
  padding: 0;
}

body.page-id-14 .page-header .entry-title {
  font-size: clamp(3.25rem, 7vw, 5.5rem);
  margin: 0;
}

body.page-id-14 .page-content,
body.page-id-14 .elementor-element[data-id="f83f66b"] {
  margin: 0;
  padding: 0;
}

body.page-id-14 .elementor-element[data-id="0accefd"] {
  background-color: var(--mg-paper) !important;
  background-image: radial-gradient(circle at 82% 25%, rgba(201, 230, 216, 0.72), transparent 28%),
    linear-gradient(135deg, transparent 0 66%, rgba(36, 51, 45, 0.035) 66% 100%) !important;
  border: 1px solid var(--mg-line);
  border-radius: var(--mg-radius-lg);
  box-shadow: var(--mg-shadow);
  min-height: 520px;
  overflow: hidden;
  position: relative;
}

body.page-id-14 .elementor-element[data-id="0accefd"]::after {
  color: rgba(36, 51, 45, 0.08);
  content: "MG";
  font-family: "Instrument Serif", Georgia, serif;
  font-size: clamp(9rem, 23vw, 18rem);
  letter-spacing: -0.1em;
  line-height: 0.8;
  pointer-events: none;
  position: absolute;
  right: 7%;
  top: 50%;
  transform: translateY(-48%);
  z-index: 0;
}

body.page-id-14 .elementor-element[data-id="0accefd"] > .e-con-inner,
body.page-id-14 .elementor-element[data-id="0accefd"] > .elementor-container {
  position: relative;
  z-index: 1;
}

body.page-id-14 .elementor-element[data-id="3b6bf89"] {
  background: rgba(255, 253, 247, 0.92);
  border-radius: calc(var(--mg-radius-lg) - 1px) 0 0 calc(var(--mg-radius-lg) - 1px);
  max-width: 620px;
  padding: clamp(2rem, 5vw, 4.5rem) !important;
}

body.page-id-14 .elementor-element[data-id="3aec9a1"] .elementor-heading-title {
  font-size: clamp(2.75rem, 5vw, 4.5rem);
  margin-bottom: 0.5rem;
}

body.page-id-14 .elementor-login .elementor-field-group {
  margin-bottom: 1rem;
}

body.page-id-14 .elementor-login .elementor-field-label,
body.page-id-14 .elementor-login label {
  color: var(--mg-ink-soft);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.025em;
}

body.page-id-14 .elementor-login .elementor-field {
  background: var(--mg-white) !important;
  border: 1px solid var(--mg-line) !important;
  border-radius: var(--mg-radius) !important;
  color: var(--mg-ink) !important;
  min-height: 54px;
  padding: 0 1rem;
}

body.page-id-14 .elementor-login .elementor-button {
  background: var(--mg-ink) !important;
  border: 1px solid var(--mg-ink) !important;
  border-radius: var(--mg-radius) !important;
  color: var(--mg-cream) !important;
  min-height: 52px;
  width: 100%;
}

body.page-id-14 .elementor-login .elementor-button:hover,
body.page-id-14 .elementor-login .elementor-button:focus-visible {
  background: var(--mg-mint) !important;
  border-color: var(--mg-mint) !important;
  color: var(--mg-ink) !important;
}

body.page-id-14 .elementor-login__logged-in-message,
body.page-id-14 .elementor-login-separator,
body.page-id-14 .elementor-login a,
body.page-id-14 .elementor-element[data-id="37b5a89"] {
  color: var(--mg-ink-soft);
}

body.page-id-14 .elementor-login a:hover {
  color: var(--mg-ink);
}

/* Componentes comuns da área de membros. */
.pms-account-navigation,
.pms-account-subscription-details-table,
.pms-account-subscription-action,
.pms-form,
.elementor-widget-container > table {
  background: var(--mg-paper);
  border: 1px solid var(--mg-line);
  border-radius: var(--mg-radius-lg);
}

.pms-account-navigation,
.pms-form {
  padding: clamp(1.25rem, 3vw, 2rem);
}

table th {
  background: var(--mg-mint-soft);
  color: var(--mg-ink);
}

@media (max-width: 767px) {
  body.page-id-14 .site-main {
    padding-top: 2.5rem;
  }

  body.page-id-14 .elementor-element[data-id="0accefd"] {
    min-height: auto;
  }

  body.page-id-14 .elementor-element[data-id="0accefd"]::after {
    bottom: -1rem;
    font-size: 9rem;
    right: 1rem;
    top: auto;
    transform: none;
  }

  body.page-id-14 .elementor-element[data-id="3b6bf89"] {
    background: rgba(255, 253, 247, 0.95);
    border-radius: calc(var(--mg-radius-lg) - 1px);
    max-width: none;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
