/* =====================================================================
 * Portão de materiais das aulas (Discursive-se): CTA + modal.
 * Aparece só em posts com meta `link_drive` (ver single.php / functions.php).
 * O formulário reaproveita o form 25 do ActiveCampaign (mesma lista da
 * página de materiais); ao enviar, redireciona pro Drive daquela aula.
 * Regras #_form_25_ abaixo: extraídas de materiais-frm.css, vars escopadas.
 * ===================================================================== */

/* ---- CTA na página (tema claro do blog) ---- */
.matgate-cta{
  display:flex; align-items:center; gap:20px 24px; flex-wrap:wrap;
  justify-content:space-between; margin:0 0 30px; padding:22px 24px;
  border:1px solid var(--c-border,#eadfd6); border-left:4px solid #e07720;
  border-radius:14px; background:#fffaf5;
  box-shadow:0 8px 26px -16px rgba(224,119,32,.45);
}
.matgate-cta__text{flex:1 1 300px; min-width:min(100%,300px)}
.matgate-cta__text h2{
  font-family:'Exo 2',var(--font-display,sans-serif);
  font-size:1.3rem; line-height:1.2; margin:0 0 5px; color:#1a0a00; letter-spacing:-.02em;
}
.matgate-cta__text p{margin:0; color:#5c5148; font-size:.98rem; line-height:1.5}
.matgate-cta__btn{
  flex:0 0 auto; cursor:pointer; border:0; border-radius:10px;
  background:#e07720; color:#fff; font-weight:600; font-size:1rem; font-family:inherit;
  padding:14px 28px; letter-spacing:.01em;
  transition:background .18s ease, transform .18s ease;
  box-shadow:0 10px 24px -8px rgba(224,119,32,.55);
}
.matgate-cta__btn:hover{background:#c9661a; transform:translateY(-1px)}
.matgate-cta__btn:active{transform:translateY(0)}

/* ---- Modal ---- */
.matgate-modal{position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:20px}
.matgate-modal.is-open{display:flex}
.matgate-modal__backdrop{position:absolute; inset:0; background:rgba(6,6,10,.74); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:matgate-fade .2s ease}
.matgate-modal__dialog{position:relative; z-index:1; width:100%; max-width:440px; max-height:calc(100dvh - 40px); overflow:auto; animation:matgate-pop .22s cubic-bezier(.2,.8,.25,1)}
.matgate-modal__close{position:absolute; top:10px; right:12px; z-index:3; width:34px; height:34px; border:0; border-radius:50%; background:rgba(255,255,255,.10); color:#fff; font-size:22px; line-height:32px; text-align:center; cursor:pointer; transition:background .15s ease}
.matgate-modal__close:hover{background:rgba(255,255,255,.22)}
.matgate-modal #_form_25_{margin:0 !important; max-width:none !important}
body.matgate-lock{overflow:hidden}
@keyframes matgate-fade{from{opacity:0}to{opacity:1}}
@keyframes matgate-pop{from{opacity:0; transform:translateY(14px) scale(.98)}to{opacity:1; transform:none}}

  #matgate-cta, #matgate-modal {
    --form-bg: rgba(18, 18, 22, 0.72);
    --form-border: rgba(255, 255, 255, 0.06);
    --input-bg: rgba(255, 255, 255, 0.04);
    --input-border: rgba(255, 255, 255, 0.08);
    --input-focus-border: rgba(224, 119, 32, 0.6);
    --input-focus-glow: rgba(224, 119, 32, 0.12);
    --text-primary: #f4f4f5;
    --text-secondary: rgba(255, 255, 255, 0.55);
    --text-tertiary: rgba(255, 255, 255, 0.3);
    --accent: #e07720;
    --accent-hover: #f08a30;
    --accent-glow: rgba(224, 119, 32, 0.25);
    --radius-lg: 20px;
    --radius-sm: 10px;
    --font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }

  .glass-page-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100%;
    padding: 24px;
    box-sizing: border-box;
    background: #0a0a0c;
    background-image:
      radial-gradient(ellipse 80% 60% at 50% 0%, rgba(224, 119, 32, 0.06) 0%, transparent 60%),
      radial-gradient(ellipse 60% 50% at 50% 100%, rgba(224, 119, 32, 0.03) 0%, transparent 50%);
    font-family: var(--font) !important;
  }

  #_form_25_ {
    background: var(--form-bg) !important;
    backdrop-filter: blur(40px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(40px) saturate(1.2) !important;
    border: 1px solid var(--form-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow:
      0 1px 0 0 rgba(255,255,255,0.03) inset,
      0 24px 64px -12px rgba(0, 0, 0, 0.7),
      0 0 0 1px rgba(0,0,0,0.3) !important;
    padding: 44px 36px 40px !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    color: var(--text-primary) !important;
    position: relative !important;
    overflow: hidden !important;
    font-family: var(--font) !important;
  }

  #_form_25_::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
    pointer-events: none;
  }

  #_form_25_ img.form-logo {
    display: block !important;
    margin: 0 auto 28px auto !important;
    width: 130px !important;
    max-width: 130px !important;
    height: auto !important;
    opacity: 0.95 !important;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3)) !important;
  }

  #_form_25_ h2._form-title {
    color: #e07720 !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    font-family: 'Exo 2', var(--font) !important;
    font-style: normal !important;
    margin-bottom: 0px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.03em !important;
    padding: 0 !important;
  }

  #_form_25_ ._html-code {
    color: var(--text-secondary) !important;
    text-align: center !important;
    font-size: 0.84rem !important;
    font-weight: 400 !important;
    font-family: var(--font) !important;
    line-height: 1.6 !important;
    margin-bottom: 32px !important;
    margin-top: 10px !important;
    padding: 0 4px !important;
    letter-spacing: 0.005em !important;
  }

  #_form_25_ ._form-label {
    color: var(--text-secondary) !important;
    font-weight: 500 !important;
    font-size: 0.78rem !important;
    font-family: var(--font) !important;
    margin-bottom: 8px !important;
    display: block !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  #_form_25_ .field-required {
    color: var(--accent) !important;
    margin-left: 2px !important;
  }

  #_form_25_ input[type="text"],
  #_form_25_ input[type="tel"],
  #_form_25_ input[type="email"] {
    background: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
    -webkit-text-fill-color: var(--text-primary) !important;
    border-radius: var(--radius-sm) !important;
    padding: 14px 16px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    font-family: var(--font) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    letter-spacing: 0.01em !important;
    outline: none !important;
  }

  #_form_25_ input::placeholder {
    color: var(--text-tertiary) !important;
    -webkit-text-fill-color: var(--text-tertiary) !important;
    font-weight: 400 !important;
    opacity: 1 !important;
  }

  #_form_25_ input[type="text"]:focus,
  #_form_25_ input[type="tel"]:focus,
  #_form_25_ input[type="email"]:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--input-focus-border) !important;
    box-shadow: 0 0 0 3px var(--input-focus-glow), 0 1px 3px rgba(0,0,0,0.2) !important;
  }

  #_form_25_ input[type="text"]:hover:not(:focus),
  #_form_25_ input[type="tel"]:hover:not(:focus),
  #_form_25_ input[type="email"]:hover:not(:focus) {
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.05) !important;
  }

  #_form_25_ ._form_element {
    margin-bottom: 18px !important;
  }

  #_form_25_ ._submit {
    background: linear-gradient(135deg, var(--accent), var(--accent-hover)) !important;
    color: #ffffff !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    font-family: var(--font) !important;
    border-radius: var(--radius-sm) !important;
    padding: 15px 24px !important;
    margin-top: 24px !important;
    width: 100% !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border: none !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 16px var(--accent-glow), 0 1px 2px rgba(0,0,0,0.2) !important;
  }

  #_form_25_ ._submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(224, 119, 32, 0.35), 0 2px 4px rgba(0,0,0,0.2) !important;
    filter: brightness(1.08) !important;
  }

  #_form_25_ ._submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px var(--accent-glow) !important;
  }

  #_form_25_ ._submit::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
  }

  #_form_25_ ._submit:hover::after {
    left: 100%;
  }

  #_form_25_ ._error-inner {
    background-color: rgba(239, 68, 68, 0.9) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
  }
  #_form_25_ ._error-arrow { border-top-color: rgba(239, 68, 68, 0.9) !important; }
  #_form_25_ ._error._below ._error-arrow { border-bottom-color: rgba(239, 68, 68, 0.9) !important; }

  #_form_25_ ._form-thank-you {
    color: var(--text-primary) !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
  }

  @media (max-width: 480px) {
    #_form_25_ { padding: 36px 24px 32px !important; border-radius: 16px !important; }
    #_form_25_ h2._form-title { font-size: 1.3rem !important; }
    #_form_25_ ._html-code { font-size: 0.8rem !important; }
    #_form_25_ img.form-logo { width: 110px !important; max-width: 110px !important; margin-bottom: 24px !important; }
    .glass-page-wrapper { padding: 16px; }
  }

  /* CSS estrutural AC (preservado) */
  #_form_25_{font-size:14px;line-height:1.6;margin:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_25_._form-top{top:0}#_form_25_._form-bottom{bottom:0}#_form_25_._form-left{left:0}#_form_25_._form-right{right:0}#_form_25_ textarea{resize:none}#_form_25_ ._submit.processing{position:relative}#_form_25_ ._submit.processing::before{content:"";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#eb9642, #eb9642), conic-gradient(#eb9642, #ffffff);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_25_ ._submit.processing::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_25_ ._close-icon{cursor:pointer;background-image:url("https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_25_ ._form-body{margin-bottom:30px}#_form_25_ ._form-image-left{width:150px;float:left}#_form_25_ ._form-content-right{margin-left:164px}#_form_25_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_25_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_25_ ._form_element{position:relative;font-size:0;max-width:100%}#_form_25_ ._form_element._clear{clear:both;width:100%;float:none}#_form_25_ ._form_element._clear:after{clear:left}#_form_25_ ._field-wrapper{position:relative}#_form_25_ ._inline-style{float:left}#_form_25_ ._inline-style input[type="text"]{width:150px}#_form_25_ ._inline-style:not(._clear){margin-right:20px}#_form_25_ ._form_element img._form-image{max-width:100%}#_form_25_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_25_ ._clear-element{clear:left}#_form_25_ ._full_width{width:100%}#_form_25_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_25_ input[type="text"]._has_error,#_form_25_ textarea._has_error{border:#F37C7B 1px solid}#_form_25_ input[type="checkbox"]._has_error{outline:#F37C7B 1px solid}#_form_25_ ._show_be_error{float:left}#_form_25_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_25_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_25_ ._error._below{padding-top:8px;top:100%;right:0}#_form_25_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_25_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_25_ ._error-inner{padding:12px 12px 12px 36px;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-weight:600;line-height:16px;text-align:center;text-decoration:none;border-radius:4px}@media only screen and (max-width:319px){#_form_25_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_25_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_25_ ._button-wrapper ._error-inner._form_error{position:static}#_form_25_ ._error-inner._no_arrow{margin-bottom:10px}#_form_25_ ._error-arrow{position:absolute;width:0;height:0}#_form_25_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_25_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_25_ ._form-content{margin:0;width:100%}#_form_25_ ._form-inner{display:block;min-width:100%}#_form_25_ ._form-title,#_form_25_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_25_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_25_ ._form-element,#_form_25_ ._inline-style,#_form_25_ input[type="text"],#_form_25_ label,#_form_25_ p,#_form_25_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_25_ ._row._checkbox-radio label{display:inline}#_form_25_ ._row,#_form_25_ p,#_form_25_ label{margin-bottom:0.7em;width:100%}#_form_25_ ._row input[type="checkbox"],#_form_25_ ._row input[type="radio"]{margin:0 !important;vertical-align:middle !important}#_form_25_ ._row input[type="checkbox"]+span label{display:inline}#_form_25_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_25_ ._form-image{max-width:100%;height:auto !important}#_form_25_ input[type="radio"],#_form_25_ input[type="checkbox"]{display:inline-block;width:1.3em;height:1.3em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_25_ ._inline-style{margin:20px 0 0 !important}#_form_25_ ._inline-style input[type="text"]{width:100%}}#_form_25_ .field-required{color:#FF0000}#_form_25_ ._show_be_error{min-width:100%}#_form_25_:before,#_form_25_:after{content:" ";display:table}#_form_25_:after{clear:both}#_form_25_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}