/*
 * Village contemporain
 * Fondations visuelles communes. Cette feuille est chargee en dernier afin
 * d'isoler la modernisation progressive des styles historiques.
 */

:root{
  --mp-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mp-font-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mp-line-height-body:1.55;
  --mp-color-ink:#173247;
  --mp-color-text:#2c3d47;
  --mp-color-muted:#61727b;
  --mp-color-primary:#356f25;
  --mp-color-primary-hover:#2b5d1f;
  --mp-color-accent:#f2c14e;
  --mp-color-link:#245f95;
  --mp-color-link-hover:#173f63;
  --mp-color-link-visited:#405f78;
  --mp-color-focus:#2f78b4;
  --mp-color-action-blue:#245f95;
  --mp-color-action-orange:#ad5507;
  --mp-color-danger:#a93630;
  --mp-color-field-border:#b8c8c0;
  --mp-color-field-border-hover:#8ea398;
  --mp-color-field-disabled:#edf1ef;
  --mp-color-danger-surface:#fff3f2;
  --mp-color-success-surface:#f2f8ee;
  --mp-color-canvas:#faf8f2;
  --mp-color-page:#fffdf9;
  --mp-color-surface:#fff;
  --mp-color-border:#dbe3df;
  --mp-radius-small:6px;
  --mp-radius-medium:10px;
  --mp-radius-large:14px;
  --mp-shadow-soft:0 4px 14px rgba(23,50,71,.08);
  --mp-shadow-raised:0 8px 24px rgba(23,50,71,.12);
  --mp-shadow-button:0 2px 5px rgba(23,50,71,.12);
  --mp-shadow-button-hover:0 7px 16px rgba(23,50,71,.16);
  --mp-space-1:4px;
  --mp-space-2:8px;
  --mp-space-3:12px;
  --mp-space-4:16px;
  --mp-space-5:24px;
  --mp-space-6:32px;
}

html,
body{
  background-color:var(--mp-color-canvas)!important;
}

body,
input,
select,
textarea,
button{
  color:var(--mp-color-text);
  font-family:var(--mp-font-sans);
}

body{
  line-height:var(--mp-line-height-body);
}

#wrap,
#content-wrap{
  background-color:var(--mp-color-page)!important;
}

#main,
#sidebar{
  color:var(--mp-color-text);
}

#main h1,
#main h2,
#main h3,
#sidebar h2,
#sidebar h3{
  font-family:var(--mp-font-heading)!important;
  letter-spacing:-.015em;
}

#main h1{
  letter-spacing:-.025em;
}

