
.box {
  border: 1px solid rgba(255, 149, 1, 0.46);
  padding: 30px 25px 10px 25px;
  background: rgba(255, 149, 1, 0.46);
  margin: 30px auto;
  width: 360px;
  border-radius: 10px; /* Ajout de la propriété border-radius */
}
h1.box-logo a {
  text-decoration:none;
}
h1.box-title {
  font-weight: 300;
  padding: 15px 25px;
  line-height: 30px;
  font-size: 25px;
  text-align:center;
  margin: -27px -26px 26px;
}
.box-button {
  border-radius: 5px;
  background: #d2483c;
  text-align: center;
  cursor: pointer;
  font-size: 19px;
  width: 100%;
  height: 51px;
  padding: 0;
  color: #fff;
  border: 0;
  outline:0;
}
.box-register
{
  text-align:center;
  margin-bottom:0px;
}
.box-register a
{
  text-decoration:none;
  font-size:12px;
  color:#666;
}
.box-input {
  font-size: 14px;
  background: #fff;
  border: 1px solid #ddd;
  margin-bottom: 25px;
  padding-left:10px;
  border-radius: 5px;
  width: 100%;
  height: 50px;
  box-sizing: border-box;
}
.box-input:focus {
    outline: none;
    border-color:#5c7186;
}
.sucess{
	text-align: center;
	color: white;
}
.sucess a {
	text-decoration: none;
	color: #58aef7;
}
p.errorMessage {
    background-color: #e66262;
    border: #AA4502 1px solid;
    padding: 5px 10px;
    color: #FFFFFF;
    border-radius: 3px;
}

:root{
  --orange:#f48a2d;
  --orange-dark:#d2483c;
  --bg:#efefef;
  --text:#7f7f7f;
  --title:#7a7a7a;
  --white:#ffffff;
  --line:#e5e5e5;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html, body{
  margin:0;
  padding:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--text);
}

body{
  min-height:100vh;
}

.header{
  width:100%;
  background:var(--orange);
  min-height:305px;
  position:relative;
  overflow:hidden;
}

.header::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("./img/hero-benevoles.png") center top / contain no-repeat;
  opacity:1;
  pointer-events:none;
}

.bar{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  padding:18px 18px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  z-index:2;
  background:transparent;
  box-shadow:none;
}

.brand{
  display:flex;
  align-items:center;
}

.title{
  color:#fff;
  font-size:17px;
  font-weight:700;
}

.nav{
  display:flex;
  align-items:center;
  gap:34px;
}

.nav a{
  color:#fff;
  text-decoration:none;
  font-size:17px;
  font-weight:400;
  background:none;
  border:none;
  padding:0;
}

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

.nav .btn,
.nav .badgeUser{
  background:none;
  border:none;
  box-shadow:none;
  padding:0;
  color:#fff;
  font-size:17px;
  font-weight:400;
  border-radius:0;
}

.nav .btn{
  cursor:pointer;
  min-width:auto;
  height:auto;
}

.nav .btn:hover{
  text-decoration:underline;
  transform:none;
  opacity:1;
}

.badgeUser{
  white-space:nowrap;
}

.header-hero-title{
  position:relative;
  z-index:2;
  max-width:1100px;
  margin:58px auto 0;
  text-align:center;
  color:#fff;
  font-size:34px;
  font-weight:300;
  line-height:1.25;
  padding:0 20px;
}

.wrap{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px 40px;
}

.notice{
  background:#f7f7f7;
  padding:56px 42px;
  margin-top:0;
  border:none;
  border-radius:0;
  box-shadow:none;
}

.notice h1,
.notice h2,
.notice h3{
  color:var(--title);
  margin:0 0 18px;
  font-size:28px;
  font-weight:700;
  line-height:1.2;
}

.notice p{
  color:var(--text);
  font-size:17px;
  line-height:1.7;
  margin:0 0 18px;
}

.muted{
  color:var(--text);
}

.tiles{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin-top:18px;
}

