/* 4FitGym Bookings - Public Styles (Themed with CSS variables) */

:root {
  --fg-font-family: inherit;
  --fg-primary: #2271b1;
  --fg-primary-hover: #135e96;
  --fg-text: #111827;
  --fg-muted: #374151;
  --fg-border: #e5e7eb;
  --fg-border-soft: #eef0f2;
  --fg-bg: #ffffff;
  --fg-header-bg: #000000;
  --fg-header-text: #ffffff;
  --fg-row-alt: #fafafa;
  --fg-selected-bg: #f0f7ff;
  --fg-notice-info-bg: #f0f7ff; --fg-notice-info-border: #b6dcff; --fg-notice-info-text: #0b3954;
  --fg-notice-success-bg: #edf7ed; --fg-notice-success-border: #a7d7a9; --fg-notice-success-text: #1a5e1a;
  --fg-notice-error-bg: #fff5f5; --fg-notice-error-border: #ffc8c8; --fg-notice-error-text: #8a1f1f;
}

/* Generic buttons (frontend may not load wp-admin styles) */
.button { display:inline-block; padding:8px 12px; border:1px solid var(--fg-border); border-radius:4px; background:#f6f7f7; color:#1d2327; text-decoration:none; cursor:pointer; line-height:1.2; }
.button:hover { background:#fff; }
.button-primary { border-color:var(--fg-primary); background:var(--fg-primary); color:#fff; }
.button-primary:hover { background:var(--fg-primary-hover); border-color:var(--fg-primary-hover); color:#fff; }
.button[disabled], .button-primary[disabled] { opacity:0.6; cursor:default; }

/* Container */
.fg-timetable { font-family:var(--fg-font-family); }
.fg-timetable-actions { display:flex; gap:8px; align-items:center; margin:10px 0; }
.fg-week-label { font-weight:600; }
.fg-add-btn { margin-left:auto; }

/* Notice area */
.fg-timetable-notice { margin:8px 0 12px; padding:10px 12px; border-radius:6px; border:1px solid transparent; display:none; }
.fg-notice-info { background:var(--fg-notice-info-bg); border-color:var(--fg-notice-info-border); color:var(--fg-notice-info-text); }
.fg-notice-success { background:var(--fg-notice-success-bg); border-color:var(--fg-notice-success-border); color:var(--fg-notice-success-text); }
.fg-notice-error { background:var(--fg-notice-error-bg); border-color:var(--fg-notice-error-border); color:var(--fg-notice-error-text); }

/* Table */
.fg-timetable-wrapper { overflow-x:auto; }
.fg-schedule-table { width:100%; border-collapse:separate; border-spacing:0; background:var(--fg-bg); border:1px solid var(--fg-border); border-radius:8px; overflow:hidden; }
.fg-schedule-table th{ padding:10px; border-bottom:1px solid var(--fg-border-soft);color:var(--fg-header-text); }
.fg-schedule-table td { padding:10px; border-bottom:1px solid var(--fg-border-soft); vertical-align:top; color:var(--fg-text); }
.fg-schedule-table thead th { background:var(--fg-header-bg); font-weight:600; }
.fg-schedule-table tr:nth-child(odd) td { background:var(--fg-row-alt); }
.fg-time-slot { white-space:nowrap; width:110px; font-weight:600; color:var(--fg-muted); }

/* Class tiles */
.fg-class-select { border:1px solid var(--fg-border); background:var(--fg-bg); border-radius:6px; padding:6px 8px; margin-bottom:6px; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.fg-class-select:hover { border-color:var(--fg-primary); }
.fg-class-select.selected { border-color:var(--fg-primary); box-shadow:0 0 0 1px var(--fg-primary) inset; background:var(--fg-selected-bg); }
.fg-class-title { font-weight:500; color:var(--fg-text); }

.header_bottom_widget .textwidget{display: flex; align-items: center; }
.fourfitgym_shopping_cart{display: inline-flex; padding-left: 10px;}
.fourfitgym_shopping_cart .cart-icon-quantity { position: relative; display: inline-flex; align-items: center; color: var(--fg-text); text-decoration: none; }
.fourfitgym_shopping_cart .cart-icon-quantity:hover { color: var(--fg-primary); }
.fourfitgym_shopping_cart .cart-icon-quantity svg { width: 26px; height: 26px; display:block; fill: currentColor; }

.fourfitgym_shopping_cart .cart-icon-quantity .cart-quantity-badge { background-color: #ff0000; color: #fff; border-radius: 999px; padding: 2px 6px; font-size: 12px; font-weight: 700; position: absolute; top: -6px; right: -10px; line-height: 1; min-width: 18px; text-align: center; }

.wp-block-woocommerce-empty-cart-block h2:nth-of-type(2) {display: none !important;}

/* Mobile helpers */
@media (max-width: 768px) {
  .fg-week-label { display:none; }
  .fg-nav-btn { padding:6px 10px; }
  .fg-add-btn { padding:6px 10px; }
  .fg-time-slot { width:86px; font-size:14px; }
  .fg-schedule-table th, .fg-schedule-table td { padding:8px; }
}
