#adm-galerie-wrap { font-family: 'Cormorant Garamond',Georgia,serif; color: #141419; background: #FAF7ED; }
.adm-galerie-header { text-align: center; padding: 40px 20px 20px; border-bottom: 1px solid #8B7500; margin-bottom: 32px; }
.adm-hero-title { font-size: 32px; line-height: 1.3; color: #141419; margin: 0 0 12px; font-weight: 400; letter-spacing: .08em; border: none; }
.adm-hero-baseline { font-style: italic; font-size: 16px; line-height: 1.5; color: #8B7500; margin: 0; font-weight: 500; letter-spacing: .04em; }
.adm-galerie-header p { color: #5a5050; font-size: 13px; margin: 0; font-weight: 600; }
.adm-total-count { text-align: center; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; color: #8B7500; margin: 0 0 16px; font-weight: 600; }
#adm-filters { display: flex; flex-wrap: wrap; gap: 16px; padding: 0 20px 24px; align-items: flex-end; border-bottom: 1px solid #d8d0c0; margin-bottom: 28px; }
.adm-filter-group { display: flex; flex-direction: column; gap: 6px; }
.adm-filter-group label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #8B7500; }
.adm-filter-group select,
.adm-filter-group input[type="search"] { background: #FFFFFF; border: 1px solid #c8c0b0; color: #141419; padding: 8px 12px; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 15px; font-weight: 600; min-width: 180px; }
.adm-filter-group select option { color: #141419; font-weight: 600; font-size: 15px; background: #FFFFFF; }
.adm-filter-group select:focus,
.adm-filter-group input[type="search"]:focus { outline: 1px solid #8B7500; }
.adm-price-wrap { position: relative; width: 220px; }
.adm-price-row { display: flex; justify-content: space-between; font-size: 11px; color: #8B7500; letter-spacing: .05em; margin-bottom: 4px; }
.adm-price-track { position: relative; height: 4px; background: #e0d8c8; border-radius: 2px; margin: 10px 0 6px; }
.adm-price-range-fill { position: absolute; height: 4px; background: #8B7500; border-radius: 2px; pointer-events: none; }
.adm-price-wrap input[type="range"] {
  position: absolute; top: -4px; width: 100%; height: 4px;
  -webkit-appearance: none; appearance: none;
  background: transparent; pointer-events: none;
}
.adm-price-wrap input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 14px; height: 14px; border-radius: 50%;
  background: #8B7500; cursor: pointer; pointer-events: all;
  border: 2px solid #FAF7ED; box-shadow: 0 0 0 1px #8B7500;
}
.adm-price-wrap input[type="range"]::-moz-range-thumb {
  width: 14px; height: 14px; border-radius: 50%;
  background: #8B7500; cursor: pointer; pointer-events: all;
  border: 2px solid #FAF7ED; box-shadow: 0 0 0 1px #8B7500;
}
#adm-grand-format-wrap, #adm-ambiance-wrap { display: flex; align-items: center; gap: 8px; padding-top: 20px; }
#adm-grand-format-wrap input[type="checkbox"], #adm-ambiance-wrap input[type="checkbox"] { accent-color: #8B7500; width: 14px; height: 14px; cursor: pointer; flex-shrink: 0; }
#adm-grand-format-wrap label, #adm-ambiance-wrap label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #8B7500; cursor: pointer; line-height: 1.3; }
#adm-search { background: #FFFFFF; border: 1px solid #c8c0b0; color: #141419; padding: 8px 12px; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 15px; font-weight: 600; min-width: 220px; }
#adm-search::placeholder { color: #8B7500; opacity: .5; }
#adm-count { font-size: 11px; color: #8B7500; letter-spacing: .1em; padding-top: 20px; margin-left: auto; }
#adm-load-more-wrap { text-align: center; padding: 32px 20px 48px; }
#adm-load-more { background: #141419; color: #FAF7ED; border: none; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; padding: 12px 32px; cursor: pointer; display: inline-block; }
#adm-load-more:hover { background: #8B7500; color: #FAF7ED; }
#adm-load-more-info { font-size: 11px; color: #8a8070; margin-top: 10px; letter-spacing: .05em; }
#adm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; padding: 0 20px 40px; }
.adm-card { cursor: pointer; border: 1px solid #e0d8c8; background: #FFFFFF; transition: border-color .2s, transform .2s, box-shadow .2s; }
.adm-card:hover { border-color: #8B7500; transform: translateY(-2px); box-shadow: 0 4px 20px rgba(139,117,0,.12); }
.adm-card-img-wrap { overflow: hidden; }
.adm-card img { width: 100%; display: block; opacity: 0; transition: opacity .4s; }
.adm-card img.loaded { opacity: 1; }
.adm-card-info { padding: 12px 14px 14px; }
.adm-card-artist { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #8B7500; margin: 0 0 4px; }
.adm-card-title { font-size: 14px; color: #141419; margin: 0 0 6px; font-style: italic; }
.adm-card-meta { font-size: 11px; color: #8a8070; display: flex; justify-content: space-between; gap: 8px; }
.adm-card-price { color: #8B7500; font-size: 13px; letter-spacing: .05em; margin-top: 6px; }
#adm-modal-overlay { display: none; position: fixed; inset: 0; background: rgba(20,20,25,.92); z-index: 9999; overflow-y: auto; padding: 20px; }
#adm-modal-overlay.open { display: flex; align-items: flex-start; justify-content: center; }
#adm-modal { max-width: 900px; width: 100%; margin: auto; padding: 40px 0; }
#adm-modal-close { position: fixed; top: 20px; right: 24px; background: #FAF7ED; border: 1px solid #8B7500; color: #8B7500; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; padding: 8px 16px; cursor: pointer; z-index: 10000; }
#adm-modal-close:hover { background: #8B7500; color: #FAF7ED; }
#adm-modal-fiche, #adm-modal-cert { width: 100%; display: block; margin-bottom: 16px; }
#adm-btn-ambiance { background: #8B7500; color: #FAF7ED; border: none; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; padding: 10px 24px; cursor: pointer; display: block; margin: 0 auto 12px; }
#adm-btn-ambiance:hover { background: #141419; }
.adm-modal-services { border: 1px solid #d8d0c0; padding: 24px; background: #FFFFFF; }
.adm-modal-services h3 { font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: #8B7500; margin: 0 0 16px; font-weight: normal; }
.adm-service-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #f0ece4; flex-wrap: wrap; gap: 8px; }
.adm-service-row:last-child { border-bottom: none; }
.adm-service-name { font-size: 13px; color: #141419; flex: 1; }
.adm-service-price { font-size: 13px; color: #8B7500; letter-spacing: .05em; min-width: 80px; text-align: right; }
.adm-service-btn { background: #141419; color: #FAF7ED; border: none; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; padding: 8px 16px; cursor: pointer; text-decoration: none; display: inline-block; }
.adm-service-btn:hover { background: #8B7500; color: #FAF7ED; }
/* Toggle Mode Oeuvre Pure / Ambiance */
.adm-mode-toggle { display: inline-flex; border: 1px solid #c8c0b0; background: #FFFFFF; overflow: hidden; }
.adm-mode-btn { border: none; background: transparent; padding: 6px 14px; cursor: pointer; font-family: 'Cormorant Garamond',Georgia,serif; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: #8B7500; transition: background .18s, color .18s; white-space: nowrap; }
.adm-mode-btn:not(:last-child) { border-right: 1px solid #c8c0b0; }
.adm-mode-btn.is-active { background: #8B7500; color: #FAF7ED; }
.adm-mode-btn:hover:not(.is-active) { background: rgba(139,117,0,.08); }

/* ── Reservation : badge + boutons ── */
.adm-card-img-wrap { position: relative; }
.adm-badge-reserved {
  position: absolute; top: 12px; left: 0;
  background: #8B7500; color: #FAF7ED;
  font-family: 'Cormorant Garamond',Georgia,serif;
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  padding: 5px 14px; font-weight: 700; z-index: 2;
  pointer-events: none;
}
.adm-card.is-reserved { opacity: .75; }
.adm-card.is-reserved:hover { opacity: 1; }
.adm-btn-reserve {
  display: block; width: 100%; margin-top: 10px;
  background: #8B7500; color: #FAF7ED; border: none;
  font-family: 'Cormorant Garamond',Georgia,serif;
  font-size: 12px; letter-spacing: .15em; text-transform: uppercase;
  padding: 10px 16px; cursor: pointer; text-align: center;
  transition: background .2s;
}
.adm-btn-reserve:hover { background: #141419; }
.adm-btn-reserve:disabled {
  background: #c8c0b0; cursor: not-allowed; color: #FAF7ED;
}
.adm-btn-renounce {
  display: block; width: 100%; margin-top: 8px;
  background: transparent; color: #c04040; border: 1px solid #c04040;
  font-family: 'Cormorant Garamond',Georgia,serif;
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  padding: 8px 16px; cursor: pointer; text-align: center;
  transition: background .2s, color .2s;
}
.adm-btn-renounce:hover { background: #c04040; color: #FAF7ED; }
.adm-modal-reserve-section {
  border: 1px solid #d8d0c0; padding: 20px 24px; margin-top: 16px;
  background: #FFFFFF; text-align: center;
}
.adm-modal-reserve-section p {
  font-size: 14px; color: #5a5050; margin: 0 0 12px; line-height: 1.6;
}
.adm-modal-reserve-section .adm-arrhes-amount {
  font-size: 20px; color: #8B7500; font-weight: 700;
}
.adm-reserve-status {
  font-size: 12px; letter-spacing: .15em; text-transform: uppercase;
  color: #8B7500; font-weight: 600; margin-top: 8px;
}

/* Tablettes et petits ecrans */
@media (max-width: 768px) {
  #adm-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; padding: 0 16px 32px; }
  #adm-modal-close { min-width: 44px; min-height: 44px; }
}

/* Mobile */
@media (max-width: 600px) {
  #adm-filters { flex-direction: column; align-items: stretch; gap: 12px; padding: 0 16px 20px; }
  .adm-filter-group { width: 100%; }
  .adm-filter-group select,
  .adm-filter-group input[type="search"] { width: 100%; min-width: 0; box-sizing: border-box; }
  #adm-search { width: 100%; min-width: 0; box-sizing: border-box; }
  .adm-price-wrap { width: 100%; }
  .adm-mode-toggle { display: flex; width: 100%; }
  .adm-mode-btn { flex: 1; text-align: center; padding: 8px 6px; font-size: 10px; letter-spacing: .1em; white-space: nowrap; }
  #adm-grand-format-wrap, #adm-ambiance-wrap { padding-top: 0; }
  #adm-count { margin-left: 0; text-align: center; padding-top: 8px; }
  #adm-grid { grid-template-columns: 1fr; padding: 0 16px 32px; }
  .adm-galerie-header { padding: 24px 16px 16px; }
  .adm-hero-title { font-size: 22px; padding: 0 16px; }
  .adm-hero-baseline { font-size: 14px; padding: 0 16px; }
  #adm-modal { padding: 24px 0; }
  #adm-modal-close { top: 10px; right: 10px; padding: 6px 12px; font-size: 10px; min-width: 48px; min-height: 48px; }
  #adm-btn-ambiance { font-size: 10px; padding: 8px 16px; }
}

/* Petits mobiles */
@media (max-width: 480px) {
  #adm-grid { gap: 12px; padding: 0 12px 24px; }
  .adm-galerie-header { padding: 16px 12px 12px; }
  .adm-hero-title { font-size: 20px; padding: 0 8px; }
  .adm-hero-baseline { font-size: 13px; padding: 0 8px; }
  #adm-load-more { padding: 12px 24px; width: 100%; }
  #adm-modal-overlay { padding: 10px; }
}
