/* Ambiance de la page d'accès : les autres écrans du compte gardent leur présentation. */
body:has(#account-guest:not([hidden])) {
  min-height: 100vh;
  background-color: #9ca99a;
  background-image: linear-gradient(#38433440, #38433440), url('../img/compte/jardin-illustre.webp');
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
body:not(.account-popup):has(#account-guest:not([hidden])) :is(#header, #header_space, #footer) {
  display: none;
}
body:not(.account-popup):has(#account-guest:not([hidden])) #page {
  min-height: 100vh;
  background: transparent;
}
body:not(.account-popup):has(#account-guest:not([hidden])) .account {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100svh;
  padding: 104px 24px 45px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.account #account-guest {
  position: relative;
  box-sizing: border-box;
  width: min(500px, 100%);
  margin: 28px 0 0;
  padding: 30px 42px 32px;
  color: #173c28;
  background: #f2eadb;
  border: 1px solid #d9ceb8;
  border-radius: 27px;
  box-shadow: 0 15px 45px #2a321d40, inset 0 1px #fffdf5;
}
.account #account-guest > :not(.account-garden-brand, .account-garden-squirrel) {
  position: relative;
  z-index: 3;
}
.account #account-guest .account-garden-brand {
  position: absolute;
  z-index: 3;
  left: 0;
  bottom: calc(100% + 15px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #143a24;
  text-decoration: none;
  text-shadow: 0 1px 8px #fff9e9cc;
  font: 700 24px/.92 Georgia, serif;
}
.account #account-guest .account-garden-brand img {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: contain;
}
.account #account-guest .account-garden-squirrel {
  position: absolute;
  z-index: 2;
  display: block;
  width: min(590px, 48vw);
  height: auto;
  max-width: none;
  right: calc(100% - 145px);
  top: 19%;
  pointer-events: none;
  filter: saturate(.8) brightness(.93) drop-shadow(0 7px 7px #172b1833);
}
.account #account-guest .account-tabs {
  display: flex;
  gap: 0;
  margin: 0 0 22px;
  border-bottom: 1px solid #e9dfca;
}
.account #account-guest .account-tabs button {
  flex: 1 1 50%;
  min-height: 44px;
  padding: 10px 6px 11px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #293b2e;
  font: 700 14px/1.2 Arial, sans-serif;
}
.account #account-guest .account-tabs button[aria-selected=true] {
  color: #173d2b;
  border-bottom-color: #245f40;
  background: transparent;
}
.account #account-guest h2 {
  margin: 0 0 6px;
  color: #163b27;
  text-align: center;
  font: 700 clamp(23px, 2.2vw, 28px)/1.2 Georgia, serif;
}
.account #account-guest .account-garden-subtitle {
  margin: 0 0 18px;
  color: #425849;
  font: 13px/1.45 Arial, sans-serif;
  text-align: center;
}
.account #account-guest h3 {
  margin: 0 0 9px;
  color: #1c3323;
  font: 700 14px/1.35 Arial, sans-serif;
}
.account #account-guest .account-google {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.account #account-guest .account-google-button { margin: 8px 0; }
.account #account-guest #google-status { margin: 0 0 7px; font-size: 12px; line-height: 1.35; }
.account #account-guest #google-intro,
.account #account-guest #account-google:has(#google-button:not(:empty)) #google-status:not(.is-error) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.account #account-guest .account-auth-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 14px 0;
  color: #26372a;
  font: 700 13px Arial, sans-serif;
}
.account #account-guest .account-auth-divider::before,
.account #account-guest .account-auth-divider::after { content: ''; height: 1px; flex: 1; background: #ded4bf; }
.account #account-guest form { display: grid; max-width: none; gap: 13px; }
.account #account-guest label { color: #26392a; gap: 5px; font: 700 13px/1.35 Arial, sans-serif; }
.account #account-guest input:not([type=checkbox]) {
  min-height: 43px;
  padding: 10px 12px 10px 39px;
  border: 1px solid #bfc4b6;
  border-radius: 7px;
  background-color: #faf6ec;
  background-position: 12px center;
  background-repeat: no-repeat;
  background-size: 17px 17px;
  color: #26392a;
  font: 15px/1.3 Arial, sans-serif;
}
.account #account-guest input[type=email] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333d32' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
.account #account-guest input[autocomplete=current-password],
.account #account-guest input[autocomplete=new-password] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333d32' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3m-4 5v2'/%3E%3C/svg%3E"); }
.account #account-guest .account-password-field input:not([type=checkbox]) { padding-inline-end: 53px; }
.account #account-guest :is(form[data-account-action=login], form[data-account-action=register]) > button[type=submit] {
  justify-self: center;
  width: min(270px, 100%);
  min-height: 45px;
  margin-top: 3px;
  border-color: #245a37;
  border-radius: 9px;
  background: #245a37;
  color: #fffbee;
}
.account #account-guest :is(form[data-account-action=login], form[data-account-action=register]) > button[type=submit]::before {
  --account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E");
  background: currentColor;
}
.account #account-guest :is(form[data-account-action=login], form[data-account-action=register]) > button[type=submit]:hover { background: #34764a; border-color: #34764a; }
.account #account-guest .account-details { margin-top: 12px; padding-top: 0; border: 0; }
.account #account-guest .account-details > summary { padding: 3px 0; color: #24553a; text-align: center; font-size: 13px; list-style: none; }
.account #account-guest .account-details > summary::-webkit-details-marker { display: none; }
.account #account-guest .account-details > summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.account #account-guest .account-details[open] > summary { margin-bottom: 12px; }
.account #account-guest .account-check { display: flex; align-items: flex-start; font-weight: 400; }
.account #account-guest .account-check input { padding: 0; }
.account #account-guest .account-fine { line-height: 1.45; }
.account-popup:has(#account-guest:not([hidden])) .account { min-height: 100vh; box-sizing: border-box; }
.account-popup #account-guest { margin: 15px 0 0; padding: 22px; border-radius: 20px; }
.account-popup #account-guest :is(.account-garden-brand, .account-garden-squirrel) { display: none; }
.account-popup:has(#account-guest:not([hidden])) .account-intro { padding: 14px; border-radius: 14px; background: #fff8e9ee; }
@media (min-width: 761px) and (max-height: 760px) {
  body:not(.account-popup):has(#account-guest:not([hidden])) .account { padding-top: 80px; padding-bottom: 22px; }
  .account #account-guest { margin-top: 12px; padding-top: 24px; padding-bottom: 24px; }
  .account #account-guest .account-tabs { margin-bottom: 16px; }
}
@media (max-width: 760px) {
  body:not(.account-popup):has(#account-guest:not([hidden])) .account { justify-content: flex-start; padding: 32px 18px 42px; }
  .account #account-guest { margin-top: 125px; padding: 25px 25px 28px; }
  .account #account-guest .account-garden-brand { bottom: calc(100% + 25px); box-sizing: border-box; padding-left: 95px; }
  .account #account-guest .account-garden-squirrel { width: 200px; left: -18px; right: auto; top: -105px; }
  .account-popup #account-guest { margin-top: 15px; }
}
@media (max-width: 380px) {
  .account #account-guest { padding: 22px 18px 26px; }
  .account #account-guest .account-garden-brand { font-size: 21px; }
  .account #account-guest .account-garden-brand img { width: 48px; height: 48px; }
  .account #account-guest .account-garden-squirrel { width: 170px; left: -18px; top: -90px; }
}
