﻿html {
  height: 100%;
  min-width: 320px;
  overflow-y: auto;
}

body {
  height: calc(100% - 3px);
  min-width: 320px;
  background-color: #fff;
  background-image: url(../img/backgrounds/bg7.png);
  background-repeat: repeat;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  text-rendering: optimizeLegibility !important;
}

.tooltip {
  text-shadow: none;
  z-index: 9999999;
}

.app-style-list {
  list-style: none;
  margin: 0;
  display: inline-block;
}

.app-style-list:before,
.app-style-list:after {
  display: table;
  line-height: 0;
  content: '';
}

.app-style-list:after {
  clear: both;
}

.app-style-list li {
  margin: 3px;
  float: left;
}

.app-style-list a.thumbnail {
  padding: 4px !important;
  background: white;
  width: auto;
  height: auto;
  margin: auto;
}

.app-style-list a.thumbnail>div {
  width: 20px;
  height: 20px;
}

.btn {
  -webkit-border-radius: 2px;
  border-radius: 2px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.label {
  padding: 2px 10px;
}

.label-success,
.badge-success {
  background-color: #67c268;
}

.transition {
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.layout-body {
  padding-top: 60px;
  position: relative;
}

#wrap {
  height: auto !important;
  margin: 0 auto 10px;
  min-height: 100%;
}

#push,
#footer {
  height: 32px;
}

.tr {
  text-align: right;
}

.gradient-dark-theme {
  background: #444;
  color: #fff;
}

.box-header {
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  cursor: pointer;
  font-size: 11px;
  font-weight: 200;
  letter-spacing: 2px;
  padding: 10px 5px;
  position: relative;
  text-transform: uppercase;
  user-select: none;
}

.box-header i.fas:first-child {
  display: inline-block;
  margin: 0 8px;
  text-align: center;
  width: 20px;
}

.box-header .fa-chevron-down,
.box-header .fa-chevron-up {
  position: absolute;
  right: 10px;
  top: 14px;
}

.box-body {
  -moz-border-radius: 0 0 3px 3px;
  -moz-box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 0 0 3px 3px;
  -webkit-box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.3);
  border-radius: 0 0 3px 3px;
  background: #fff;
  border-radius: 0 0 3px 3px;
  border-top: 0;
  box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.3);
  line-height: 24px;
  padding: 10px 20px;
  position: relative;
}

.login-btn,
.logout-btn {
  background-color: #317eb4;
  color: #fff !important;
  display: block;
  font-size: 11px;
  font-weight: 200;
  letter-spacing: 2px;
  margin: auto;
  padding: 10px 0 !important;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.login-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 !important;
}

.login-btn:hover,
.logout-btn:hover {
  background-color: #3f65ae !important;
  color: #fff !important;
  text-decoration: none !important;
}

.sidebar-nav {
  padding: 9px 0;
}

.brand {
  display: block;
  left: 0;
  line-height: 37px !important;
  margin: auto !important;
  padding: 0 !important;
  position: absolute;
  right: 0;
  text-align: center;
  text-decoration: none;
  width: 100px;
}

.navbar-inverse .navbar-inner {
  -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
  background-color: #444;
  background-image: none;
  border: none;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}

.navbar .dropdown a {
  line-height: 19px;
}

.navbar .dropdown-menu {
  padding: 12px;
}

.navbar .dropdown-menu ul {
  list-style: none;
  margin: 0;
}

.navbar .dropdown-menu ul li a {
  display: block;
  padding: 3px 20px;
  text-decoration: none;
  white-space: nowrap;
}

.navbar .dropdown-menu ul li a:focus {
  background: #f4f4f4 !important;
  color: #333;
}

.navbar .dropdown-menu ul li a:hover {
  background: #f4f4f4 !important;
  color: #333;
}

.tooltip {
  letter-spacing: 0;
}

.nicolist {
  list-style: none;
  margin: 0;
}

.nicolist,
.nicolist li {
  margin-bottom: 4px !important;
}

.nicolist li {
  border: 1px solid #dbdfe0;
  position: relative;
}

.nicolist h3 {
  margin: 0;
}

.nicolist h3 a {
  display: block;
  font-size: 15px;
  font-weight: 400;
  min-height: 40px;
  padding: 0 20px;
}

.nicolist .content {
  font-size: 13px;
}

.search-query-container {
  position: relative;
}

.search-query-container .search-query {
  margin-bottom: 0;
  padding-left: 27px;
  padding-right: 24px;
  text-align: center;
  width: 50%;
}

.search-query-container .fa-search {
  color: #ccc;
  left: 11px;
  position: absolute;
  top: 3px;
}

.search-query-container .clear-query {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  position: absolute;
  right: 18px;
  top: -2px;
}

