/*
  Club V3 style refinements for _clubV2
  - Non-structural overrides loaded after Canvas + site CSS
  - Focus: color alignment, spacing, buttons, cards, forms
*/

/* Align primary hue with V3 palette */
:root {
  --themecolor: #009EF7;
}

/* Header primary menu: slightly bolder, tighter tracking */
#header .primary-menu .menu-container > .menu-item > .menu-link {
  font-weight: 600;
  letter-spacing: .02em;
}

@media (min-width: 992px) {
  #header .primary-menu .menu-container > .menu-item > .menu-link {
    padding: 0 18px;
  }
}

/* Buttons: unify radius and hover for Canvas .button and Bootstrap .btn */
.button,
.btn {
  border-radius: .4rem;
  transition: all .2s ease-in-out;
}

.button:not(.button-border):not(.button-dark),
.btn-primary {
  background-color: var(--themecolor);
  border-color: var(--themecolor);
}

.btn-primary:hover,
.button:not(.button-border):not(.button-dark):hover {
  filter: brightness(0.95);
}

.btn-outline-primary {
  color: var(--themecolor);
  border-color: var(--themecolor);
}
.btn-outline-primary:hover {
  background-color: var(--themecolor);
  border-color: var(--themecolor);
}

/* Cards, modals, forms */
.card {
  border-radius: .5rem;
  box-shadow: 0 0 20px rgba(76,87,125,0.06);
  border: 1px solid rgba(0,0,0,.05);
}

.modal-content {
  border-radius: .6rem;
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
}

.form-control,
.input-group-text {
  border-radius: .375rem;
}

/* Page title and breadcrumbs */
#page-title {
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.breadcrumb .breadcrumb-item a:hover {
  color: var(--themecolor);
}

/* Tables */
.table-striped tbody tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(0,0,0,0.02);
}
.table > :not(caption) > * > * { /* better alignment */
  vertical-align: middle;
}

/* General link hover accent */
a:hover {
  color: var(--themecolor);
}

/* Footer links in dark footer */
#footer.dark a:hover {
  color: var(--themecolor);
}

/* Bootstrap badge primary alignment */
.badge.bg-primary {
  background-color: var(--themecolor) !important;
}

/* Mobile menu trigger sizing */
#primary-menu-trigger .svg-trigger {
  width: 26px;
  height: 26px;
}

/* Ensure Canvas .button text contrast */
.button {
  color: #fff;
}

/* Icon list accent */
.iconlist > li [class^="icon-"]:first-child {
  color: var(--themecolor);
}

/* === V3 "Abo" look applied to V2 Resa modal === */
/* Scoped variables & styles only inside the reservation modal */
#tktModal {
  --brand: #f5a623;       /* warm orange like V3 abo */
  --brand-2: #ffcc6a;     /* gradient secondary */
  --radius: 14px;         /* rounded corners */
  --shadow-1: 0 6px 22px rgba(0,0,0,.08);
  --shadow-2: 0 12px 40px rgba(0,0,0,.12);
}

#tktModal .modal-content {
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow-2);
}

#tktModal .modal-header {
  background: linear-gradient(135deg, var(--brand), var(--brand-2)) !important;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}

#tktModal .modal-title { color: #fff !important; }
#tktModal .modal-body { padding: 22px; }
#tktModal .modal-footer { padding: 16px 22px; border-top: 1px dashed rgba(0,0,0,.08); }

/* Badge “connecté” in modal */
#tktModal .onConnectedDisplay.badge{
  background: linear-gradient(135deg, #d1fae5, #a7f3d0) !important;
  color:#065f46 !important;
  border-radius: 12px;
  border:1px solid #99f6e4;
}

/* Inputs and focus */
#tktModal .form-control {
  border-radius: 10px;
  border:1px solid #e5e7eb;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#tktModal .form-control:focus{
  border-color: var(--brand);
  box-shadow: 0 0 0 .2rem rgba(245,166,35,.15);
}
#tktModal label { color:#374151; font-weight:600; }

/* Phone input plugin tweaks */
#tktModal .iti__flag-container .iti__selected-flag{
  border-top-left-radius:10px;
  border-bottom-left-radius:10px;
}

/* Buttons inside modal */
#tktModal .btn-primary {
  background: var(--brand);
  border-color: var(--brand);
}
#tktModal .btn-primary:hover,
#tktModal .btn-primary:focus {
  background: #ea9b16;
  border-color: #ea9b16;
  box-shadow: 0 0 0 0.2rem rgba(245,166,35,.2);
}
#tktModal .btn-outline-primary { border-color: var(--brand); color: var(--brand); }
#tktModal .btn-outline-primary:hover { background: var(--brand); color:#fff; }
#tktModal .btn-success { background:#10b981; border-color:#10b981; }
#tktModal .btn-success:hover { background:#0ea371; border-color:#0ea371; }

/* Conditions toggle area */
#tktModal .btn-link.toggle-conditions { color: var(--brand); }
#tktModal .btn-link.toggle-conditions:hover { color:#d48813; }

/* Tables used in modal */
#tktModal .table { border-color: rgba(0,0,0,.06); }
#tktModal .table thead th { border-bottom:1px solid rgba(0,0,0,.08) !important; color:#374151; }
#tktModal .table-striped tbody tr:nth-of-type(odd) { background: #fafafa; }

/* Fieldset blocks inside modal */
#tktModal .reservation-block{
  background: #fff;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius: 16px;
  box-shadow: var(--shadow-1);
}
#tktModal .reservation-block legend{
  background: var(--brand);
  color:#3b2c1a !important;
  border-radius: 10px;
  padding:.25rem .6rem;
  box-shadow: 0 3px 10px rgba(245,166,35,.25);
}

/* Waiting list banner spacing */
#tktModal .waitinglist-banner { margin-bottom:12px; }

/* Map card style used on pages */
#googleMap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow-1, 0 6px 22px rgba(0,0,0,.08));
  border:1px solid rgba(0,0,0,.06);
}

/* CTA buttons on page */
#addToCartButton, #addToCartButtonMobile{
  border-radius: 12px;
  padding: 14px 18px;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow: var(--shadow-1, 0 6px 22px rgba(0,0,0,.08));
}
