/* Espace de gestion des produits pour un client sélectionné. */
.client-dashboard-page .main-product {
   min-height: 680px;
   align-items: flex-start;
}

.client-dashboard-page .find-box {
   max-width: 1120px;
}

.client-dashboard-page .client-dashboard-panel {
   padding: clamp(26px, 4vw, 48px);
}

.client-dashboard-page .find-box h1 {
   font-size: clamp(30px, 5vw, 46px);
}

.client-dashboard-page .client-dashboard-subtitle {
   margin: 10px 0 0;
   color: #49657d;
   font-size: 20px;
   font-weight: 600;
}

.client-dashboard-page .client-dashboard-message {
   min-height: 28px;
   margin: 8px 0 0;
}

.client-dashboard-page .client-dashboard-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 14px;
   margin-top: 24px;
}

.client-dashboard-page .client-dashboard-action,
.client-dashboard-page .client-dashboard-action .form-sh {
   min-width: 0;
   height: 100%;
}

.client-dashboard-page .client-dashboard-action .form-sh a.btn,
.client-dashboard-page .client-dashboard-action .form-sh button.btn {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   min-height: 68px;
   height: 100%;
   padding: 13px 16px;
   color: #16415f;
   font-size: 16px;
   font-weight: 700;
   line-height: 1.5;
   white-space: normal;
   background: #f8fbff;
   border: 1px solid #d5e2ec;
   border-radius: 13px;
   box-shadow: 0 5px 14px rgba(7, 32, 62, .06);
   transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}

.client-dashboard-page .client-dashboard-action .form-sh a.btn:hover,
.client-dashboard-page .client-dashboard-action .form-sh a.btn:focus,
.client-dashboard-page .client-dashboard-action .form-sh button.btn:hover,
.client-dashboard-page .client-dashboard-action .form-sh button.btn:focus {
   color: #fff;
   text-decoration: none;
   background: #147ac1;
   border-color: #147ac1;
   box-shadow: 0 12px 24px rgba(20, 122, 193, .2);
   transform: translateY(-2px);
}

.client-dashboard-page .client-dashboard-action .form-sh button.btn {
   cursor: pointer;
}

.client-dashboard-page .client-dashboard-action .form-sh button.btn:disabled {
   cursor: wait;
   opacity: .65;
   transform: none;
}