ul.event-categories {
  list-style: none;
  margin-bottom: 8px;
  margin-left: 0;
  margin-top: 4px;
}

ul.event-categories>li {
  display: inline-block;
}

ul.event-categories li a {
  background-color: #eee;
  border-radius: 4px;
  color: #08c;
  cursor: pointer;
  display: inline-block;
  margin: 3px;
  padding: 4px 10px;
  text-decoration: none;
  font-weight: 300;
}

ul.event-categories li a.selected,
ul.event-categories li a:hover {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.search-settings {
  margin-left: 4px;
}

.search-settings-popover {
  cursor: default;
  left: -7px;
  top: 34px;
  width: 245px;
}

input::-moz-focus-inner {
  border: 0 !important;
}

a {
  outline: 0 !important;
}

legend {
  color: #666;
}

@media (min-width: 1310px) {
  .grid-view .thumbnail,
  .cart-item .thumbnail {
    height: 200px;
    width: 200px;
  }
}

@media (min-width: 1050px) and (max-width: 1310px) {
  .grid-view .thumbnail,
  .cart-item .thumbnail {
    height: 150px;
    width: 150px;
  }
}

@media (max-width: 1050px) {
  .grid-view .thumbnail,
  .cart-item .thumbnail {
    height: 100px;
    width: 90%;
  }
}

.grid-view .thumbnail,
.cart-item .thumbnail {
  cursor: pointer;
  display: inline-block;
  line-height: 20px;
  margin: 5px;
  position: relative;
  border: 1px solid #ede;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 8px;
}

.grid-view .thumbnail .image,
.cart-item .thumbnail .image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  width: 100%;
}

.grid-view li.active a.thumbnail {
  background: #08c;
}

.grid-view .title {
  background: rgba(0, 0, 0, 0.5);
  bottom: 8px;
  left: 8px;
  right: 8px;
  color: #fff;
  letter-spacing: 0;
  padding: 5px;
  position: absolute;
  text-align: center;
}

.grid-view .date {
  color: #ccc;
  font-size: 0.8em;
  margin-right: 10px;
  text-align: center;
}

.list-view .thumbnail {
  -moz-border-radius: none;
  -moz-box-shadow: none;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-border-radius: none;
  -webkit-box-shadow: none;
  border: 0;
  border-radius: none;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  font-weight: 300;
  line-height: 20px;
  margin: 8px 0;
  padding: 0;
  position: relative;
  width: 100%;
}

.list-view a.thumbnail:hover {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  background-color: #eee;
  border-color: inherit;
  box-shadow: none;
}

.list-view blockquote {
  margin-bottom: 0;
}

.list-view a {
  text-decoration: none;
}

.list-view .date {
  color: #999;
  float: left;
  padding: 7px 14px 7px 0;
  text-align: center;
}

.list-view .date .day {
  font-size: 32px;
  line-height: 32px;
  width: 38px;
}

.list-view .date .month {
  font-size: 16px;
}

.list-view .event-info {
  color: #999;
  padding: 7px;
}

.list-view .event-info i {
  margin: 1px 3px 0 0;
}

.list-view .title {
  color: #08c;
  font-size: 17px;
  margin-top: 2px;
}

.list-view .meta a:hover {
  text-decoration: underline;
}

.list-view .meta .tags,
.list-view .meta .time {
  display: inline-block;
  margin-right: 10px;
}

.tc,
.grid-view {
  text-align: center;
}

.logout-btn,
.list-view .meta {
  margin-top: 10px;
}

.navbar-fixed-top .navbar-inner,
.search-query-container .datepicker {
  padding: 0;
}

.list-view .description,
.list-view .meta .time {
  font-style: italic;
}

@media (max-width: 979px) {
  .dropdown-menu:before,
  .dropdown-menu:after {
    border: none !important;
    content: none !important;
  }
}

@media (max-width: 767px) {
  #footer {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.order-actions .dropdown-menu {
  text-align: left;
}

.close-order {
  float: right !important;
  margin-right: 0 !important;
}

.foreign-amount::-webkit-outer-spin-button,
.foreign-amount::-webkit-inner-spin-button,
.amount-to-refund::-webkit-outer-spin-button,
.amount-to-refund::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */
}

.bck {
  padding: 0 !important;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  height: 100%;
  transition: background-image 0.5s;
}
/* ------------------------------------------------------------------
   Tarifications : duplication de catégorie (vignettes), duplication de
   tarifs (« Dupliquer des tarifs ») et vue « Agencer les tarifs ».
   Palette volontairement alignée sur le pilotage : crème / gris, un seul
   accent (#08c) pour les liens, pas de couleurs saturées.
   ------------------------------------------------------------------ */