a{
  color:var(--mp-color-link);
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

a:hover{
  color:var(--mp-color-link-hover);
}

#main .text a:visited,
.page-annonce-detail .annonce-detail a:visited,
#sidebar .text a:visited{
  color:var(--mp-color-link-visited);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
.category-picker-trigger:focus-visible,
.category-picker-close:focus-visible,
.category-picker-search-input:focus-visible,
.category-picker-back:focus-visible,
.category-picker-choice:focus-visible,
.category-picker-parent:focus-visible,
.category-picker-cancel:focus-visible,
.category-picker-confirm:focus-visible,
.location-picker-breadcrumb:focus-visible{
  outline:3px solid var(--mp-color-focus)!important;
  outline-offset:3px!important;
}

.boutoncss3,
.primaryAction,
.buttons a,
.buttons button,
.message-primary-action,
.message-secondary-action,
input.btTxt,
input[type="submit"],
button[type="submit"]{
  border-radius:var(--mp-radius-medium);
  font-family:var(--mp-font-sans);
  letter-spacing:.005em;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease,transform .16s ease;
}

.boutoncss3,
.buttons a,
.buttons button,
.message-secondary-action,
input.btTxt{
  background:linear-gradient(180deg,#fff 0%,#f5f8f4 100%);
  border-color:var(--mp-color-border);
  box-shadow:var(--mp-shadow-button);
  color:var(--mp-color-ink)!important;
}

.primaryAction,
.boutoncss3.green,
.message-primary-action{
  background:linear-gradient(180deg,#417f2e 0%,var(--mp-color-primary) 100%);
  border-color:var(--mp-color-primary-hover);
  box-shadow:0 3px 8px rgba(43,93,31,.2);
}

.boutoncss3.blue{
  background:linear-gradient(180deg,#2f75ab 0%,var(--mp-color-action-blue) 100%);
  border-color:#1b4d79;
}

.boutoncss3.orange,
.annonce-ajouter-form .depot-submit{
  background:linear-gradient(180deg,#b85d0d 0%,var(--mp-color-action-orange) 100%);
  border-color:#a5530e;
}

.boutoncss3.red,
.buttons a.negative,
button.negative{
  background:linear-gradient(180deg,#bd4740 0%,var(--mp-color-danger) 100%);
  border-color:#84251f;
}

@media (hover:hover){
  .boutoncss3:hover,
  .primaryAction:hover,
  .buttons a:hover,
  .buttons button:hover,
  .message-primary-action:hover,
  .message-secondary-action:hover,
  input.btTxt:hover,
  input[type="submit"]:hover,
  button[type="submit"]:hover{
    box-shadow:var(--mp-shadow-button-hover);
    filter:none;
    transform:translateY(-1px);
  }
}

.boutoncss3:active,
.primaryAction:active,
.buttons a:active,
.buttons button:active,
.message-primary-action:active,
.message-secondary-action:active{
  transform:translateY(0);
}

@media (prefers-reduced-motion:reduce){
  .boutoncss3,
  .primaryAction,
  .buttons a,
  .buttons button,
  .message-primary-action,
  .message-secondary-action,
  input.btTxt,
  input[type="submit"],
  button[type="submit"]{
    transition:none;
  }
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea,
.uniForm .textInput,
.uniForm select,
.uniForm textarea{
  background-color:var(--mp-color-surface);
  border:1px solid var(--mp-color-field-border);
  border-radius:var(--mp-radius-small);
  box-sizing:border-box;
  color:var(--mp-color-text);
  font-family:var(--mp-font-sans);
  line-height:1.4;
  min-height:42px;
  padding:10px 12px;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}

textarea{
  resize:vertical;
}

select{
  cursor:pointer;
}

input::placeholder,
textarea::placeholder{
  color:var(--mp-color-muted);
  opacity:1;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
input[type="password"]:hover,
input[type="search"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="time"]:hover,
select:hover,
textarea:hover,
.uniForm .textInput:hover{
  border-color:var(--mp-color-field-border-hover);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus,
.uniForm .ctrlHolder .textInput:focus,
.uniForm .ctrlHolder select:focus,
.uniForm .ctrlHolder textarea:focus{
  background-color:#fff;
  border-color:var(--mp-color-focus)!important;
}

input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="tel"]:disabled,
input[type="url"]:disabled,
input[type="password"]:disabled,
input[type="search"]:disabled,
input[type="number"]:disabled,
input[type="date"]:disabled,
input[type="time"]:disabled,
select:disabled,
textarea:disabled,
.uniForm .textInput:disabled{
  background-color:var(--mp-color-field-disabled)!important;
  border-color:var(--mp-color-border)!important;
  color:var(--mp-color-muted)!important;
  cursor:not-allowed;
  opacity:1;
}

input[type="text"][readonly],
input[type="email"][readonly],
input[type="tel"][readonly],
input[type="url"][readonly],
input[type="password"][readonly],
input[type="search"][readonly],
input[type="number"][readonly],
input[type="date"][readonly],
input[type="time"][readonly],
textarea[readonly],
.uniForm .textInput[readonly]{
  background-color:#f6f8f6;
}

@media (prefers-reduced-motion:reduce){
  input,
  select,
  textarea{
    transition:none;
  }
}

.uniForm label,
.uniForm .label{
  color:var(--mp-color-ink);
  font-family:var(--mp-font-sans);
  line-height:1.4;
}

.uniForm .formHint,
.uniForm .blockLabels .formHint,
.uniForm .inlineLabels .formHint{
  color:var(--mp-color-muted);
  font-size:13px;
  line-height:1.45;
}

.required-marker{
  color:var(--mp-color-danger);
  font-weight:700;
}

.uniForm #errorMsg{
  background:var(--mp-color-danger-surface);
  border:1px solid #dfb0ad;
  border-left:5px solid var(--mp-color-danger);
  border-radius:var(--mp-radius-small);
  color:#70231f;
  line-height:1.45;
  margin:0 0 var(--mp-space-4);
  padding:12px 14px;
}

.uniForm #errorMsg dt,
.uniForm #errorMsg h3{
  color:#70231f;
  line-height:1.35;
  margin:0 0 var(--mp-space-2);
}

.uniForm #errorMsg ol{
  margin:0;
  padding-left:20px;
}

.uniForm #errorMsg ol li{
  border-bottom:0;
  line-height:1.4;
  padding:3px 0;
}

.uniForm .errorField{
  background:var(--mp-color-danger-surface);
  border:0;
  border-left:4px solid var(--mp-color-danger);
  border-radius:var(--mp-radius-small);
  color:#70231f;
  line-height:1.4;
  margin:0 0 var(--mp-space-2);
  padding:8px 10px;
}

.uniForm #OKMsg{
  background:var(--mp-color-success-surface);
  border:1px solid #bfd5b2;
  border-left:5px solid var(--mp-color-primary);
  border-radius:var(--mp-radius-small);
  color:#28551d;
  line-height:1.45;
  margin:0 0 var(--mp-space-4);
  padding:12px 14px;
}

.access-request-form .ctrlHolder.error{
  background:transparent;
  border:0;
}

.access-request-form .ctrlHolder.error .errorField{
  align-items:center;
  background:#fff8f7;
  border:1px solid #e5bbb8;
  border-radius:var(--mp-radius-small);
  color:#70231f;
  display:inline-flex;
  font-size:14px;
  gap:8px;
  margin:0 0 10px;
  max-width:100%;
  padding:8px 10px;
  width:auto;
}

.access-request-form .ctrlHolder.error .errorField::before{
  align-items:center;
  background:var(--mp-color-danger);
  border-radius:50%;
  color:#fff;
  content:"!";
  display:inline-flex;
  flex:0 0 20px;
  font:bold 13px/1 var(--mp-font-sans);
  height:20px;
  justify-content:center;
  width:20px;
}

.access-request-form .ctrlHolder.error .errorField strong{
  font-weight:700;
}

.access-request-form .ctrlHolder.error .textInput{
  border-color:var(--mp-color-danger)!important;
  box-shadow:0 0 0 3px rgba(169,54,48,.1);
}

::selection{
  background:var(--mp-color-accent);
  color:var(--mp-color-ink);
}
