/* Kampio final button overrides - must load after page CSS */
.plan-trip-btn--primary,
.trip-simple-btn--primary,
.trip-simple-result__cta,
.forum-btn--primary:not(.forum-filter-submit),
.home-search-path-card__cta,
.home-community-topic__cta,
.camping-card__cta--primary,
.camping-detail-cta--primary {
  min-height: 52px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #0f2d3a 0%, #082330 100%) !important;
  color: #ffffff !important;
  border-color: #082330 !important;
  box-shadow: 0 14px 28px rgba(8, 35, 48, 0.18) !important;
}

.plan-trip-btn--primary:hover,
.trip-simple-btn--primary:hover,
.trip-simple-result__cta:hover,
.forum-btn--primary:not(.forum-filter-submit):hover,
.home-search-path-card__cta:hover,
.home-community-topic__cta:hover,
.camping-card__cta--primary:hover,
.camping-detail-cta--primary:hover {
  background: linear-gradient(180deg, #12394a 0%, #0f2d3a 100%) !important;
  color: #ffffff !important;
}

.trip-simple-result__secondary-cta,
.plan-trip-btn--secondary,
.trip-simple-btn--secondary,
.forum-btn--secondary,
.camping-card__cta--secondary,
.camping-detail-cta--secondary {
  min-height: 52px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #082330 !important;
  border: 1px solid rgba(15, 45, 58, 0.16) !important;
  box-shadow: none !important;
}

.campings-page-v2:not(.campings-page-v2--trip) .cmp-listing-card:not(.cmp-listing-card--trip) .camping-card__cta,
.camping-card__cta.kampio-btn,
.camping-card__cta.kampio-btn--secondary {
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #082330 !important;
  border: 1px solid rgba(15, 45, 58, 0.16) !important;
  box-shadow: none !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
}

.camping-card__cta--secondary:hover,
.camping-detail-cta--secondary:hover,
.campings-page-v2:not(.campings-page-v2--trip) .cmp-listing-card:not(.cmp-listing-card--trip) .camping-card__cta:hover,
.camping-card__cta.kampio-btn:hover,
.camping-card__cta.kampio-btn--secondary:hover {
  background: #f8f7f2 !important;
  color: #082330 !important;
  border-color: rgba(6, 43, 53, 0.35) !important;
}

body .home-page .tmc-card-section.home-featured .camping-card__cta,
body .home-page .tmc-card-section.home-featured .camping-card__cta.kampio-btn,
body .home-page .tmc-card-section.home-featured .camping-card__cta.kampio-btn--secondary {
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(6, 43, 53, 0.16) !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  max-height: 42px !important;
  padding: 0 10px !important;
  align-self: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 0.86rem !important;
  font-weight: 900 !important;
}

@media (max-width: 370px) {
  body .home-page .tmc-card-section.home-featured .camping-card__cta,
  body .home-page .tmc-card-section.home-featured .camping-card__cta.kampio-btn,
  body .home-page .tmc-card-section.home-featured .camping-card__cta.kampio-btn--secondary {
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
    font-size: 0.8rem !important;
  }
}

@media (max-width: 767px) {
  .campings-page-v2:not(.campings-page-v2--trip) .cmp-listing-card:not(.cmp-listing-card--trip) .camping-card__cta,
  .camping-card__cta.kampio-btn,
  .camping-card__cta.kampio-btn--secondary {
    min-height: 46px !important;
    height: 46px !important;
    font-size: 0.86rem !important;
  }
}

/* Camping card CTA — align left with listing text */
.campings-page-v2 .cmp-listing-card .camping-card__action,
.campings-page-v2 .cmp-listing-card .camping-card__cta-wrap,
.campings-page-v2:not(.campings-page-v2--trip) .cmp-listing-card:not(.cmp-listing-card--trip) .camping-card__action,
.campings-page-v2:not(.campings-page-v2--trip) .cmp-listing-card:not(.cmp-listing-card--trip) .camping-card__cta-wrap {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.campings-page-v2:not(.campings-page-v2--trip) .cmp-listing-card:not(.cmp-listing-card--trip) .camping-card__cta,
.camping-card__cta.kampio-btn,
.camping-card__cta.kampio-btn--secondary {
  width: auto !important;
  max-width: 100% !important;
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Owner CTA — bronze propriétaires (accueil) */
body .home-page .home-owner-cta__btn,
body .home-page .home-owner-cta__btn.tmc-btn-owner {
  border-radius: 999px !important;
}

/* Nav « Ajouter mon camping » — même bronze propriétaires */
.tmc-header-actions .tmc-nav-link--cta,
.tmc-mobile-menu.open .tmc-nav-link--cta {
  border-radius: 999px !important;
  background: var(--kampio-owner-accent, #96742B) !important;
  background-image: none !important;
  color: var(--kampio-owner-btn-ink, #FFFFFF) !important;
  border: 0 !important;
  box-shadow: 0 10px 24px var(--kampio-owner-accent-shadow, rgba(150, 116, 43, 0.28)) !important;
  font-weight: 800 !important;
}

.tmc-mobile-menu.open .tmc-nav-link--cta:hover,
.tmc-mobile-menu.open .tmc-nav-link--cta.tmc-nav-link--active {
  background: var(--kampio-owner-accent-hover, #856A24) !important;
  color: var(--kampio-owner-btn-ink, #FFFFFF) !important;
}

.tmc-header--airy .tmc-header-actions .tmc-nav-link--cta {
  background: var(--kampio-owner-accent, #96742B) !important;
  color: var(--kampio-owner-btn-ink, #FFFFFF) !important;
  border: 0 !important;
  box-shadow: 0 10px 24px var(--kampio-owner-accent-shadow, rgba(150, 116, 43, 0.28)) !important;
}

.tmc-header--airy .tmc-header-actions .tmc-nav-link--cta:hover {
  background: var(--kampio-owner-accent-hover, #856A24) !important;
  color: var(--kampio-owner-btn-ink, #FFFFFF) !important;
}

/* Forum comment modal — pill buttons, couleurs Kampio */
.forum-page .forum-comment-modal button.forum-comment-modal__btn,
.forum-comment-modal button.forum-comment-modal__btn {
  min-height: 44px !important;
  height: auto !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  font-size: 14.5px !important;
  font-weight: 850 !important;
  transform: none !important;
}

.forum-page .forum-comment-modal button.forum-comment-modal__btn--submit,
.forum-comment-modal button.forum-comment-modal__btn--submit {
  background: linear-gradient(180deg, #0f2d3a 0%, #082330 100%) !important;
  color: #ffffff !important;
  border: 1px solid #082330 !important;
  box-shadow: 0 10px 22px rgba(8, 35, 48, 0.16) !important;
}

.forum-page .forum-comment-modal button.forum-comment-modal__btn--submit:hover,
.forum-comment-modal button.forum-comment-modal__btn--submit:hover {
  background: linear-gradient(180deg, #12394a 0%, #0f2d3a 100%) !important;
  color: #ffffff !important;
}

.forum-page .forum-comment-modal button.forum-comment-modal__btn--cancel,
.forum-comment-modal button.forum-comment-modal__btn--cancel {
  background: #ffffff !important;
  color: #082330 !important;
  border: 1px solid rgba(15, 45, 58, 0.16) !important;
  box-shadow: none !important;
}

.forum-page .forum-comment-modal button.forum-comment-modal__btn--cancel:hover,
.forum-comment-modal button.forum-comment-modal__btn--cancel:hover {
  background: #f8f7f2 !important;
  border-color: rgba(6, 43, 53, 0.35) !important;
}

/* Forum inline compose — pill buttons Kampio (évite le jaune global submit) */
.forum-page .forum-thread-compose button.forum-thread-compose__btn,
.forum-thread-compose button.forum-thread-compose__btn {
  min-height: 32px !important;
  height: auto !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  transform: none !important;
  box-shadow: none !important;
}

.forum-page .forum-thread-compose button.forum-thread-compose__btn--submit,
.forum-thread-compose button.forum-thread-compose__btn--submit {
  background: linear-gradient(180deg, #0f2d3a 0%, #082330 100%) !important;
  color: #ffffff !important;
  border: 1px solid #082330 !important;
  box-shadow: 0 6px 14px rgba(8, 35, 48, 0.14) !important;
}

.forum-page .forum-thread-compose button.forum-thread-compose__btn--submit:hover,
.forum-thread-compose button.forum-thread-compose__btn--submit:hover {
  background: linear-gradient(180deg, #12394a 0%, #0f2d3a 100%) !important;
  color: #ffffff !important;
}

.forum-page .forum-thread-compose button.forum-thread-compose__btn--cancel,
.forum-thread-compose button.forum-thread-compose__btn--cancel {
  background: #ffffff !important;
  color: #082330 !important;
  border: 1px solid rgba(15, 45, 58, 0.16) !important;
}

.forum-page .forum-thread-compose button.forum-thread-compose__btn--cancel:hover,
.forum-thread-compose button.forum-thread-compose__btn--cancel:hover {
  background: #f8f7f2 !important;
  border-color: rgba(6, 43, 53, 0.35) !important;
}

.forum-feed-page .forum-feed-card__actionbar .forum-feed-card__action,
.forum-topic-page .forum-feed-card__actionbar .forum-feed-card__action {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 36px !important;
  height: auto !important;
  padding: 8px 10px !important;
  border-radius: 6px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transform: none !important;
}

.forum-feed-page .forum-feed-card__actionbar .forum-feed-card__action--comment,
.forum-topic-page .forum-feed-card__actionbar .forum-feed-card__action--comment {
  margin-right: auto !important;
  color: #65676b !important;
}

.forum-feed-page .forum-feed-card__actionbar .forum-feed-card__action--share,
.forum-topic-page .forum-feed-card__actionbar .forum-feed-card__action--share,
.forum-topic-page .tmc-share-wrap--forum-feed {
  margin-left: auto !important;
  padding: 8px 10px !important;
  color: #65676b !important;
}

.forum-feed-page .forum-feed-card__actionbar .forum-feed-card__action:hover,
.forum-topic-page .forum-feed-card__actionbar .forum-feed-card__action:hover {
  background: rgba(16, 42, 45, 0.06) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Keep toolbar/filter actions gold when intentionally used */
.forum-filter-submit,
.forum-filters button[type="submit"].forum-filter-submit {
  background: linear-gradient(180deg, #ffc94a 0%, #f5aa24 100%) !important;
  color: #082330 !important;
  border-radius: 999px !important;
}

/* Home community CTA — same pill block as path cards (Me guider) */
body .home-page .home-community-topic .home-community-topic__cta.btn-kampio {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  height: auto !important;
  margin-top: 4px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}

/* Trip page — Générer mon séjour / Modifier ma recherche (pill, couleurs tmc-accent) */
.campings-trip-page .campings-trip-summary__btn,
.campings-trip-page .cmp-trip-summary-card__btn {
  border-radius: 999px !important;
  min-height: 52px !important;
  height: auto !important;
  padding: 0 22px !important;
  font-weight: 850 !important;
  width: 100%;
  box-sizing: border-box !important;
}

.campings-trip-page .campings-trip-summary__btn--disabled {
  border-radius: 999px !important;
}

/* Trip page — Réserver sur les cartes (pill, couleur #062B35 conservée) */
.campings-trip-page .cmp-listing-card--trip .campings-trip-card__book-btn,
.campings-trip-page .cmp-listing-card--trip .cmp-card-actions--trip-book {
  border-radius: 999px !important;
  min-height: 52px !important;
  height: auto !important;
  box-sizing: border-box !important;
}

/* Map page — Me géolocaliser (pill, couleur dorée conservée) */
.map-page-v2 .map-geolocate-card button,
.tmc-map-geolocate-btn {
  border-radius: 999px !important;
  box-sizing: border-box !important;
}

.map-page-v2 .map-geolocate-card button {
  min-height: 52px !important;
}

.tmc-map-geolocate-btn {
  min-height: 52px !important;
}

/* Forum — Proposer une discussion (pill, couleur dorée conservée) */
.forum-page .forum-hero__cta {
  border-radius: 999px !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
}

/* Map modal — Itinéraire (pill, couleur conservée) */
body.map-page-active .map-info-btn,
body.map-page-active .map-info-btn-primary,
body.map-page-active .map-info-btn-secondary {
  border-radius: 999px !important;
  min-height: 52px !important;
  height: auto !important;
  box-sizing: border-box !important;
}

/* Mobile bottom nav — pill tabs like Ajouter mon camping (visible ≤900px) */
@media (max-width: 900px) {
  body nav.mobile-bottom-nav {
    gap: 6px !important;
    padding: 6px !important;
  }

  body nav.mobile-bottom-nav > a.mobile-bottom-nav__btn,
  body nav.mobile-bottom-nav > a.mobile-bottom-nav__btn.active {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    height: auto !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #082330 !important;
    border: 1px solid rgba(15, 45, 58, 0.16) !important;
    box-shadow: 0 2px 8px rgba(8, 35, 48, 0.05) !important;
    font-weight: 800 !important;
    gap: 3px !important;
    text-decoration: none !important;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease !important;
  }

  body nav.mobile-bottom-nav > a.mobile-bottom-nav__btn.active {
    background: linear-gradient(180deg, #0f2d3a 0%, #082330 100%) !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 10px 24px rgba(8, 35, 48, 0.18) !important;
  }

  body nav.mobile-bottom-nav .mobile-nav-label {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    color: inherit !important;
  }

  body nav.mobile-bottom-nav .mobile-nav-icon {
    font-size: 1rem !important;
    line-height: 1 !important;
    color: inherit !important;
  }
}