.rc-modal-wide { width: 94vw; left: 50%; margin-left: -47vw; top: 3%; }
.rc-modal-wide .modal-body { max-height: 80vh; }
.rc-meta { color: #888; font-size: 11px; }
.rc-meta .rc-sep { margin: 0 3px; }
.rc-inactive { color: #999; font-style: italic; }

/* Duplication sélective de catégorie (modale « Nouvelle catégorie de tarif ») */
.dup-modal-wide { width: 94vw; left: 50%; margin-left: -47vw; top: 3%; }
.dup-modal-wide .modal-body { max-height: 80vh; }
.duplicate-rates .help-block { margin-bottom: 0; }
.duplicate-rates-list { margin-top: 6px; }
.dup-group { border: 1px solid #ddd; border-radius: 4px; background: #fbfbf8; margin-bottom: 12px; }
.dup-group-head { padding: 6px 10px; background: #f3f3f0; border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; font-size: 14px; }
.dup-group-tools { float: right; font-size: 12px; font-weight: normal; }
.dup-subgroup { padding: 4px 10px 2px; }
.dup-subgroup + .dup-subgroup { border-top: 1px dashed #e3e3e3; }
.dup-subgroup-head { font-weight: bold; color: #666; padding: 4px 0 2px; }
.dup-tiles { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 0 6px; }
.dup-tile { position: relative; width: 200px; min-height: 60px; padding: 6px 8px 6px 28px; margin: 0; border: 1px solid #e3e3e3; border-radius: 4px; background: #fff; cursor: pointer; box-sizing: border-box; line-height: 1.3; color: #777; }
.dup-tile:hover { border-color: #bbb; }
.dup-tile.checked { border-color: #ccc; background: #f3f3f0; color: #333; }
.dup-tile.archived { opacity: .6; }
.dup-tile input { position: absolute; left: 8px; top: 8px; margin: 0; }
.dup-tile-label { display: block; font-weight: bold; line-height: 1.2; max-height: 2.4em; overflow: hidden; }
.dup-tile-price { display: block; }
.dup-tile-badges { display: block; font-size: 11px; margin-top: 2px; color: #888; }
.dup-sort-group .btn.active { font-weight: bold; }

/* Dupliquer des tarifs (bouton « cloner ») */
.dup-rates-modal { width: 860px; margin-left: -430px; top: 4%; }
.dup-rates-modal .modal-body { max-height: 78vh; }
.dup-rates-options { margin-bottom: 10px; }
.dup-rates-options label { display: inline-block; margin-right: 18px; }
.dup-rates-options input[type=text] { width: 200px; margin: 0 6px; }
.dup-rates-table { width: 100%; }
.dup-rates-table th { text-align: left; }
.dup-rates-table td, .dup-rates-table th { padding: 4px 6px; vertical-align: middle; }
.dup-rates-table tr.dup-head td { background: #f3f3f0; font-weight: bold; padding-top: 8px; }
.dup-rates-table tr.dup-row.checked td { background: #fbfbf8; }
.dup-rates-table tr.dup-row.error td { background: #f7ecec; }
.dup-rates-table input.new-price { width: 70px; text-align: right; margin: 0; }
.dup-rates-table .price { text-align: right; white-space: nowrap; }
.dup-rates-table .muted-row { opacity: .55; }

/* Agencer les tarifs (tableau groupes / sous-groupes) */
.arr-modal { width: 96vw; left: 50%; margin-left: -48vw; top: 2%; }
.arr-modal .modal-body { max-height: 84vh; overflow-x: auto; overflow-y: auto; }
.arr-hint { font-size: 12px; margin-bottom: 8px; }
.arr-board { display: flex; align-items: flex-start; gap: 12px; min-height: 300px; }
.arr-col { flex: 0 0 280px; width: 280px; background: #fbfbf8; border: 1px solid #ddd; border-radius: 4px; }
.arr-col-head { padding: 8px 10px; font-size: 14px; font-weight: bold; background: #f3f3f0; border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; }
.arr-col-head .muted { font-weight: normal; font-size: 12px; }
.arr-col-body { padding: 6px; }
.arr-zone { background: #fff; border: 1px dashed #e3e3e3; border-radius: 4px; margin-bottom: 8px; }
.arr-zone-head { padding: 4px 8px; font-size: 12px; font-weight: bold; color: #666; border-bottom: 1px dashed #e3e3e3; }
.arr-zone-head .muted { font-weight: normal; }
.arr-tiles { min-height: 34px; padding: 6px; }
.arr-tile { position: relative; padding: 5px 8px 5px 22px; margin: 0 0 5px; border: 1px solid #e3e3e3; border-radius: 4px; background: #fbfbf8; cursor: move; line-height: 1.25; box-sizing: border-box; }
.arr-tile:hover { border-color: #bbb; background: #f3f3f0; }
.arr-tile.inactive { opacity: .55; }
.arr-tile .arr-grip { position: absolute; left: 6px; top: 7px; color: #bbb; }
.arr-tile-label { display: block; font-weight: bold; }
.arr-tile-meta { display: block; font-size: 11px; color: #888; margin-top: 1px; }
.arr-placeholder { border: 1px dashed #bbb; background: #f3f3f0; border-radius: 4px; height: 40px; margin: 0 0 5px; }
.arr-add { display: block; padding: 4px 8px; font-size: 12px; }
.arr-add-col { flex: 0 0 200px; width: 200px; padding: 8px; }
.arr-inline { display: none; padding: 4px 8px 8px; }
.arr-inline input { width: 92%; margin: 0 0 4px; }
.arr-inline .btn { margin-right: 4px; }
.arr-saving { color: #08c; font-size: 12px; margin-left: 10px; }

/* Liseré « Publier en ligne » (même code couleur que l'accordéon des tarifs : vert #BBDAA8 / gris #DFDFDE) */
.dup-tile, .arr-tile { border-left: 5px solid #DFDFDE; }
.dup-tile.rc-online, .arr-tile.rc-online { border-left-color: #BBDAA8; }
.dup-rates-table tr.dup-row td:first-child { border-left: 5px solid #DFDFDE; }
.dup-rates-table tr.dup-row.rc-online td:first-child { border-left-color: #BBDAA8; }
.rc-kiosk { color: #9fbbd6; font-size: 11px; margin-left: 2px; }
.dup-tile, .arr-tile { padding-right: 22px; }
.dup-tile .rc-kiosk, .arr-tile .rc-kiosk { position: absolute; right: 7px; top: 6px; margin: 0; font-size: 12px; }
.dup-rates-table tr.dup-row td:first-child { padding-left: 12px; }
.dup-rates-table th:first-child { padding-left: 12px; }
.dup-rates-options .checkbox input { margin-top: 2px; }
.dup-rates-table tr.dup-row td:first-child { width: 16px; padding-left: 14px; padding-right: 0; }
.dup-rates-table tr.dup-row td:first-child input { margin: 0; }
.dup-tile { padding-left: 34px; }
.dup-tile input { left: 14px; }
.dup-tile-badges { margin-top: 1px; }
/* Sélection des tarifs dans « Nouvelle catégorie de tarif » : même tableau que « Dupliquer des tarifs » */
.dup-modal-wide { width: 860px; margin-left: -430px; top: 4%; }
.dup-modal-wide .modal-body { max-height: 78vh; }
.duplicate-rates-list .dup-rates-table { margin-bottom: 0; }
/* Sans colonne de saisie, les lignes sont plus basses : on rétablit la même hauteur que « Dupliquer des tarifs » */
.duplicate-rates-list .dup-rates-table tr.dup-row td { padding-top: 8px; padding-bottom: 8px; }
.duplicate-rates-list .dup-rates-table tr.dup-head td { padding-top: 10px; padding-bottom: 6px; }
/* Hauteur des modales : entête + corps + pied doivent tenir dans l'écran (pied toujours visible) */
.dup-modal-wide .modal-body, .dup-rates-modal .modal-body { max-height: calc(100vh - 230px); }
.dup-modal-wide .modal-body, .dup-rates-modal .modal-body { max-height: calc(100vh - 290px); }
/* « Agencer les tarifs » : Bootstrap applique .modal.fade.in { top: 10% }, plus spécifique que
   .arr-modal { top: 2% }, et le max-height d'une boîte content-box exclut les 2 x 20px de padding.
   Résultat : le pied de la modale (bouton « Fermer ») sortait sous le bas de l'écran. */
.arr-modal.fade.in { top: 2%; }
.arr-modal .modal-body { box-sizing: border-box; max-height: calc(96vh - 130px); }

/* Pastilles Groupe / Sous-groupe de la fiche tarif : même style que les catégories du point de vente (ul.event-categories) */
.rc-pills { padding-top: 2px; line-height: 1; }
.rc-pill { display: inline-block; white-space: nowrap; background-color: #eee; border-radius: 4px; color: #08c; cursor: pointer; margin: 3px 3px 3px 0; padding: 4px 10px; text-decoration: none; font-weight: 300; }
.rc-pill:hover, .rc-pill.active { background-color: #008dcd; color: #fff; text-decoration: none; transition: all 0.2s ease-in-out; }
.rc-pill.disabled { opacity: .5; cursor: default; }
.rc-pill.disabled:hover { background-color: #eee; color: #08c; }
.rc-pills-empty { font-size: 12px; line-height: 28px; }

/* Ajout d'un groupe / sous-groupe depuis une fiche tarif */
.rc-pill-add { font-weight: bold; padding: 4px 8px; }
