/* === PLUGIN COMPATIBILITY — V2 DESIGN OVERRIDES === */

/* ========================================
   GLOBAL PLUGIN TYPOGRAPHY & COLORS
   ======================================== */
.osca-ads-wrapper,
.osca-brand-directory-wrapper,
.osca-submission-form-wrapper,
.osca-my-ads-wrapper,
.sbl-store-locator-container,
.sbl-brand-directory-wrapper,
.sbl-brand-stores-wrapper,
.osf-suppliers-wrapper,
.osa-banner-wrapper,
.osn-unsubscribe-page {
  font-family: 'Inter Tight', sans-serif;
  color: var(--text, #1a2340);
}

/* Zero out plugin wrapper padding/margin so only .main-content padding controls the footer gap */
.main-content .osf-suppliers-wrapper,
.main-content .sbl-store-locator-container,
.main-content .sbl-brand-directory-wrapper,
.main-content .sbl-brand-stores-wrapper {
  padding-bottom: 0 !important;
  overflow: hidden;  /* prevent child margin collapse through wrapper */
}
/* Also zero the last child INSIDE plugin wrappers */
.main-content .sbl-brand-directory-wrapper > *:last-child,
.main-content .sbl-brand-stores-wrapper > *:last-child,
.main-content .osf-suppliers-wrapper > *:last-child,
.main-content .osca-ads-wrapper > *:last-child,
.main-content .sbl-store-locator-container > *:last-child,
.main-content .osca-v2-layout > *:last-child,
.main-content .v2-account-layout > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.sbl-brand-directory {
  margin-bottom: 0 !important;
}
.sbl-pagination {
  margin-bottom: 0 !important;
}
.osca-brand-directory {
  margin-bottom: 0 !important;
}
.osca-pagination {
  margin-bottom: 0 !important;
}
.osca-submission-form-wrapper {
  margin-bottom: 0 !important;
}
.osca-submit-row {
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.sbl-submission-form-wrapper {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* UM account forms — zero bottom spacing */
.main-content .um-account,
.main-content .um-account-main,
.main-content .v2-account-main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.main-content .um-account-tab {
  margin-bottom: 0 !important;
}

/* ========================================
   CLASSIFIED ADS (osca-*)
   ======================================== */

/* Directory header — hidden when v2 page-band is active */
.osca-directory-header {
  display: none !important;
}

/* Controls & search — v2 toolbar style */
.osca-directory-controls {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  border: none !important;
  background: transparent !important;
  clip-path: none !important;
}
/* Make search input take more space */
.osca-directory-search {
  flex: 1 !important;
  min-width: 200px !important;
}
.osca-search-input {
  font-family: 'Inter Tight', sans-serif !important;
  border: 1.5px solid #d0d8ea !important;
  background: var(--grey, #f4f6fb) !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  padding: 11px 16px 11px 42px !important;
  font-size: 13px !important;
}
.osca-search-input:focus {
  border-color: var(--blue3, #3d8fe0) !important;
  box-shadow: 0 0 0 3px rgba(61,143,224,.12) !important;
  background: #fff !important;
}
.osca-category-select,
.osca-sort-select {
  font-family: 'Inter Tight', sans-serif !important;
  border: 1.5px solid #d0d8ea !important;
  background: #fff !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  padding: 11px 14px !important;
  font-size: 12px !important;
}
.osca-sort-label {
  font-size: 12px !important;
  color: var(--muted, #6b7a9e) !important;
  white-space: nowrap !important;
}

/* Results bar styling */
.osca-ads-wrapper .osca-results-bar,
.osca-ads-wrapper .osca-directory-results {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
  margin-top: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
/* Reduce gap between wrapper elements */
.osca-ads-wrapper {
  padding: 0 !important;
  max-width: 1365px !important;
}
.osca-ads-wrapper > * {
  margin-top: 0 !important;
}
/* Remove white bg from directory container elements (not dropdowns) */
.osca-directory-container,
div.osca-directory-container,
.osca-ads-wrapper .osca-directory-container,
.osca-directory-info,
div.osca-directory-info,
.osca-brand-directory,
.osca-ads-directory,
.osca-brand-directory.osca-ads-directory {
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Hide view toggle on classified ads */
.osca-directory-view-toggle {
  display: none !important;
  background-color: transparent !important;
}
/* Restore white bg for dropdowns and cards */
.osca-category-search-dropdown {
  background: #fff !important;
  box-shadow: 0 8px 25px rgba(0,0,0,.15) !important;
  border-radius: 0 !important;
  z-index: 1000 !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 100% !important;
  display: none !important;
}
.osca-category-search-dropdown.active {
  display: block !important;
}
.osca-category-search-wrapper,
.osca-form .osca-category-search-wrapper {
  position: relative !important;
  z-index: 100 !important;
}
/* Category trigger button — match v2 input style */
.osca-category-trigger,
.osca-form .osca-category-trigger {
  border: 1.5px solid #d0d8ea !important;
  background: var(--grey, #f4f6fb) !important;
  border-radius: 0 !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13px !important;
  color: var(--text) !important;
  padding: 12px 40px 12px 16px !important;
  width: 100% !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: border-color .2s !important;
}
.osca-category-trigger:hover,
.osca-category-trigger:focus {
  border-color: var(--blue3) !important;
}
/* Directory info bar — no padding */
.osca-directory-info,
div.osca-directory-info {
  padding: 0 !important;
  margin: 0 !important;
}

/* Re-apply white bg only to cards and select/input elements */
.osca-ads-grid .osca-ad-card,
.osca-ads-grid .osca-brand-card {
  background-color: #fff !important;
}
.osca-search-input,
.osca-category-select,
.osca-sort-select,
.osca-per-page-select {
  background-color: #fff !important;
}
/* Toolbar spacing — banner provides its own margin */
.osca-directory-controls {
  margin-top: 0 !important;
}
/* Hide view toggle on classified ads */
.osca-ads-wrapper .osca-directory-view-toggle {
  display: none !important;
}
.osca-results-count {
  font-size: 13px !important;
  color: var(--muted, #6b7a9e) !important;
}
.osca-per-page-selector,
.osca-ads-wrapper .osca-per-page {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: var(--muted, #6b7a9e) !important;
}
.osca-per-page-selector select,
.osca-ads-wrapper .osca-per-page select {
  padding: 4px 10px !important;
  border: 1.5px solid #d0d8ea !important;
  background: #fff !important;
  font-size: 12px !important;
  color: var(--text, #1a2340) !important;
  clip-path: polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) !important;
  outline: none !important;
}

/* View toggle buttons */
.osca-view-btn {
  width: 36px !important;
  height: 36px !important;
  border: 1.5px solid #d0d8ea !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--muted, #6b7a9e) !important;
  clip-path: polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) !important;
  border-radius: 0 !important;
  transition: all .2s !important;
}
.osca-view-btn.active,
.osca-view-btn:hover {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-color: var(--blue, #1557b0) !important;
}

/* ---- Ads listing grid — v2 mosaic with bordered cards ---- */
.osca-ads-grid,
.osca-brands-grid.osca-ads-grid,
.osca-brands-grid.osca-view-grid.osca-ads-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 3px !important;
  background: rgba(21,87,176,.06) !important;
  border: 2px solid rgba(21,87,176,.1) !important;
  clip-path: polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px)) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ad cards — white with visible borders inside mosaic */
.osca-ads-grid .osca-ad-card,
.osca-ads-grid .osca-brand-card,
.osca-ads-grid .osca-brand-card.osca-ad-card {
  border: 1px solid rgba(21,87,176,.08) !important;
  border-radius: 0 !important;
  clip-path: none !important;
  box-shadow: none !important;
  background: #fff !important;
  transition: background .25s !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.osca-ads-grid .osca-ad-card:hover,
.osca-ads-grid .osca-brand-card:hover {
  background: var(--sky, #e8f2fd) !important;
  box-shadow: 0 4px 20px rgba(21,87,176,.1) !important;
  transform: none !important;
}

/* Ad card inner — clean */
.osca-ads-grid .osca-brand-card-inner,
.osca-ads-grid .osca-ad-card-inner {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.osca-ads-grid .osca-brand-card-inner::before {
  display: none !important;
}
/* Ad card hover — no card-inner transform */
.osca-ads-grid .osca-ad-card:hover .osca-brand-card-inner,
.osca-ads-grid .osca-brand-card:hover .osca-brand-card-inner {
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Ad title */
.osca-ad-title,
.osca-brand-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.osca-ad-card:hover .osca-ad-title,
.osca-ad-card:hover .osca-brand-title,
.osca-ad-card:hover .osca-brand-card-title h3 {
  color: var(--blue, #1557b0) !important;
}

/* Ad category badge */
.osca-ad-category {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  width: fit-content !important;
  clip-path: polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) !important;
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

/* Ad price */
.osca-ad-price {
  color: var(--blue, #1557b0);
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 16px !important;
}

/* Ad image — padded grey zone, less top padding, more bottom */
.osca-ads-grid .osca-brand-card-logo,
.osca-ads-grid .osca-ad-image {
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid #edf0f7 !important;
  min-height: 160px !important;
  height: 160px !important;
  overflow: hidden !important;
  padding: 8px 16px 16px !important;
  margin: 0 !important;
  background: var(--grey, #f4f6fb) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.osca-ads-grid .osca-brand-card-logo img,
.osca-ads-grid .osca-ad-image img {
  border-radius: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.osca-ads-grid .osca-ad-image-link {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Ad card content area */
.osca-ads-grid .osca-brand-card-content,
.osca-ads-grid .osca-ad-content {
  padding: 20px 16px 16px !important;
  border-radius: 0 !important;
  min-height: auto !important;
}
.osca-ads-grid .osca-brand-card-content::before {
  display: none !important;
}

/* "Déposer une annonce" button — injected into toolbar */
.osca-v2-deposer-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 11px 22px !important;
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  transition: background .2s, transform .2s !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.osca-v2-deposer-btn:hover {
  background: var(--blue2, #0d3a7a) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* Responsive grid — must match specificity of .osca-brands-grid.osca-view-grid.osca-ads-grid */
@media (max-width: 1100px) {
  .osca-brands-grid.osca-view-grid.osca-ads-grid,
  .osca-ads-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 900px) {
  .osca-brands-grid.osca-view-grid.osca-ads-grid,
  .osca-ads-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .osca-brands-grid.osca-view-grid.osca-ads-grid,
  .osca-ads-grid { grid-template-columns: 1fr !important; }
  .osca-v2-deposer-btn {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin-top: 24px !important;
  }
  .osca-directory-controls {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 16px !important;
    position: relative !important;
  }
  .osca-directory-sort {
    position: relative !important;
    z-index: 100 !important;
  }
  .osca-directory-view-toggle {
    display: none !important;
  }
  .osca-category-search-wrapper {
    z-index: 100 !important;
  }
  .osca-category-search-dropdown,
  .osca-category-search-dropdown.active {
    background: #fff !important;
    z-index: 1000 !important;
    box-shadow: 0 8px 25px rgba(0,0,0,.15) !important;
  }
  .osca-v2-deposer-btn {
    position: relative !important;
    z-index: 1 !important;
  }
  .osca-directory-info,
  div.osca-directory-info {
    padding: 12px 16px !important;
  }
  .osca-brand-directory,
  .osca-ads-directory,
  .osca-brand-directory.osca-ads-directory {
    padding: 0 8px !important;
  }
}

/* Submit button / CTA */
.osca-submit-btn,
.osca-deposer-btn,
.osca-form-submit-btn {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  clip-path: polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  border: none !important;
  transition: background .25s !important;
}
.osca-submit-btn:hover,
.osca-deposer-btn:hover,
.osca-form-submit-btn:hover {
  background: var(--blue3, #3d8fe0) !important;
}

/* Pagination */
.osca-pagination a,
.osca-pagination span {
  border: 1.5px solid #d0d8ea;
  clip-path: polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));
  font-family: 'Inter Tight', sans-serif;
  transition: all .2s;
}
.osca-pagination .current,
.osca-pagination a:hover {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-color: var(--blue, #1557b0) !important;
}

/* Forms */
.osca-form-input,
.osca-form-textarea,
.osca-form-select {
  font-family: 'Inter Tight', sans-serif;
  border: 1.5px solid #d0d8ea;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.osca-form-input:focus,
.osca-form-textarea:focus,
.osca-form-select:focus {
  border-color: var(--blue3, #3d8fe0);
  box-shadow: 0 0 0 3px rgba(61,143,224,.12);
}

/* Results count */
.osca-results-count strong {
  color: var(--blue, #1557b0);
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
}

/* ========================================
   CLASSIFIED ADS — MY ADS PAGE V2 STYLING
   ======================================== */

/* My-ads wrapper — v2 design */
.osca-my-ads-wrapper {
  max-width: 1365px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

/* My-ads header */
.osca-my-ads-wrapper .osca-my-ads-header,
.osca-my-ads-header {
  background: var(--blue) !important;
  padding: 18px 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  border-radius: 0 !important;
  margin-bottom: 20px !important;
  clip-path: polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px)) !important;
}
.osca-my-ads-header h2,
.osca-my-ads-header .osca-my-ads-title {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  color: #fff !important;
  margin: 0 !important;
}

/* My-ads list container */
.osca-my-ads-list {
  background: #fff !important;
  border: 2px solid rgba(21,87,176,.1) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px)) !important;
  overflow: hidden !important;
}

/* Individual ad items in list */
.osca-my-ad-item {
  background: #fff !important;
  border-bottom: 1.5px solid #edf0f7 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 20px 24px !important;
  transition: background .25s !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.osca-my-ad-item:last-child {
  border-bottom: none !important;
}
.osca-my-ad-item:hover {
  background: var(--sky) !important;
}

/* Ad image in my-ads */
.osca-my-ad-item .osca-my-ad-image,
.osca-my-ad-image {
  width: 80px !important;
  height: 80px !important;
  flex-shrink: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  border: 1.5px solid rgba(21,87,176,.1) !important;
  clip-path: polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px)) !important;
}
.osca-my-ad-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* Ad info */
.osca-my-ad-info {
  flex: 1 !important;
}
.osca-my-ad-title {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  color: var(--text) !important;
  margin: 0 0 4px !important;
}
.osca-my-ad-title a {
  color: var(--text) !important;
  text-decoration: none !important;
}
.osca-my-ad-title a:hover {
  color: var(--blue) !important;
}

/* Status badges */
.osca-my-ad-status,
.osca-ad-status {
  display: inline-flex !important;
  padding: 3px 10px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) !important;
}

/* Action buttons */
.osca-my-ad-actions {
  display: flex !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.osca-my-ad-actions a,
.osca-my-ad-actions button {
  padding: 8px 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: 'Outfit', sans-serif !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  clip-path: polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px)) !important;
  transition: background .2s !important;
}

/* Empty state */
.osca-my-ads-empty,
.osca-no-ads {
  background: #fff !important;
  border: 1.5px solid rgba(21,87,176,.1) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px)) !important;
  padding: 60px 40px !important;
  text-align: center !important;
}
.osca-my-ads-empty h3,
.osca-no-ads h3 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  color: var(--text) !important;
}
.osca-my-ads-empty p,
.osca-no-ads p {
  color: var(--muted) !important;
  font-size: 14px !important;
}

/* Edit modal */
.osca-edit-modal .osca-modal-content,
.osca-modal-content {
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px)) !important;
}
.osca-modal-header {
  background: var(--blue) !important;
  border-radius: 0 !important;
}
.osca-modal-header h3 {
  font-family: 'Outfit', sans-serif !important;
  color: #fff !important;
}

/* ========================================
   CLASSIFIED ADS — SUBMISSION FORM V2 STYLING
   ======================================== */

/* Form wrapper — full width, transparent */
.osca-submission-form-wrapper {
  max-width: 100% !important;
  padding: 0 !important;
}
.osca-submission-form-wrapper .osca-form {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* Form header — hidden (v2 subhead bar replaces it) */
.osca-form-header,
.osca-submission-form-wrapper .osca-form-header,
div.osca-form-header {
  display: none !important;
}

/* ---- SECTIONS — white cards with clip-path ---- */
.osca-form .osca-form-section {
  background: #fff !important;
  border: 1.5px solid rgba(21,87,176,.1) !important;
  border-radius: 0 !important;
  overflow: visible !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  position: relative !important;
}

/* Section titles — grey header bar */
.osca-form .osca-form-section h3,
.osca-form .osca-section-title {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 16px 28px !important;
  margin: 0 !important;
  border-bottom: 1.5px solid #edf0f7 !important;
  background: var(--grey, #f4f6fb) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 0 !important;
  color: var(--text, #1a2340) !important;
}
.osca-form .osca-section-title svg {
  color: var(--blue, #1557b0) !important;
  flex-shrink: 0 !important;
}

/* ---- FORM ROWS — each row is one field (stacked) ---- */
.osca-form .osca-form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 0 28px !important;
  margin-bottom: 0 !important;
}
.osca-form .osca-form-section > .osca-form-row:first-of-type {
  padding-top: 24px !important;
}
.osca-form .osca-form-section > .osca-form-row:last-of-type {
  padding-bottom: 24px !important;
}
.osca-form .osca-form-row + .osca-form-row {
  margin-top: 18px !important;
}

/* ---- LABELS — uppercase v2 style ---- */
.osca-form label,
.osca-form .osca-label-with-icon {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--text, #1a2340) !important;
  font-family: 'Inter Tight', sans-serif !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.osca-form .osca-label-icon {
  color: var(--muted, #6b7a9e) !important;
  flex-shrink: 0 !important;
}
.osca-form label .required {
  color: var(--blue3, #3d8fe0) !important;
}

/* ---- INPUTS — v2 style ---- */
.osca-form input[type="text"],
.osca-form input[type="tel"],
.osca-form input[type="email"],
.osca-form input[type="number"],
.osca-form textarea,
.osca-form select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid #d0d8ea !important;
  background: var(--grey, #f4f6fb) !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 14px !important;
  color: var(--text, #1a2340) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  outline: none !important;
  transition: border-color .2s, background .2s, box-shadow .2s !important;
  box-shadow: none !important;
}
.osca-form input[type="text"]:focus,
.osca-form input[type="tel"]:focus,
.osca-form input[type="number"]:focus,
.osca-form textarea:focus,
.osca-form select:focus {
  border-color: var(--blue3, #3d8fe0) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(61,143,224,.1) !important;
}
.osca-form textarea {
  resize: vertical !important;
  min-height: 110px !important;
  line-height: 1.6 !important;
}
.osca-form select {
  cursor: pointer !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7a9e' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

/* File input — styled as upload zone */
.osca-form input[type="file"] {
  clip-path: none !important;
  background: transparent !important;
  border: none !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
}

/* Field hint */
.osca-form .osca-field-hint {
  font-size: 11px !important;
  color: var(--muted, #6b7a9e) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
}
.osca-form .osca-field-hint svg {
  color: var(--blue, #1557b0) !important;
  flex-shrink: 0 !important;
}

/* Field errors */
.osca-form .osca-field-error:empty {
  display: none !important;
}

/* ---- SUBMIT BUTTON ---- */
.osca-form .osca-submit-row {
  text-align: center !important;
  padding: 28px 28px 0 !important;
  background: transparent !important;
  border: none !important;
  clip-path: none !important;
}
.osca-form .osca-submit-button,
.osca-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 15px 48px !important;
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
}
.osca-form .osca-submit-button:hover,
.osca-form button[type="submit"]:hover {
  background: var(--blue2, #0d3a7a) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(21,87,176,.3) !important;
}

/* Success modal — v2 style */
.osca-modal-content {
  clip-path: polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px)) !important;
  border-radius: 0 !important;
}

/* 2-column layout responsive */
@media (max-width: 1000px) {
  .osca-v2-layout {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================
   STORE BRAND LOCATOR (sbl-*)
   ======================================== */

/* Ma boutique — store action buttons */
.um-sbl-map-link,
.um-sbl-edit-link {
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px)) !important;
}
.um-sbl-map-link {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
}
.um-sbl-map-link:hover {
  background: var(--blue2, #0d3a7a) !important;
  color: #fff !important;
}
.um-sbl-edit-link {
  background: var(--sky, #e8f2fd) !important;
  color: var(--blue, #1557b0) !important;
  border-color: rgba(21,87,176,.15) !important;
}
.um-sbl-edit-link:hover {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
}

/* Brand cards */
.sbl-brand-card {
  border: 1.5px solid #e2e8f0;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  transition: border-color .3s, box-shadow .3s;
}
.sbl-brand-card:hover {
  border-color: var(--blue, #1557b0);
  box-shadow: 0 8px 32px rgba(21,87,176,.1);
}
.sbl-brand-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
}

/* Store cards */
.sbl-brand-store-card {
  border: 1.5px solid #e2e8f0;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
.sbl-brand-store-card:hover {
  border-color: var(--blue, #1557b0);
}

/* Directory header */
.sbl-directory-header,
.sbl-locator-header {
  font-family: 'Outfit', sans-serif;
}
.sbl-directory-title,
.sbl-locator-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
}

/* Search & controls */
.sbl-search-input,
.sbl-filter-select {
  font-family: 'Inter Tight', sans-serif;
  border: 1.5px solid #d0d8ea;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.sbl-search-input:focus,
.sbl-filter-select:focus {
  border-color: var(--blue3, #3d8fe0);
  box-shadow: 0 0 0 3px rgba(61,143,224,.12);
}

/* View toggle */
.sbl-view-btn.active,
.sbl-view-btn:hover {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
}

/* Form buttons */
.sbl-submit-btn,
.sbl-form-submit-btn {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  clip-path: polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  border: none !important;
}
.sbl-submit-btn:hover,
.sbl-form-submit-btn:hover {
  background: var(--blue3, #3d8fe0) !important;
}

/* Pagination */
.sbl-pagination a,
.sbl-pagination span {
  border: 1.5px solid #d0d8ea;
  clip-path: polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));
}
.sbl-pagination .current,
.sbl-pagination a:hover {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-color: var(--blue, #1557b0) !important;
}

/* Form inputs */
.sbl-form-input,
.sbl-form-textarea,
.sbl-form-select {
  font-family: 'Inter Tight', sans-serif;
  border: 1.5px solid #d0d8ea;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}

/* ========================================
   SUPPLIERS (osf-*)
   ======================================== */

/* Category cards */
.osf-category-card {
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  transition: transform .3s, box-shadow .3s;
}
.osf-category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.2);
}
.osf-category-card-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  color: #fff;
}
.osf-category-card-count {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 500;
}
.osf-category-card-arrow {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
}

/* Supplier boxes */
.osf-supplier-box {
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  border: 1.5px solid rgba(255,255,255,.2);
}
.osf-supplier-name {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  color: #fff;
}
.osf-premium-badge {
  color: gold;
}
.osf-back-link {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 500;
  color: var(--blue, #1557b0);
}

/* ========================================
   MY STORES (um-sbl-*) — v2 overrides
   ======================================== */
.um-sbl-store-card {
  border: 1.5px solid rgba(21,87,176,.1) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  box-shadow: none !important;
}
.um-sbl-store-card:hover {
  box-shadow: none !important;
  transform: none !important;
  border-color: var(--blue3) !important;
}

/* ========================================
   BANNER ADS (osa-*) — v2 hero style
   ======================================== */

/* Wrapper — v2 clip-path hero style */
.osa-banner-wrapper {
  margin: 0 auto 32px;
  max-width: none;
  border-radius: 0;
  overflow: visible;
  border: 2px solid var(--blue, #1557b0);
  clip-path: polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px));
  position: relative;
}

/* Remove border-radius from inner containers */
.osa-banner-container,
.osa-banner-slider-wrapper,
.osa-banner-slider-wrapper .slider-wrapper {
  border-radius: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* Image sizing */
.osa-banner-image {
  max-height: 220px !important;
  height: 220px !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* Constrain all containers to same height */
.osa-banner-slider-wrapper,
.osa-banner-slider-wrapper .slider-wrapper,
.osa-banner-slider .flickity-viewport,
.osa-banner-container {
  max-height: 220px !important;
  overflow: hidden !important;
}
.osa-banner-slide {
  height: 220px !important;
  width: 100% !important;
}
.osa-banner-slide .osa-banner-picture,
.osa-banner-slide .osa-banner-link {
  height: 220px !important;
  display: block !important;
}

/* Close button — v2 style */
.osa-banner-close {
  font-family: 'Inter Tight', sans-serif !important;
  border-radius: 0 !important;
  width: 30px !important;
  height: 30px !important;
  background: rgba(0,0,0,.4) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: rgba(255,255,255,.7) !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 20 !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  clip-path: none !important;
}
.osa-banner-close:hover {
  background: rgba(21,87,176,.6) !important;
  color: #fff !important;
}

/* Flickity navigation arrows — v2 style */
.osa-banner-wrapper .flickity-prev-next-button {
  width: 40px !important;
  height: 40px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 0 !important;
  color: #fff !important;
  opacity: 1 !important;
  transition: background .2s, border-color .2s !important;
}
.osa-banner-wrapper .flickity-prev-next-button:hover {
  background: rgba(255,255,255,.25) !important;
  border-color: rgba(255,255,255,.4) !important;
}
.osa-banner-wrapper .flickity-prev-next-button .flickity-button-icon {
  fill: #fff !important;
}
.osa-banner-wrapper .flickity-prev-next-button.previous {
  left: 16px !important;
}
.osa-banner-wrapper .flickity-prev-next-button.next {
  right: 16px !important;
}

/* Flickity dots — v2 style (bottom-left, horizontal bar + circles) */
.osa-banner-wrapper .flickity-page-dots {
  bottom: 14px !important;
  left: 20px !important;
  right: auto !important;
  text-align: left !important;
  display: flex !important;
  gap: 6px !important;
}
.osa-banner-wrapper .flickity-page-dots .dot {
  width: 8px !important;
  height: 8px !important;
  background: rgba(255,255,255,.3) !important;
  border: none !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  margin: 0 !important;
  transition: background .2s, width .2s, border-radius .2s !important;
}
.osa-banner-wrapper .flickity-page-dots .dot.is-selected {
  background: var(--blue3, #3d8fe0) !important;
  width: 24px !important;
  border-radius: 4px !important;
}

@media (max-width: 900px) {
  .osa-banner-image {
    max-height: none !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .osa-banner-slider-wrapper,
  .osa-banner-slider-wrapper .slider-wrapper,
  .osa-banner-slider .flickity-viewport,
  .osa-banner-container {
    max-height: none !important;
  }
  .osa-banner-slide {
    height: auto !important;
  }
  .osa-banner-slide .osa-banner-picture,
  .osa-banner-slide .osa-banner-link {
    height: auto !important;
  }
  .osa-banner-wrapper .flickity-prev-next-button {
    width: 30px !important;
    height: 30px !important;
  }
}

/* ========================================
   STORE BRAND LOCATOR — SUBMISSION FORM V2 STYLING
   ======================================== */

/* Form wrapper — full width, transparent */
.sbl-submission-form-wrapper {
  max-width: 100% !important;
  padding: 0 !important;
}
.sbl-submission-form-wrapper .sbl-form {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* Form header — hidden (v2 subhead bar replaces it) */
.sbl-form-header,
.sbl-submission-form-wrapper .sbl-form-header,
div.sbl-form-header {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ---- SECTIONS — white cards with clip-path ---- */
.sbl-form .sbl-form-section {
  background: #fff !important;
  border: 1.5px solid rgba(21,87,176,.1) !important;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px)) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}

/* Section titles — grey header bar */
.sbl-form .sbl-form-section h3,
.sbl-form .sbl-section-title {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 16px 28px !important;
  margin: 0 !important;
  border-bottom: 1.5px solid #edf0f7 !important;
  background: var(--grey, #f4f6fb) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 0 !important;
  color: var(--text, #1a2340) !important;
}
.sbl-form .sbl-section-title svg {
  color: var(--blue, #1557b0) !important;
  flex-shrink: 0 !important;
}

/* ---- FORM ROWS — each row is one field (label + input stacked) ---- */
.sbl-form .sbl-form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 0 28px !important;
  margin-bottom: 0 !important;
}
/* First form-row after the h3 gets top padding */
.sbl-form .sbl-form-section > .sbl-form-row:first-of-type {
  padding-top: 24px !important;
}
/* Last form-row in section gets bottom padding */
.sbl-form .sbl-form-section > .sbl-form-row:last-of-type,
.sbl-form .sbl-form-section > .sbl-form-row-group:last-of-type {
  padding-bottom: 24px !important;
}
/* Spacing between consecutive rows */
.sbl-form .sbl-form-row + .sbl-form-row,
.sbl-form .sbl-form-row + .sbl-form-row-group,
.sbl-form .sbl-form-row-group + .sbl-form-row {
  margin-top: 18px !important;
}

/* ---- ROW GROUP — 2-column grid for ville/pays ---- */
.sbl-form .sbl-form-row-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  padding: 0 28px !important;
  margin-top: 18px !important;
}
.sbl-form .sbl-form-row-group .sbl-form-row {
  padding: 0 !important;
}
.sbl-form .sbl-form-row-group .sbl-form-row-half {
  margin-bottom: 0 !important;
}

/* ---- LABELS — uppercase v2 style ---- */
.sbl-form label,
.sbl-form .sbl-label-with-icon {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--text, #1a2340) !important;
  font-family: 'Inter Tight', sans-serif !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.sbl-form .sbl-label-icon {
  color: var(--muted, #6b7a9e) !important;
  flex-shrink: 0 !important;
}
.sbl-form label .required {
  color: var(--blue3, #3d8fe0) !important;
}

/* ---- INPUTS — v2 style ---- */
.sbl-form input[type="text"],
.sbl-form input[type="tel"],
.sbl-form input[type="email"],
.sbl-form textarea,
.sbl-form select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid #d0d8ea !important;
  background: var(--grey, #f4f6fb) !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 14px !important;
  color: var(--text, #1a2340) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  outline: none !important;
  transition: border-color .2s, background .2s, box-shadow .2s !important;
  box-shadow: none !important;
}
.sbl-form input[type="text"]:focus,
.sbl-form input[type="tel"]:focus,
.sbl-form input[type="email"]:focus,
.sbl-form textarea:focus,
.sbl-form select:focus {
  border-color: var(--blue3, #3d8fe0) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(61,143,224,.1) !important;
}

/* Address input with search icon */
.sbl-form .sbl-address-input-wrapper {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
}
.sbl-form .sbl-address-icon-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  flex-shrink: 0 !important;
  padding: 0 0 0 12px !important;
  color: var(--muted) !important;
  pointer-events: none !important;
}
.sbl-form .sbl-address-input-field,
.sbl-form #sbl-address {
  padding-left: 16px !important;
}

/* Field hint */
.sbl-form .sbl-field-hint {
  font-size: 11px !important;
  color: var(--muted, #6b7a9e) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
}
.sbl-form .sbl-field-hint svg {
  color: var(--blue, #1557b0) !important;
  flex-shrink: 0 !important;
}

/* Field errors */
.sbl-form .sbl-field-error:empty {
  display: none !important;
}

/* ---- BRANDS SECTION ---- */

/* Section description */
.sbl-form .sbl-section-description {
  font-size: 12px !important;
  color: var(--muted, #6b7a9e) !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
}

/* Brand search wrapper */
.sbl-form .sbl-brands-search-wrapper {
  margin-top: 16px !important;
}
.sbl-form .sbl-brands-search-input-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
.sbl-form .sbl-brands-search-icon-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  flex-shrink: 0 !important;
  padding: 0 0 0 12px !important;
  color: var(--muted) !important;
  pointer-events: none !important;
}
.sbl-form .sbl-brands-search-input {
  padding-left: 44px !important;
}
/* Ensure the search input wrapper clips correctly */
.sbl-form .sbl-brands-search-input-wrapper {
  overflow: visible !important;
}

/* Brands info bar (count + per-page) */
.sbl-form .sbl-form-brands-info {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}
.sbl-form .sbl-form-brands-count {
  font-size: 12px !important;
  color: var(--muted, #6b7a9e) !important;
}
.sbl-form .sbl-form-brands-count strong {
  color: var(--blue, #1557b0) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
}
.sbl-form .sbl-form-per-page-selector {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.sbl-form .sbl-form-per-page-label {
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  font-size: 11px !important;
  color: var(--muted, #6b7a9e) !important;
}
.sbl-form .sbl-form-per-page-select {
  padding: 4px 8px !important;
  min-width: auto !important;
  width: auto !important;
  clip-path: polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) !important;
}

/* ---- BRANDS GRID — v2 4-column ---- */
.sbl-form .sbl-brands-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 3px !important;
  background: rgba(21,87,176,.06) !important;
  border: 1.5px solid rgba(21,87,176,.1) !important;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) !important;
  border-radius: 0 !important;
  margin-top: 12px !important;
  overflow: hidden !important;
}

/* Brand cards in grid */
.sbl-form .sbl-brand-card {
  background: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.sbl-form .sbl-brand-card:hover {
  transform: none !important;
  box-shadow: none !important;
}
/* Hide the checkbox input */
.sbl-form .sbl-brand-checkbox-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Card content — the visible part */
.sbl-form .sbl-brand-card-content {
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 12px 12px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background .2s !important;
  position: relative !important;
  min-height: auto !important;
  box-shadow: none !important;
}
.sbl-form .sbl-brand-card-content::before {
  display: none !important;
}
.sbl-form .sbl-brand-card:hover .sbl-brand-card-content {
  background: var(--sky, #e8f2fd) !important;
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
/* Selected state */
.sbl-form .sbl-brand-checkbox-input:checked + .sbl-brand-card-content {
  background: var(--sky, #e8f2fd) !important;
  outline: 2px solid var(--blue, #1557b0) !important;
  outline-offset: -2px !important;
}

/* Brand logo zone */
.sbl-form .sbl-brand-card-logo {
  width: 100% !important;
  height: 110px !important;
  min-height: 110px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #edf0f7 !important;
  background: var(--grey, #f4f6fb) !important;
  padding: 10px !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}
.sbl-form .sbl-brand-card-logo img {
  max-width: 100% !important;
  max-height: 90px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  transition: none !important;
}
.sbl-form .sbl-brand-card:hover .sbl-brand-card-logo img {
  transform: none !important;
}
.sbl-form .sbl-brand-checkbox-input:checked + .sbl-brand-card-content .sbl-brand-card-logo {
  background: transparent !important;
}
.sbl-form .sbl-brand-checkbox-input:checked + .sbl-brand-card-content .sbl-brand-card-logo img {
  filter: none !important;
  opacity: 1 !important;
}
/* Placeholder logo */
.sbl-form .sbl-brand-card-logo-placeholder {
  background: rgba(21,87,176,.06) !important;
  border-radius: 0 !important;
  color: var(--muted, #6b7a9e) !important;
}

/* Brand name */
.sbl-form .sbl-brand-card-name {
  font-size: 11px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: .5px !important;
  color: var(--muted, #6b7a9e) !important;
  transition: color .2s !important;
}
.sbl-form .sbl-brand-checkbox-input:checked + .sbl-brand-card-content .sbl-brand-card-name {
  color: var(--blue, #1557b0) !important;
}

/* Checkmark */
.sbl-form .sbl-brand-card-check {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  width: 20px !important;
  height: 20px !important;
  border: 1.5px solid #d0d8ea !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  clip-path: none !important;
  border-radius: 2px !important;
  opacity: 1 !important;
  transform: none !important;
  transition: background .2s, border-color .2s !important;
  z-index: 5 !important;
}
.sbl-form .sbl-brand-card-check svg {
  width: 12px !important;
  height: 12px !important;
  color: transparent !important;
  flex-shrink: 0 !important;
}
.sbl-form .sbl-brand-checkbox-input:checked + .sbl-brand-card-content .sbl-brand-card-check {
  background: var(--blue, #1557b0) !important;
  border-color: var(--blue, #1557b0) !important;
}
.sbl-form .sbl-brand-checkbox-input:checked + .sbl-brand-card-content .sbl-brand-card-check svg {
  color: #fff !important;
}

/* ---- PAGINATION ---- */
.sbl-form .sbl-form-pagination {
  padding: 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
}
.sbl-form .sbl-form-pagination a,
.sbl-form .sbl-form-pagination span {
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 8px !important;
  border: 1.5px solid #d0d8ea !important;
  background: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: var(--muted, #6b7a9e) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  clip-path: polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}
.sbl-form .sbl-form-pagination .current,
.sbl-form .sbl-form-pagination a:hover {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-color: var(--blue, #1557b0) !important;
}

/* ---- SUBMIT BUTTON ---- */
.sbl-form .sbl-submit-row {
  text-align: center !important;
  padding: 36px 28px 0 !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  clip-path: none !important;
  box-shadow: none !important;
}
.sbl-form .sbl-submit-button,
.sbl-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 56px !important;
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
}
.sbl-form .sbl-submit-button:hover,
.sbl-form button[type="submit"]:hover {
  background: var(--blue2, #0d3a7a) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(21,87,176,.3) !important;
}
.sbl-form .sbl-submit-button svg,
.sbl-form button[type="submit"] svg {
  color: #fff !important;
}

/* Success modal — v2 style */
.sbl-modal-content {
  clip-path: polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px)) !important;
  border-radius: 0 !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
  .sbl-form .sbl-brands-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .sbl-form .sbl-form-row-group {
    grid-template-columns: 1fr !important;
  }
  .sbl-form .sbl-form-row {
    padding: 0 20px !important;
  }
  .sbl-form .sbl-form-row-group {
    padding: 0 20px !important;
  }
}

/* Store locator map — contained width */
.sbl-store-locator-container {
  max-width: 1365px;
  margin: 0 auto;
}
.sbl-store-locator-container .sbl-locator-header {
  border-radius: 0;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
}
.sbl-store-locator-container .sbl-map-container {
  border: 2px solid var(--blue, #1557b0);
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  overflow: hidden;
  margin-top: 16px;
}

/* ---- Store locator — v2 blue color overrides ---- */

/* Brand tags in sidebar store cards & info window */
.sbl-store-brand-tag,
.sbl-brand-tag,
.sbl-info-window .sbl-brand-tag {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) !important;
}
.sbl-store-brand-tag.sbl-more-brands {
  background: var(--muted, #6b7a9e) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) !important;
}

/* "Voir plus" / "+11" tag */
.sbl-store-brand-show-more,
.sbl-store-brand-show-less {
  color: var(--blue, #1557b0) !important;
  border-color: var(--blue, #1557b0) !important;
  border-radius: 0 !important;
}
.sbl-store-brand-show-more:hover,
.sbl-store-brand-show-less:hover {
  background: var(--sky, #e8f2fd) !important;
  color: var(--blue, #1557b0) !important;
}

/* Directions button ("Ouvrir l'itinéraire") */
.sbl-directions-btn {
  background: var(--blue, #1557b0) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
}
.sbl-directions-btn:hover {
  background: var(--blue2, #0d3a7a) !important;
  box-shadow: 0 4px 12px rgba(21,87,176,.3) !important;
}

/* Info window links (phone, email) */
.sbl-info-window-phone a,
.sbl-info-window-email a {
  color: var(--blue, #1557b0) !important;
}
.sbl-info-window-phone a:hover,
.sbl-info-window-email a:hover {
  color: var(--blue2, #0d3a7a) !important;
}

/* Info window action link */
.sbl-info-window-link {
  background: var(--blue, #1557b0) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
}
.sbl-info-window-link:hover {
  background: var(--blue2, #0d3a7a) !important;
  box-shadow: 0 4px 8px rgba(21,87,176,.3) !important;
}

/* Info window title */
.sbl-info-window-title {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
}

/* Info window SVG icons */
.sbl-info-window-address svg,
.sbl-info-window-phone svg,
.sbl-info-window-contact svg,
.sbl-info-window-email svg {
  color: var(--blue, #1557b0) !important;
}

/* Sidebar store card links */
.sbl-store-list .sbl-store-phone a,
.sbl-store-list .sbl-store-email a {
  color: var(--blue, #1557b0) !important;
}
.sbl-store-list .sbl-store-phone a:hover,
.sbl-store-list .sbl-store-email a:hover {
  color: var(--blue2, #0d3a7a) !important;
}

/* Store card hover */
.sbl-store-card:hover,
.sbl-store-list-item:hover {
  background: var(--sky, #e8f2fd) !important;
}

/* Sidebar store name */
.sbl-store-name,
.sbl-store-card h3 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  color: var(--text, #1a2340) !important;
}

/* UM profile store brand tags */
.um-sbl-brand-tag {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) !important;
}

/* ========================================
   NEWSLETTER (osn-*)
   ======================================== */
.osn-unsubscribe-page {
  max-width: 600px;
  margin: 0 auto;
}

/* ========================================
   ULTIMATE MEMBER FORMS
   ======================================== */
.um-form input[type="text"],
.um-form input[type="email"],
.um-form input[type="password"],
.um-form textarea,
.um-form select {
  font-family: 'Inter Tight', sans-serif;
  border: 1.5px solid #d0d8ea;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.um-form input[type="text"]:focus,
.um-form input[type="email"]:focus,
.um-form input[type="password"]:focus,
.um-form textarea:focus {
  border-color: var(--blue3, #3d8fe0);
  box-shadow: 0 0 0 3px rgba(61,143,224,.12);
}

.um-form .um-button,
.um .um-button {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  clip-path: polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  border: none !important;
  transition: background .25s !important;
}
.um-form .um-button:hover,
.um .um-button:hover {
  background: var(--blue3, #3d8fe0) !important;
}

/* UM login/register page — v2 styling */
.um-form .um-field-label {
  font-family: 'Inter Tight', sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--text, #1a2340) !important;
}
.um .um-form .um-field-area {
  font-family: 'Inter Tight', sans-serif;
}
/* UM form inputs — v2 style */
.um-form input[type="text"],
.um-form input[type="email"],
.um-form input[type="password"],
.um-form textarea,
.um-form select {
  background: var(--grey, #f4f6fb) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
}
/* UM button — full width, v2 style */
.um-form .um-button,
.um .um-button {
  width: 100% !important;
  padding: 15px 24px !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  clip-path: polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) !important;
  border-radius: 0 !important;
}
.um-form .um-button:hover,
.um .um-button:hover {
  background: var(--blue2, #0d3a7a) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(21,87,176,.3) !important;
}
/* UM form container — remove default backgrounds */
.um .um-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: none !important;
}
/* UM logged-in profile — clean styling */
.um .um-profile-photo img {
  border-radius: 50% !important;
}
/* UM links */
.um-form a,
.um a {
  color: var(--blue, #1557b0) !important;
}
.um-form a:hover,
.um a:hover {
  color: var(--blue2, #0d3a7a) !important;
}

/* Responsive login layout */
@media (max-width: 900px) {
  .main-content {
    flex-direction: column !important;
    align-items: center !important;
  }
}

/* Hide Flatsome shortcode remnants that render as raw text */
.page-content-inner p:empty {
  display: none;
}
/* Hide common Flatsome shortcode text patterns left in page content */
.main-content p:first-child:not(:last-child) {
  /* Only hide if it looks like a shortcode */
}


/* ========================================
   WISE CHAT — v2 Chat App Style
   ======================================== */

/* Main container — v2 chat app frame */
.v2-chat-wrapper .wcContainer,
.v2-chat-wrapper [id*="wise-chat"],
.v2-chat-wrapper #wise-chat-1 {
  background: #fff !important;
  border: 2px solid var(--blue, #1557b0) !important;
  clip-path: polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px)) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  z-index: 50 !important;
  position: relative !important;
  box-shadow: none !important;
  min-height: 580px !important;
  font-family: 'Inter Tight', sans-serif !important;
}

/* ---- Chat title bar ---- */
.v2-chat-wrapper .wcWindowTitle {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  border-radius: 0 !important;
  padding: 14px 20px !important;
  border-bottom: 2px solid rgba(255,255,255,.1) !important;
  letter-spacing: .5px !important;
}

/* ---- Messages area ---- */
.v2-chat-wrapper .wcMessages,
.v2-chat-wrapper .wcMessages1 {
  background-color: var(--grey, #f4f6fb) !important;
  background-image:
    linear-gradient(rgba(232,242,253,.3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,242,253,.3) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
  font-family: 'Inter Tight', sans-serif !important;
}

/* ---- Message rows ---- */
.v2-chat-wrapper .wcMessage {
  font-family: 'Inter Tight', sans-serif !important;
  padding: 4px 20px !important;
}

/* Message user name */
.v2-chat-wrapper .wcMessageUser {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--blue3, #3d8fe0) !important;
  margin-bottom: 2px !important;
}

/* Message content bubble */
.v2-chat-wrapper .wcMessageContent,
.v2-chat-wrapper .wcMessageContentInternal {
  background: #fff !important;
  padding: 10px 14px !important;
  border-radius: 12px 12px 12px 0 !important;
  font-size: 13px !important;
  color: var(--text, #1a2340) !important;
  line-height: 1.5 !important;
  border: 1px solid rgba(21,87,176,.08) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
  display: inline-block !important;
  max-width: 68% !important;
  word-break: break-word !important;
}

/* Own messages — blue bubble */
.v2-chat-wrapper .wcCurrentUserMessage .wcMessageContent,
.v2-chat-wrapper .wcCurrentUserMessage .wcMessageContentInternal {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  border-radius: 12px 12px 0 12px !important;
  border-color: transparent !important;
  margin-left: auto !important;
}

/* Message time */
.v2-chat-wrapper .wcMessageTime {
  font-size: 10px !important;
  color: var(--muted, #6b7a9e) !important;
  opacity: .7 !important;
}
.v2-chat-wrapper .wcMessageTimeDate {
  font-size: 10px !important;
}
.v2-chat-wrapper .wcMessageTimeHour {
  font-size: 10px !important;
}

/* Message avatar */
.v2-chat-wrapper .wcMessageAvatar img {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

/* ---- Users list sidebar ---- */
.v2-chat-wrapper .wcUsersList,
.v2-chat-wrapper .wcUsersListContainer {
  background: var(--blue2, #0d3a7a) !important;
  border-left: 2px solid rgba(255,255,255,.08) !important;
  font-family: 'Inter Tight', sans-serif !important;
}
.v2-chat-wrapper .wcUsersList a,
.v2-chat-wrapper .wcUsersListContainer a {
  color: rgba(255,255,255,.8) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
  transition: background .2s !important;
  text-decoration: none !important;
}
.v2-chat-wrapper .wcUsersList a:hover,
.v2-chat-wrapper .wcUsersListContainer a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
}
/* User avatar in list */
.v2-chat-wrapper .wcUserListAvatar img {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,.2) !important;
}
/* User activity flag */
.v2-chat-wrapper .wcUserActivityFlag {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}
.v2-chat-wrapper .wcUserActive .wcUserActivityFlag {
  background: #25d366 !important;
}
.v2-chat-wrapper .wcUserInactive .wcUserActivityFlag {
  background: #f59e0b !important;
}

/* Users list search */
.v2-chat-wrapper .wcUsersListSearchBox input {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: #fff !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 12px !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px)) !important;
  padding: 8px 12px !important;
}
.v2-chat-wrapper .wcUsersListSearchBox input::placeholder {
  color: rgba(255,255,255,.4) !important;
}

/* Users list footer */
.v2-chat-wrapper .wcUsersListFooter {
  background: rgba(0,0,0,.15) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding: 8px 12px !important;
}

/* ---- Input area ---- */
.v2-chat-wrapper .wcControls,
.v2-chat-wrapper .wcControls1 {
  background: #fff !important;
  border-top: 1.5px solid #edf0f7 !important;
  padding: 12px 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}
/* Hide duplicate/extra controls — only show one input area */
.v2-chat-wrapper .wcControls + .wcControls,
.v2-chat-wrapper .wcOperationalSection .wcControls ~ .wcControls,
.v2-chat-wrapper .wcOperationalSection > .wcControls:not(:last-of-type) {
  display: none !important;
}
/* Reorder: tools → input → send button */
.v2-chat-wrapper [id*="wc"] .wcControls .wcInputContainer,
.v2-chat-wrapper .wcContainer .wcControls .wcInputContainer,
.v2-chat-wrapper .wcControls > .wcInputContainer {
  order: 2 !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}
.v2-chat-wrapper [id*="wc"] .wcControls .wcToolButton,
.v2-chat-wrapper .wcContainer .wcControls .wcToolButton,
.v2-chat-wrapper .wcControls > .wcToolButton {
  order: 1 !important;
  flex-shrink: 0 !important;
}
.v2-chat-wrapper [id*="wc"] .wcControls .wcSubmitButton,
.v2-chat-wrapper .wcContainer .wcControls .wcSubmitButton,
.v2-chat-wrapper .wcControls > .wcSubmitButton {
  order: 3 !important;
  flex-shrink: 0 !important;
}
.v2-chat-wrapper .wcControls > .wcMessageAttachments {
  order: 4 !important;
  width: 100% !important;
}

/* Input container — take remaining space */
.v2-chat-wrapper .wcInputContainer,
.v2-chat-wrapper .wcContainer .wcInputContainer,
.v2-chat-wrapper [id*="wc"] .wcInputContainer {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

/* Message input field */
.v2-chat-wrapper .wcInput,
.v2-chat-wrapper .wcInputContainer textarea,
.v2-chat-wrapper .wcInputContainer input[type="text"] {
  font-family: 'Inter Tight', sans-serif !important;
  border: 1.5px solid #d0d8ea !important;
  background: var(--grey, #f4f6fb) !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  color: var(--text, #1a2340) !important;
  padding: 10px 16px !important;
  outline: none !important;
  transition: border-color .2s, background .2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.v2-chat-wrapper .wcInput:focus,
.v2-chat-wrapper .wcInputContainer textarea:focus,
.v2-chat-wrapper .wcInputContainer input[type="text"]:focus {
  border-color: var(--blue3, #3d8fe0) !important;
  background: #fff !important;
}

/* Send button */
.v2-chat-wrapper .wcSubmitButton,
.v2-chat-wrapper .wcSubmitButton input,
.v2-chat-wrapper .wcControls input[type="submit"],
.v2-chat-wrapper .wcControls button[type="submit"] {
  background: var(--blue, #1557b0) !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)) !important;
  cursor: pointer !important;
  padding: 10px 20px !important;
  transition: background .2s !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.v2-chat-wrapper .wcSubmitButton:hover,
.v2-chat-wrapper .wcSubmitButton input:hover,
.v2-chat-wrapper .wcControls input[type="submit"]:hover {
  background: var(--blue2, #0d3a7a) !important;
}

/* Action wrapper — keep buttons inline */
.v2-chat-wrapper .wcActionWrapper {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}

/* Action buttons (emoji, file, image) */
.v2-chat-wrapper .wcToolButton,
.v2-chat-wrapper .wcInsertEmoticonButton,
.v2-chat-wrapper .wcAddImageAttachment,
.v2-chat-wrapper .wcAddFileAttachment {
  color: var(--muted, #6b7a9e) !important;
  transition: color .2s !important;
  border: none !important;
  background: transparent !important;
}
.v2-chat-wrapper .wcToolButton:hover,
.v2-chat-wrapper .wcInsertEmoticonButton:hover,
.v2-chat-wrapper .wcAddImageAttachment:hover,
.v2-chat-wrapper .wcAddFileAttachment:hover {
  color: var(--blue, #1557b0) !important;
}

/* ---- Tabs ---- */
.v2-chat-wrapper .wcMessagesContainersTabs {
  background: var(--blue, #1557b0) !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 8px !important;
  height: 40px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
}
.v2-chat-wrapper .wcMessagesContainerTab {
  display: inline-flex !important;
  align-items: center !important;
  height: 100% !important;
  flex-shrink: 0 !important;
}
.v2-chat-wrapper .wcChannelTab a,
.v2-chat-wrapper .wcMessagesContainerTabLink {
  color: rgba(255,255,255,.7) !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border: none !important;
  background: transparent !important;
  padding: 8px 14px !important;
  transition: color .2s, background .2s !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 100% !important;
  white-space: nowrap !important;
}
.v2-chat-wrapper .wcChannelTab a:hover,
.v2-chat-wrapper .wcMessagesContainerTabLink:hover {
  color: #fff !important;
  background: rgba(255,255,255,.1) !important;
}
.v2-chat-wrapper .wcMessagesContainerTabActive a,
.v2-chat-wrapper .wcChannelTab.wcTab1 a {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border-bottom: 2px solid #fff !important;
}

/* PM navigation buttons (< >) */
.v2-chat-wrapper .wcPmNavigationButton {
  color: rgba(255,255,255,.4) !important;
  font-size: 14px !important;
  padding: 0 6px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  line-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
}
.v2-chat-wrapper .wcPmNavigationButton:hover {
  color: #fff !important;
}
.v2-chat-wrapper .wcPmNavigationButtonDisabled {
  display: none !important;
}
/* Hide nav buttons entirely — tabs scroll horizontally */
.v2-chat-wrapper .wcPmNavigationButton {
  display: none !important;
}
/* Hide loading indicator / recent chats indicator in tabs */
.v2-chat-wrapper .wcRecentChatsIndicator,
.v2-chat-wrapper .wcMessagesContainersTabs .wcInvisible,
.v2-chat-wrapper .wcMessagesContainersTabs > img,
.v2-chat-wrapper .wcMessagesContainersTabs > svg {
  display: none !important;
}
/* Hide the tab alert dot (circle) that shows next to tab name */
.v2-chat-wrapper .wcMessagesContainerTab > .wcTabAlert[style*="display: none"] {
  display: none !important;
}

/* PM tab close button (x) — needs high specificity to beat plugin ID selectors */
.v2-chat-wrapper .wcMessagesContainerTabCloseLink,
.v2-chat-wrapper .wcMessagesContainerTab .wcMessagesContainerTabCloseLink,
.v2-chat-wrapper .wcMessagesContainerTab a.wcMessagesContainerTabCloseLink {
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-left: 8px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.25) !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  transition: background .2s !important;
  text-align: center !important;
}
.v2-chat-wrapper .wcMessagesContainerTabCloseLink:hover,
.v2-chat-wrapper .wcMessagesContainerTab .wcMessagesContainerTabCloseLink:hover {
  background: rgba(255,255,255,.45) !important;
  color: #fff !important;
}

/* Tab alert badge — hide when empty */
.v2-chat-wrapper .wcTabAlert {
  background: var(--blue3, #3d8fe0) !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
  min-width: 16px !important;
  height: 16px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
  position: static !important;
  top: auto !important;
}
.v2-chat-wrapper .wcTabAlert[style*="display: inline"] {
  display: inline-flex !important;
}

/* Tab close button (x) */
.v2-chat-wrapper .wcMessagesContainerTab .wcRecentChatsIndicator,
.v2-chat-wrapper .wcMessagesContainerTab a[href] ~ a {
  vertical-align: middle !important;
  line-height: 1 !important;
}

/* Fix tab dot indicators — vertically center them */
.v2-chat-wrapper .wcMessagesContainersTabs * {
  vertical-align: middle !important;
}
.v2-chat-wrapper .wcMessagesContainersTabs sup {
  position: static !important;
  top: auto !important;
  vertical-align: middle !important;
}

/* ---- Top controls ---- */
.v2-chat-wrapper .wcTopControls {
  background: #fff !important;
  border-bottom: 1.5px solid #edf0f7 !important;
  padding: 8px 16px !important;
}
.v2-chat-wrapper .wcTopControlsButton {
  background: var(--grey, #f4f6fb) !important;
  border: 1.5px solid #e2e8f0 !important;
  color: var(--muted, #6b7a9e) !important;
  border-radius: 0 !important;
  clip-path: polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) !important;
  transition: background .2s, color .2s !important;
  cursor: pointer !important;
}
.v2-chat-wrapper .wcTopControlsButton:hover {
  background: var(--sky, #e8f2fd) !important;
  color: var(--blue, #1557b0) !important;
}

/* ---- Images in chat ---- */
.v2-chat-wrapper .wcImage img {
  max-width: 200px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(21,87,176,.1) !important;
}

/* ---- Emoticons ---- */
.v2-chat-wrapper .wcEmoticon img {
  vertical-align: middle !important;
}

/* General z-index fix */
#wise-chat-1,
.wcContainer,
.wise-chat-container,
[class*="wise-chat"],
[id*="wise-chat"] {
  z-index: 50 !important;
  position: relative !important;
}

/* ---- Chat responsive ---- */
@media (max-width: 900px) {
  .v2-chat-wrapper .wcUsersList,
  .v2-chat-wrapper .wcUsersListContainer {
    display: none !important;
  }
  /* Chat container — remove clip-path on mobile, full width */
  .v2-chat-wrapper .wcContainer,
  .v2-chat-wrapper [id*="wise-chat"],
  .v2-chat-wrapper #wise-chat-1 {
    clip-path: none !important;
    border-width: 1.5px !important;
    min-height: 450px !important;
  }
  /* Messages — reduce padding */
  .v2-chat-wrapper .wcMessage {
    padding: 4px 12px !important;
  }
  /* Message bubbles — wider on mobile */
  .v2-chat-wrapper .wcMessageContent,
  .v2-chat-wrapper .wcMessageContentInternal {
    max-width: 85% !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
  }
  /* Input area */
  .v2-chat-wrapper .wcControls,
  .v2-chat-wrapper .wcControls1 {
    padding: 8px 10px !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }
  /* Input field */
  .v2-chat-wrapper .wcInput,
  .v2-chat-wrapper .wcInputContainer textarea,
  .v2-chat-wrapper .wcInputContainer input[type="text"] {
    padding: 8px 12px !important;
    font-size: 13px !important;
    clip-path: none !important;
  }
  /* Send button */
  .v2-chat-wrapper .wcSubmitButton,
  .v2-chat-wrapper .wcSubmitButton input,
  .v2-chat-wrapper .wcControls input[type="submit"],
  .v2-chat-wrapper .wcControls button[type="submit"] {
    padding: 8px 14px !important;
    font-size: 11px !important;
    clip-path: polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px)) !important;
  }
  /* Tool buttons — smaller */
  .v2-chat-wrapper .wcToolButton {
    font-size: 16px !important;
    padding: 4px !important;
  }
  /* Chat images — constrain on mobile */
  .v2-chat-wrapper .wcImage img {
    max-width: 150px !important;
  }
  /* Title bar */
  .v2-chat-wrapper .wcWindowTitle {
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
  /* Tabs */
  .v2-chat-wrapper .wcMessagesContainersTabs {
    padding: 0 6px !important;
    height: 36px !important;
  }
}

@media (max-width: 600px) {
  /* Hide tool buttons on mobile — they take too much space */
  .v2-chat-wrapper .wcToolButton,
  .v2-chat-wrapper .wcAddFileAttachment,
  .v2-chat-wrapper .wcAddImageAttachment,
  .v2-chat-wrapper .wcInsertEmoticonButton {
    display: none !important;
  }
  /* Hide <br> clear elements in controls */
  .v2-chat-wrapper .wcControls br,
  .v2-chat-wrapper .wcControls .wcClear {
    display: none !important;
  }
  /* Input container — take all remaining space */
  .v2-chat-wrapper .wcInputContainer {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    order: 1 !important;
  }
  /* Submit button */
  .v2-chat-wrapper .wcSubmitButton,
  .v2-chat-wrapper .wcControls input[type="submit"],
  .v2-chat-wrapper .wcControls button[type="submit"] {
    order: 2 !important;
  }
  /* Action wrapper */
  .v2-chat-wrapper .wcActionWrapper {
    display: none !important;
  }
}

@media (max-width: 480px) {
  /* Even tighter on small phones */
  .v2-chat-wrapper .wcContainer,
  .v2-chat-wrapper [id*="wise-chat"],
  .v2-chat-wrapper #wise-chat-1 {
    min-height: 400px !important;
    border-width: 1px !important;
  }
  .v2-chat-wrapper .wcMessageContent,
  .v2-chat-wrapper .wcMessageContentInternal {
    max-width: 90% !important;
    font-size: 12px !important;
  }
  .v2-chat-wrapper .wcMessage {
    padding: 3px 8px !important;
  }
  .v2-chat-wrapper .wcControls,
  .v2-chat-wrapper .wcControls1 {
    padding: 6px 8px !important;
  }
  .v2-chat-wrapper .wcImage img {
    max-width: 120px !important;
  }
}

/* Announcer plugin bar — style to match v2 */
.ancr-gnrl-container,
.ancr_bar,
[class*="ancr"] {
  font-family: 'Inter Tight', sans-serif !important;
}

/* Supplier row cards — mobile responsive */
@media (max-width: 600px) {
  .osf-supplier-row {
    grid-template-columns: 1fr !important;
  }
  /* Logo column: reduce height (skip the premium ribbon which may be first child) */
  .osf-supplier-row > div:not(.osf-premium-ribbon) {
    border-right: none !important;
  }
  .osf-supplier-row > div:not(.osf-premium-ribbon):first-child,
  .osf-supplier-row > .osf-premium-ribbon + div {
    min-height: 100px !important;
    padding: 20px 16px !important;
    border-bottom: 1.5px solid rgba(255,255,255,.1) !important;
  }
  /* Content column: reduce padding */
  .osf-supplier-row > div:last-child {
    padding: 20px 16px 18px !important;
  }
  /* Premium ribbon: shrink and reposition — specificity 0-2-1 to beat div:first-child */
  .osf-supplier-row > div.osf-premium-ribbon {
    right: 8px !important;
    font-size: 8px !important;
    padding: 3px 8px !important;
    letter-spacing: 1px !important;
    min-height: 0 !important;
    height: auto !important;
    border-bottom: none !important;
    border-right: none !important;
  }
}

/* ========================================
   GLOBAL: Remove all rounded corners from
   plugin form elements (v2 angular style)
   ======================================== */
.osca-submission-form-wrapper *,
.sbl-submission-form *,
.sbl-submission-form-wrapper *,
.osca-ads-wrapper *,
.sbl-store-locator-container *,
.sbl-brand-directory-wrapper * {
  border-radius: 0 !important;
}
/* Exceptions: keep circles for avatars, dots, icons */
.sbl-address-badge,
.sbl-modal-icon,
.ticker-dot,
.dot,
.wpseo-score-icon {
  border-radius: 50% !important;
}
/* Google Places autocomplete dropdown */
.pac-container {
  border-radius: 0 !important;
}

/* Brand & address search inputs — transparent wrapper, style input directly */
.sbl-brands-search-input-wrapper,
.sbl-brand-search-input-wrapper,
.sbl-address-input-wrapper {
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sbl-brands-search-input-wrapper:focus-within,
.sbl-brand-search-input-wrapper:focus-within,
.sbl-address-input-wrapper:focus-within {
  border: none !important;
  box-shadow: none !important;
}
/* Hide search icon sections for brand search */
body .sbl-brands-search-icon-section,
body .sbl-brand-search-icon-section,
body .sbl-search-icon-section,
.sbl-form .sbl-brands-search-icon-section {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
/* Show address search icon */
body .sbl-address-icon-section,
.sbl-form .sbl-address-icon-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  left: 2px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  height: auto !important;
  color: var(--muted) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
.sbl-address-input-wrapper {
  position: relative !important;
}
/* Search input — styled exactly like other v2 inputs */
.sbl-brands-search-input,
.sbl-brand-search-input {
  padding: 12px 16px !important;
  font-size: 13px !important;
  font-family: 'Inter Tight', sans-serif !important;
  color: var(--text) !important;
  border: 1.5px solid #d0d8ea !important;
  background: #f4f6fb !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  height: auto !important;
  width: 100% !important;
}
/* Address input wrapper — no border on wrapper */
.sbl-input-wrapper.sbl-address-input,
div.sbl-address-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Address input field — visible border + search icon padding */
.sbl-form .sbl-address-input-field,
.sbl-form #sbl-address,
input.sbl-address-input-field {
  padding: 12px 16px 12px 34px !important;
  font-size: 13px !important;
  font-family: 'Inter Tight', sans-serif !important;
  color: var(--text) !important;
  border: 1.5px solid var(--blue, #1557b0) !important;
  background: var(--grey, #f4f6fb) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  height: auto !important;
  width: 100% !important;
}
.sbl-brands-search-input:focus,
.sbl-brand-search-input:focus {
  border-color: var(--blue3) !important;
  box-shadow: 0 0 0 3px rgba(61,143,224,.12) !important;
  outline: none !important;
}
.sbl-address-input:focus,
.sbl-form .sbl-address-input-field:focus,
.sbl-form #sbl-address:focus {
  border-color: var(--blue3) !important;
  box-shadow: 0 0 0 3px rgba(61,143,224,.12) !important;
  outline: none !important;
}
.sbl-brands-search-input::placeholder,
.sbl-brand-search-input::placeholder,
.sbl-address-input::placeholder {
  color: var(--muted) !important;
  font-size: 13px !important;
}
/* Search results dropdown */
.sbl-brand-search-results {
  border: 1.5px solid rgba(21,87,176,.15) !important;
  border-top: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.sbl-brand-search-item:hover {
  background: var(--sky) !important;
  color: var(--blue) !important;
}
.sbl-brand-search-item-selected {
  background: var(--sky) !important;
  color: var(--blue) !important;
}

/* ========================================
   CONTACT FORM 7 — v2 design overrides
   ======================================== */
.wpcf7-form {
  font-family: 'Inter Tight', sans-serif !important;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #d0d8ea !important;
  background: #f4f6fb !important;
  border-radius: 0 !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13px !important;
  color: var(--text) !important;
  outline: none !important;
  transition: border-color .2s, box-shadow .2s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(21,87,176,.08) !important;
  background: #fff !important;
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: var(--muted) !important;
  font-size: 13px !important;
}
.wpcf7-form textarea {
  min-height: 140px !important;
  resize: vertical !important;
}
/* Labels */
.wpcf7-form label,
.wpcf7-form p {
  font-size: 13px !important;
  color: var(--text) !important;
  margin-bottom: 4px !important;
}
/* Submit button */
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit {
  background: var(--blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)) !important;
  transition: background .2s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.wpcf7-form input[type="submit"]:hover {
  background: var(--blue2) !important;
}
/* Checkbox / acceptance */
.wpcf7-form .wpcf7-acceptance {
  font-size: 12px !important;
  color: var(--muted) !important;
}
/* Validation errors */
.wpcf7-not-valid-tip {
  color: #dc2626 !important;
  font-size: 12px !important;
}
.wpcf7-response-output {
  border-radius: 0 !important;
  font-size: 13px !important;
}
