
/*GATE120*/
:root{--bg1:#ffd1b6;--bg2:#fff;--card-stroke:rgba(0,0,0,.08);--radius:16px;--shadow:0 24px 48px rgba(2,6,23,.12);

  --brand-purple:#FF6306; --brand-blue:#000000; --brand-sky:#ffd1b6; --brand-white:#fff;
    --bg-grad-1:#ffd1b6; --bg-grad-2:#fff;
    --card-bg:rgba(255,255,255,.78); --card-border:rgba(255,255,255,.6);
    --text-1:#0f172a; --text-2:#475569;
    --accent:var(--brand-purple); --accent-strong:#5b4bf0; --accent-soft:rgba(108,92,231,.15);
    --radius-xl:12px; --radius-md:14px; --radius-sm:12px;
    --shadow-lg:0 20px 40px rgba(31,41,55,.15); --shadow-md:0 10px 24px rgba(31,41,55,.12);
    --gap:16px; --font:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    --segunda-cor: #ffc400;

    --bg: #101010;

}
   

*{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial;
      background: var(--bg);
      /*
      background:radial-gradient(1200px 700px at 10% -10%,var(--bg1),transparent),radial-gradient(1000px 600px at 90% 10%,var(--bg2),transparent),linear-gradient(180deg,#f8fafc,#eef2ff);
      */
      display:flex;flex-direction:column;min-height:100vh;color:var(--text-1)}
    .wrap{max-width:1100px;margin:40px auto 24px;padding:0 16px;flex:1;animation: opac 2s}


    @keyframes opac{

    0%{
       opacity: 0;
    }
    100%{
        opacity: 1;
    }
  }

  



    /* ====== Header ====== */
    .header-evento,
    .navigation_header{
      font-family: var(--font);
      display: flex;
      flex-direction: row;
      align-items: center;
      z-index: 10;
    }

    #c_p{display: none;}

    .header-evento{
    background-image: linear-gradient(to bottom, var(--brand-purple),
     var(--brand-blue), var(--brand-purple));
    justify-content: space-between;
    padding: 5px 10%;
    width: 100%;
    height: 80px;
    color: #FFF;
    }

    .header-evento .log{
        width: 30%;
    }

    .esquerda header{
    font-family: var(--font);
}

    .btn_icon_header{
        display: none;
        background-color: transparent;
        border: none;
        color: var(--text-1);
        cursor: pointer;
    }

    .logo-header{
        display: flex;
        flex-direction: row;
        gap: 20px;
        padding: 20px;
        align-items: center;
    }

    .navigation_header a{
      font-family: var(--font);
      text-decoration: none;
      color: var(--bg-grad-2);
      font-weight: bold;
      transition: 0.5s;
      /*text-shadow: 1px 1px 2px #000;*/
    }
    .navigation_header a:hover{

        background-color: var(--brand-purple);
        padding: 10px;
        border-radius: 6px;
        color: var(--text-1);
        /*text-shadow: 2px 2px 2px #000;*/   
    }
    /* ====== Header ====== */




    header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
    .brand{display:flex;gap:12px;align-items:center}
    .logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--brand-blue),var(--brand-purple))}
    .title{font-weight:800; color: var(--bg2);}
    .subtitle{color:var(--brand-purple)}
    .card{background:var(--card-bg);border:1px solid var(--card-stroke);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}
    .card .head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--card-stroke)}
    .grid{display:grid;gap:14px;padding:18px}
    @media(min-width:860px){.grid{grid-template-columns:repeat(12,1fr)}.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}}
    .field{display:flex;flex-direction:column;gap:6px}
    .label{font-weight:700;font-size:.9rem}
    .hint{color:var(--text-2);font-size:.85rem}
    .input,select{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;min-height:42px;outline:none;transition:.2s}
    .input:focus,select:focus{border-color:#c7d2fe;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
    .switch{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:42px}
    .btn{appearance:none;border:none;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.2s}
    .btn.primary{background:linear-gradient(135deg,var(--brand-blue),var(--brand-purple));color:#fff}
    .btn:disabled{opacity:.6;cursor:default}
    .footer{display:flex;justify-content:flex-end;gap:10px;padding:18px;border-top:1px solid var(--card-stroke)}

    .status{margin-top:14px;padding:12px 14px;border-radius:12px;display:none;margin-bottom: 10px;}
    .status.ok{display:block;background:rgba(22,163,74,.08);color:#FFF;border:1px solid rgba(22,163,74,.25)}
    .status.warn{display:block;background:rgba(234,179,8,.12);color:#92400e;border:1px solid rgba(234,179,8,.35)}
    .status.err{display:block;background:rgba(220,38,38,.08);color:#991b1b;border:1px solid rgba(220,38,38,.3)}
    
    .site-footer{margin-top:auto;background:#0b1220;color:#e2e8f0}
    .site-footer .inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 16px}
    .site-footer img{width:36px;height:36px;border-radius:10px}
    .small{font-size:.85rem;color:var(--text-2)}
    
    .chip{display:inline-flex;align-items:center;gap:8px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:6px 10px;font-weight:700;color:var(--brand-purple)}
    
    .toast{position:fixed;right:18px;bottom:18px;background:#0b1220;color:#e2e8f0;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}
    .toast.show{opacity:1;transform:translateY(0)}
    .toast[data-variant="error"]{background:#7f1d1d}
    .toast[data-variant="ok"]{background:#4981f1}


    /* Rodapé */
    footer{
      background:linear-gradient(180deg, rgba(37,99,235,.08), rgba(108,92,231,.08));
      color:#0b1020;
      border-top:3px solid; border-image:linear-gradient(90deg, var(--brand-purple), var(--brand-blue), var(--brand-sky)) 1;
    }
    .footer-content{
      max-width:1100px; margin:0 auto; padding:28px 20px 8px;
      display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap;
    }
    .footer-content .titulo_logo img{ display:block; height:auto; max-width:220px; filter:drop-shadow(0 4px 10px rgba(37,99,235,.18)); }
    .footer-bottom{ text-align:center; padding:8px 20px 24px; }
    .footer-bottom p{ margin:0 0 8px; font-size:13px; color:#496ec5; }
    .footer-bottom a{ color:#0b3bff; text-decoration:none; font-size:13px; }
    .footer-bottom a:hover{ text-decoration:underline; }




/* SPINNER */
/* SPINNER */
/* SPINNER */
/* SPINNER */
/* SPINNER */
:root{
  --ld-accent: #FF6306;
  --ld-text: #0f172a;
}

.ld-modal{
  position: fixed; inset: 0;
  display: none;            /* escondido por padrão */
  align-items: center; justify-content: center;
  z-index: 9999;
}

.ld-modal.is-open{ display: flex; }

.ld-backdrop{
  position: absolute; inset: 0;
  background: rgba(0,0,0,.55);   /* sem blur = mais leve */
}

.ld-card{
  position: relative;
  width: min(360px, 92vw);
  padding: 20px 18px 18px;
  border-radius: 16px;
  background: #fff;              /* sem sombra pesada */
  text-align: center;
  opacity: 0; transform: translateY(6px) scale(.98);
  transition: transform .18s ease-out, opacity .18s ease-out; /* leve */
}

.is-open .ld-card{ opacity: 1; transform: translateY(0) scale(1); }

.ld-logo{
  width: 170px; height: 50px; object-fit: contain;
  margin: 0 auto 12px;
}

.ld-text{
  margin-top: 10px;
  font: 600 1rem/1.3 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  color: var(--ld-text);
}

/* Spinner leve: só border + rotate (GPU) */
.ld-spinner{
  --size: 56px;
  width: var(--size); height: var(--size);
  margin: 0 auto;
  border-radius: 50%;
  border: 4px solid transparent;
  border-top-color: var(--ld-accent);
  border-left-color: var(--ld-accent);
  animation: ld-rot .7s linear infinite;
  will-change: transform; /* ok aqui */
}

@keyframes ld-rot { to { transform: rotate(360deg); } }

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .ld-card, .ld-spinner{ animation: none; transition: none; }
}
.no-scroll{ overflow: hidden; touch-action: none; }
/* SPINNER */
/* SPINNER */
/* SPINNER */
/* SPINNER */
/* SPINNER */

.menu-header{display: flex; gap: 30px;}




/*
checks cadastro
*/


.tipo-cadastro-container {
  max-width: 520px;
  margin: 30px auto;
  padding: 20px;
  border-radius: 12px;
  background: #f9f9f9;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  font-family: Arial, Helvetica, sans-serif;
}

.tipo-cadastro-container h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 20px;
  color: #222;
}

.opcoes-cadastro {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.opcao-cadastro {
  flex: 1;
  cursor: pointer;
}

.opcao-cadastro input {
  display: none;
}

.card-check {
  position: relative;
  height: 100%;
  padding: 18px;
  border-radius: 10px;
  border: 2px solid #ddd;
  background: #fff;
  transition: all 0.25s ease;
}

/* X oculto por padrão */
.check-x {
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 20px;
  font-weight: bold;
  color: #ff7a00;
  opacity: 0;
  transform: scale(0.6);
  transition: all 0.2s ease;
}

.card-check .titulo {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #111;
  margin-bottom: 6px;
}

.card-check .descricao {
  font-size: 14px;
  color: #666;
}

/* Hover */
.opcao-cadastro:hover .card-check {
  border-color: #ff7a00;
  transform: translateY(-2px);
}

/* Quando selecionado */
.opcao-cadastro input:checked + .card-check {
  border-color: #ff7a00;
  background: rgba(255, 122, 0, 0.08);
  box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.15);
}

/* Mostrar o X quando marcado */
.opcao-cadastro input:checked + .card-check .check-x {
  opacity: 1;
  transform: scale(1);
}


input.locked {
  background: #f3f3f3;
  color: #666;
  cursor: not-allowed;
}

#tx_p{
  color: var(--brand-purple);
  font-size: 12px;
  font-weight: bold;
}



