@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
:root{
      --accent:#03302D;           
      --accent-2:#105a53;         
      --ink:#202225;              
      --muted:#6b7280;            
      --bg:#ffffff;               
      --card:#f7f9fb;             
      --ring: rgba(15, 86, 53, 0.35);
      --ok:#2f5c43;
      --radius:16px;
      --shadow:0 10px 30px rgba(0,0,0,.06),0 3px 10px rgba(0,0,0,.04);
    }
    *{
      box-sizing:border-box;
    }

    html,body{
      height:100%;
    }
    body{
      font-family: "Poppins", sans-serif;
      color:var(--ink);
      background:var(--bg);
      margin:0;
      line-height:1.45;
    }
    a{
      color:var(--accent-2);
      text-decoration:none;
    }

    a:hover{
      color:var(--accent);
    }

    /* Container */
    .container{
      margin-top: 115px !important;
      max-width:1100px;
      margin:0 auto;
      padding:24px
    }

    /* Header / Navbar */
    

    /* Drawer (mobile) */
    .drawer{
      display:none;
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.5);
      z-index:60;
    }

    .drawer .panel{
      position:absolute;
      right:0;top:0;height:100%;
      width:82%;max-width:360px;
      background:#fff;
      padding:24px;
      box-shadow:var(--shadow);
      display:flex;flex-direction:column;
      gap:16px;
    }

    .drawer .panel a{
      padding:10px 0;
      border-bottom:1px solid #f1f5f9;
    }

    /* Breadcrumb */
    .crumbs{
      font-size: 0.9rem;
      color:var(--muted);
      margin:18px 0;
      cursor: pointer;
    }

    .crumbs a {
      color: #105a53;
      text-decoration: none;
    }

    .crumbs a:hover {
      text-decoration: underline;
    }


    /* Page Title */
    .title{
      font-size:36px;
      margin:8px 0 18px 0;
    }

    
    /* Forms */
    .section-title{
      font-weight:800;
      color: var(--accent-2);
      font-size:22px;
      margin:6px 0 14px;
    }

    .field{
      display:flex;
      flex-direction:column;
      gap:6px;
    }

    .row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }

    label{
      font-size:12px;
      color:#6b7280;
    }

    input[type="text"],input[type="email"],input[type="tel"],select{
      border:1px solid #e5e7eb;
      border-radius:12px;
      padding:14px;
      background:#fff;
      outline:none;
    }

    input:focus,select:focus{
      border-color:var(--accent);
      box-shadow:0 0 0 4px var(--ring);
    }

    .helper{
      font-size:12px;
      color:#6b7280;
    }

    /* Actions */
    .actions{
      display:flex;
      align-items:center;
      gap:14px;
    }

    .agree{
      display:flex;
      align-items:flex-start;
      gap:0.625rem;
    }

    .b-btn{
      appearance:none;
      border:0;
      border-radius:0.3125rem;
      padding:0.875rem 1.25rem;
      font-size:1rem;
      font-weight:800;
      cursor:pointer;
      transition:transform .06s ease, box-shadow .2s ease;
    }

    .btn-primary{
      background:var(--accent);
      color:#fff;
      box-shadow:0 0.625rem 1.25rem rgba(28, 108, 50, 0.25);
    }

    .btn-primary:hover{
      transform:translateY(-1px);
      background-color: var(--accent-2);
    }

    /* Footer */
    

    /* Floating complaint book */
    .fab{
      position:fixed;
      right:18px;
      bottom:18px;
      background:#111;
      color:#fff;
      border-radius:999px;
      padding:12px 16px;
      box-shadow:var(--shadow);
      font-weight:700;
      z-index:40;
    }

    /* Responsive */
    @media (max-width: 980px){
      .grid{
        grid-template-columns:1fr;
      }
      .row{
        grid-template-columns:1fr;
      }
      .menu{
        display:none;
      }
      .foot{
        grid-template-columns:1fr;
      }
    }

    .text-danger {
      color: red;
    }

    /* Base do alert */
    .alert {
      position: relative;
      padding: 0.75rem 1rem;
      border: 1px solid transparent;
      border-radius: 0.375rem; /* ~6px */
      font-size: 0.95rem;
      line-height: 1.4;
      margin: 1rem 0;
    }

    /* Variantes */
    .alert-danger {
      color: #842029;                /* texto */
      background-color: #f8d7da;     /* bg */
      border-color: #f5c2c7;         /* borda */
    }