.client-dashboard-page .client-dashboard-primary .form-sh a.btn,
.client-dashboard-page .client-dashboard-cart .form-sh a.btn {
   color: #fff;
   background: linear-gradient(135deg, #147ac1, #075a98);
   border-color: #147ac1;
}

.client-dashboard-page .client-dashboard-category .form-sh a.btn {
   color: #3b5a72;
   background: #f3f7fa;
}

.client-dashboard-page .client-dashboard-manage .form-sh a.btn {
   color: #73510f;
   background: #fff9e9;
   border-color: #efdca4;
}

.client-dashboard-page .client-dashboard-location .form-sh .btn {
   gap: 9px;
   color: #08743c;
   background: #effaf5;
   border-color: #adddc5;
}

.client-dashboard-page .client-dashboard-location .fa {
   font-size: 21px;
}

.client-dashboard-page .client-location-status {
   margin: 7px 4px 0;
   color: #647b8f;
   font-size: 13px;
   line-height: 1.5;
}

.client-dashboard-page .client-location-status.is-error {
   color: #b42318;
}

.client-dashboard-page .client-location-status.is-success {
   color: #087f45;
}

body.client-location-modal-open {
   overflow: hidden;
}

.client-location-modal[hidden] {
   display: none;
}

.client-location-modal {
   position: fixed;
   z-index: 9999;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 18px;
}

.client-location-backdrop {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   padding: 0;
   background: rgba(7, 32, 62, .68);
   border: 0;
}

.client-location-dialog {
   position: relative;
   z-index: 1;
   width: min(940px, 100%);
   max-height: calc(100vh - 36px);
   overflow-y: auto;
   padding: clamp(18px, 3vw, 30px);
   background: #fff;
   border: 1px solid #d5e2ec;
   border-radius: 20px;
   box-shadow: 0 24px 70px rgba(7, 32, 62, .28);
}

.client-location-modal-header {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 16px;
   margin-bottom: 18px;
}

.client-location-modal-eyebrow {
   margin: 0 0 4px;
   color: #147ac1;
   font-size: 14px;
   font-weight: 700;
}

.client-location-modal-header h2 {
   margin: 0;
   color: #102a43;
   font-size: clamp(22px, 4vw, 31px);
}

.client-location-close {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 44px;
   width: 44px;
   height: 44px;
   color: #49657d;
   font-size: 20px;
   background: #edf2f6;
   border: 1px solid #d4e0ea;
   border-radius: 50%;
}

.client-location-search-form label {
   display: block;
   margin-bottom: 7px;
   color: #27445c;
   font-size: 15px;
   font-weight: 700;
}

.client-location-search-row {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 10px;
}

.client-location-search-row input {
   width: 100%;
   min-height: 52px;
   padding: 10px 15px;
   color: #102a43;
   font-size: 16px;
   background: #f8fbff;
   border: 1px solid #cbd9e6;
   border-radius: 12px;
   outline: none;
}

.client-location-search-row input:focus {
   border-color: #147ac1;
   box-shadow: 0 0 0 4px rgba(20, 122, 193, .12);
}

.client-location-search-row button,
.client-location-save,
.client-location-cancel {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-height: 52px;
   padding: 10px 20px;
   font-size: 16px;
   font-weight: 700;
   border-radius: 12px;
   cursor: pointer;
}

.client-location-search-row button,
.client-location-save {
   color: #fff;
   background: linear-gradient(135deg, #147ac1, #075a98);
   border: 1px solid #147ac1;
}

.client-location-map-message,
.client-location-coordinates {
   margin: 12px 0 8px;
   color: #49657d;
   font-size: 14px;
   line-height: 1.6;
}

.client-location-map-message.is-error {
   color: #b42318;
}

.client-location-map-message.is-success,
.client-location-coordinates.is-selected {
   color: #087f45;
}

.client-location-map {
   width: 100%;
   height: min(48vh, 430px);
   min-height: 300px;
   overflow: hidden;
   border: 1px solid #cbd9e6;
   border-radius: 15px;
}

.client-location-modal-actions {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 10px;
   margin-top: 14px;
}

.client-location-save:disabled {
   cursor: not-allowed;
   opacity: .55;
}

.client-location-cancel {
   color: #49657d;
   background: #edf2f6;
   border: 1px solid #d4e0ea;
}

.client-location-modal .leaflet-control-attribution {
   font-size: 10px;
}

.client-dashboard-page .client-dashboard-share .form-sh a.btn {
   color: #167452;
   background: #effaf5;
   border-color: #bee5d3;
}

.client-dashboard-page .client-dashboard-album .form-sh a.btn {
   gap: 9px;
   color: #08743c;
   background: #edfaf3;
   border-color: #adddc5;
}

.client-dashboard-page .client-dashboard-album .fa-whatsapp {
   font-size: 21px;
}

.client-dashboard-page .client-dashboard-images .form-sh a.btn {
   gap: 9px;
   color: #0a5d96;
   background: #edf7ff;
   border-color: #b9daef;
}

.client-dashboard-page .client-dashboard-images .fa-picture-o {
   font-size: 20px;
}

.client-dashboard-page .client-dashboard-return .form-sh a.btn {
   color: #9a4a20;
   background: #fff6f0;
   border-color: #efcfbd;
}

.client-dashboard-page .client-dashboard-nav .form-sh a.btn {
   color: #49657d;
   background: #edf2f6;
   border-color: #d4e0ea;
}

.client-dashboard-page .client-dashboard-logout {
   grid-column: 1 / -1;
   margin-top: 4px;
}

.client-dashboard-page .client-dashboard-logout .form-sh a.btn {
   min-height: 56px;
   color: #a12f35;
   background: #fff6f6;
   border-color: #edc8ca;
}

.client-dashboard-page .client-dashboard-logout .form-sh a.btn:hover,
.client-dashboard-page .client-dashboard-logout .form-sh a.btn:focus {
   color: #fff;
   background: #a12f35;
   border-color: #a12f35;
}

@media (max-width: 991px) {
   .client-dashboard-page .client-dashboard-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 600px) {
   .client-dashboard-page .client-dashboard-panel {
      padding: 27px 15px;
   }

   .client-dashboard-page .client-dashboard-grid {
      grid-template-columns: 1fr;
      gap: 11px;
   }

   .client-dashboard-page .client-dashboard-action .form-sh a.btn,
   .client-dashboard-page .client-dashboard-action .form-sh button.btn {
      min-height: 56px;
      font-size: 15px;
   }

   .client-dashboard-page .client-dashboard-logout {
      grid-column: auto;
   }

   .client-location-modal {
      align-items: stretch;
      padding: 7px;
   }

   .client-location-dialog {
      max-height: calc(100vh - 14px);
      padding: 16px 12px;
      border-radius: 15px;
   }

   .client-location-search-row,
   .client-location-modal-actions {
      grid-template-columns: 1fr;
   }

   .client-location-map {
      height: 46vh;
      min-height: 280px;
   }
}

@media (prefers-reduced-motion: reduce) {
   .client-dashboard-page .client-dashboard-action .form-sh a.btn,
   .client-dashboard-page .client-dashboard-action .form-sh button.btn {
      transition: none;
   }
}