.tile{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#f7f7f7;
  border:1px solid #e6e6e6;
  border-radius:16px;
  padding:18px;
  box-shadow:none;
  transition:.15s ease;
}

.tile:hover{
  border-color:#d8d8d8;
  transform:none;
}

.tile .top{
  display:flex;
  align-items:center;
  gap:12px;
}

.badge{
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:23px;
  font-weight:700;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
  flex:0 0 auto;
}

.bg-accueil{
  background:linear-gradient(180deg, #ffae47, #ef8f2f);
}

.bg-log{
  background:linear-gradient(180deg, #37d4bd, #1ab3a0);
}

.bg-admin{
  background:linear-gradient(180deg, #a276ff, #7d55de);
}

.bg-repas,
.bg-scan{
  background:linear-gradient(180deg, #f7f7f7, #ececec);
  color:#fff;
}

.t-title{
  margin:0 0 4px;
  font-size:20px;
  font-weight:700;
  color:#111;
}

.t-sub{
  margin:0;
  font-size:15px;
  color:#6c7895;
}

.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:28px 20px;
  z-index:1000;
}

.modal.show{
  display:flex;
}

.dialog{
  width:100%;
  max-width:680px;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.dialog > header,
.dialog > footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 22px;
  border-bottom:1px solid #ededed;
}

.dialog > footer{
  border-bottom:none;
  border-top:1px solid #ededed;
  justify-content:flex-end;
}

.dialog > main{
  padding:24px 22px;
}

.dialog strong{
  font-size:18px;
  color:#222;
}

label{
  display:block;
  font-size:16px;
  color:#222;
  margin-bottom:12px;
}

input,
select,
textarea{
  width:100%;
  border:1px solid #ddd;
  border-radius:10px;
  height:50px;
  padding:0 14px;
  background:#fff;
  font:inherit;
  color:#222;
  outline:none;
}

textarea{
  height:auto;
  min-height:120px;
  padding:14px;
  resize:vertical;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#5c7186;
}

.help{
  margin:10px 0 0;
  font-size:14px;
  color:#6f6f6f;
}

.btn{
  border-radius:5px;
  background:#d2483c;
  text-align:center;
  cursor:pointer;
  font-size:19px;
  width:auto;
  min-width:180px;
  height:51px;
  padding:0 22px;
  color:#fff;
  border:0;
  outline:0;
  box-shadow:none;
}

.btn:hover{
  transform:none;
  opacity:.95;
}

.btn.small{
  font-size:17px;
  height:auto;
  min-width:unset;
}

.btn.outline{
  background:#fff;
  color:var(--orange-dark);
  border:1px solid var(--orange-dark);
}

.errorMessage{
  background-color:#e66262;
  border:#AA4502 1px solid;
  padding:5px 10px;
  color:#FFFFFF;
  border-radius:3px;
  margin-top:10px;
}

.footer{
  width:100%;
  margin:0;
  background:var(--orange);
  color:#fff;
  text-align:center;
  padding:22px 20px 28px;
  font-size:14px;
}

.footer a{
  color:#fff;
}

@media (max-width: 900px){
  .header{
    min-height:250px;
  }

  .header-hero-title{
    font-size:28px;
    margin-top:48px;
  }
}

@media (max-width: 760px){
  .bar{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .nav{
    gap:18px;
    flex-wrap:wrap;
  }

  .header-hero-title{
    font-size:24px;
    margin-top:36px;
  }

  .notice{
    padding:34px 22px;
  }

  .notice h1,
  .notice h2,
  .notice h3{
    font-size:24px;
  }

  .notice p{
    font-size:16px;
  }

  .tile{
    padding:16px;
  }

  .t-title{
    font-size:18px;
  }
}

.nav {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.nav a {
  font-size: 14px;
  padding: 6px 8px;
}

.user-pill {
  font-size: 13px;
  padding: 6px 10px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .nav {
    font-size: 13px;
  }

  .user-pill {
    max-width: 150px;
  }

  .btn {
    padding: 6px 10px;
    font-size: 13px;
  }
}