.gpro-bowling-hours {
    margin: 1rem 0;
    color: var(--gprohaa-text-color, inherit);
    font: inherit;
}

.gpro-bowling-hours h1,
.gpro-bowling-hours h2,
.gpro-bowling-hours h3,
.gpro-bowling-hours h4,
.gpro-bowling-hours p,
.gpro-bowling-hours span,
.gpro-bowling-hours small,
.gpro-bowling-hours strong,
.gpro-bowling-hours td,
.gpro-bowling-hours th,
.gpro-bowling-status h1,
.gpro-bowling-status h2,
.gpro-bowling-status h3,
.gpro-bowling-status h4,
.gpro-bowling-status p,
.gpro-bowling-status span,
.gpro-bowling-status small,
.gpro-bowling-status strong {
    color: inherit;
}

.gpro-bowling-title {
    color: var(--gprohaa-title-color, inherit);
}

.gpro-bowling-subtitle {
    color: var(--gprohaa-subtitle-color, inherit);
}

.gpro-bowling-title,
.gpro-bowling-subtitle,
.gpro-bowling-status-title,
.gpro-bowling-status-detail,
.gpro-bowling-status-message,
.gpro-bowling-status-badge,
.gpro-bowling-status-cta,
.gpro-bowling-notes p {
    margin: 0;
}

.gpro-bowling-subtitle,
.gpro-bowling-status-detail,
.gpro-bowling-status-message,
.gpro-bowling-status-badge,
.gpro-bowling-status-cta,
.gpro-bowling-notes p {
    margin-top: 0.35rem;
}

.gpro-bowling-status {
    margin: 0 0 1rem;
    padding: 0.75rem;
    border: 1px solid var(--gprohaa-border-color, rgba(127, 127, 127, 0.35));
    border-radius: 0.35rem;
    background: var(--gprohaa-status-bg, var(--gprohaa-surface-color, transparent));
    color: var(--gprohaa-status-text, var(--gprohaa-text-color, inherit));
    font: inherit;
}

.gpro-bowling-status-title {
    font-weight: 600;
}

.gpro-bowling-status-cta-wrap {
    margin: .75rem 0 0;
}

.gpro-bowling-status-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-decoration: underline;
}

.gpro-bowling-status-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.gpro-bowling-status-link:hover,
.gpro-bowling-status-link:focus {
    text-decoration: underline;
}

.gpro-bowling-status.is-open .gpro-bowling-status-title,
.gpro-bowling-status.is-closed .gpro-bowling-status-title {
    font-weight: 700;
}

.gpro-bowling-table-wrap {
    overflow-x: auto;
}

.gpro-bowling-table {
    width: 100%;
    border-collapse: collapse;
    color: inherit;
    font: inherit;
}

.gpro-bowling-table thead th {
    background: var(--gprohaa-table-header-bg, transparent);
    color: var(--gprohaa-table-header-text, inherit);
}

.gpro-bowling-table th,
.gpro-bowling-table td {
    padding: 0.55rem 0.45rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--gprohaa-border-color, rgba(127, 127, 127, 0.28));
}

.gpro-bowling-table tbody tr > td {
    background-color: var(--gprohaa-table-row-bg, transparent);
}

.gpro-bowling-table tbody tr:nth-child(even) > td {
    background-color: var(--gprohaa-table-row-alt-bg, transparent);
}

.gpro-bowling-row.is-today {
    font-weight: 600;
}

.gpro-bowling-row.is-today > td {
    background-color: var(--gprohaa-today-bg, transparent);
}

.gpro-bowling-row.is-closed > td {
    background-color: var(--gprohr-hours-closed-bg, transparent);
    color: var(--gprohr-hours-closed-color, inherit);
}

.gpro-bowling-badge {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border: 1px solid var(--gprohaa-border-color, currentColor);
    border-radius: 999px;
    background: var(--gprohaa-badge-bg, transparent);
    color: var(--gprohaa-badge-text, inherit);
    font-size: 0.82em;
    line-height: 1.35;
}

.gpro-bowling-notes {
    margin-top: 0.75rem;
    padding-top: 0.6rem;
}

.gpro-bowling-period-block + .gpro-bowling-period-block {
    margin-top: 1rem;
}

.gpro-bowling-period-title {
    margin: 0 0 0.2rem;
}

.gpro-bowling-period-rule {
    margin: 0 0 0.5rem;
}

@media (max-width: 640px) {
    .gpro-bowling-table th,
    .gpro-bowling-table td {
        padding: 0.45rem 0.35rem;
    }
}

.gprohr-premium-form {
    --gprohr-primary: #d61f48;
    --gprohr-secondary: #14324a;
    --gprohr-accent: #f5b942;
    --gprohr-tile-bg: #fff;
    --gprohr-text: #17212b;
    --gprohr-border: #e2e8f0;
    --gprohr-radius: 18px;
    --gprohr-font: inherit;
    color: var(--gprohr-text);
    font-family: var(--gprohr-font);
    max-width: 920px;
    margin: 1.5rem auto;
}

.gprohr-premium-form h3 {
    margin: 0 0 1rem;
    color: var(--gprohr-secondary);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.15;
}

.gprohr-premium-form form {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
    border: 1px solid var(--gprohr-border);
    border-radius: var(--gprohr-radius);
    padding: 1.25rem;
}

.gprohr-shadow-soft form,
.gprohr-shadow-soft .gprohr-choice-tile,
.gprohr-shadow-soft .gprohr-summary-tile { box-shadow: 0 14px 35px rgba(15, 23, 42, .08); }
.gprohr-shadow-strong form,
.gprohr-shadow-strong .gprohr-choice-tile,
.gprohr-shadow-strong .gprohr-summary-tile { box-shadow: 0 22px 55px rgba(15, 23, 42, .16); }
.gprohr-shadow-none form,
.gprohr-shadow-none .gprohr-choice-tile,
.gprohr-shadow-none .gprohr-summary-tile { box-shadow: none; }

.gprohr-steps-progress {
    display: grid;
    gap: .55rem;
    margin-bottom: 1.1rem;
    color: var(--gprohr-secondary);
    font-weight: 700;
}

.gprohr-progress-bar {
    height: 7px;
    overflow: hidden;
    background: color-mix(in srgb, var(--gprohr-border) 78%, white);
    border-radius: 999px;
}

.gprohr-progress-bar span {
    display: block;
    height: 100%;
    width: 16.66%;
    background: linear-gradient(90deg, var(--gprohr-primary), var(--gprohr-accent));
    border-radius: inherit;
    transition: width .22s ease;
}

.gprohr-step > label,
.gprohr-step p > label,
.gprohr-games-classic > label,
.gprohr-games-group > label {
    display: block;
    margin-bottom: .35rem;
    color: var(--gprohr-secondary);
    font-weight: 700;
}

.gprohr-field-grid,
.gprohr-tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .85rem;
}

.gprohr-compact-tiles { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); }
.gprohr-spacing-compact form { padding: .9rem; }
.gprohr-spacing-compact .gprohr-field-grid,
.gprohr-spacing-compact .gprohr-tile-grid { gap: .55rem; }

.gprohr-choice-tile {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: .85rem 1rem;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 4px);
    background: var(--gprohr-tile-bg);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.gprohr-choice-tile:hover,
.gprohr-choice-tile.is-selected {
    transform: translateY(-1px);
    border-color: var(--gprohr-primary);
    background: color-mix(in srgb, var(--gprohr-primary) 7%, var(--gprohr-tile-bg));
}

.gprohr-choice-tile input {
    width: 1px;
    height: 1px;
    opacity: 0;
    position: absolute;
}

.gprohr-choice-tile span {
    color: var(--gprohr-text);
    font-weight: 700;
}

.gprohr-premium-form input:not([type='checkbox']):not([type='radio']):not([type='file']),
.gprohr-premium-form select,
.gprohr-premium-form textarea {
    width: 100%;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 8px);
    padding: .8rem .9rem;
    color: var(--gprohr-text);
    background: #fff;
}

.gprohr-premium-form textarea { min-height: 110px; resize: vertical; }
.gprohr-hp { position: absolute; left: -9999px; }

.gprohr-summary-tile {
    padding: 1rem;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 4px);
    background: var(--gprohr-tile-bg);
}

.gprohr-summary-tile dl {
    display: grid;
    grid-template-columns: minmax(120px, .7fr) 1fr;
    gap: .45rem .9rem;
    margin: 0;
}

.gprohr-summary-tile dt { color: var(--gprohr-secondary); font-weight: 700; }
.gprohr-summary-tile dd { margin: 0; }

.gprohr-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1rem;
}

.gprohr-actions button {
    border: 1px solid var(--gprohr-primary);
    border-radius: calc(var(--gprohr-radius) - 8px);
    padding: .78rem 1.1rem;
    cursor: pointer;
    font-weight: 800;
    transition: transform .16s ease, opacity .16s ease;
}

.gprohr-actions button:hover { transform: translateY(-1px); }
.gprohr-actions button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.gprohr-buttons-filled .gprohr-next,
.gprohr-buttons-filled .gprohr-submit { background: var(--gprohr-primary); color: #fff; }
.gprohr-buttons-filled .gprohr-prev { background: #fff; color: var(--gprohr-primary); }
.gprohr-buttons-outline .gprohr-actions button { background: #fff; color: var(--gprohr-primary); }

.gprohr-hours-placeholder,
.gprohr-error { color: var(--gprohr-secondary); font-weight: 600; }
.gprohr-success-message { padding: 1rem; border-radius: var(--gprohr-radius); background: color-mix(in srgb, var(--gprohr-primary) 9%, white); color: var(--gprohr-secondary); font-weight: 800; }

@media (max-width: 640px) {
    .gprohr-premium-form form { padding: .9rem; }
    .gprohr-field-grid,
    .gprohr-tile-grid { grid-template-columns: 1fr; }
    .gprohr-summary-tile dl { grid-template-columns: 1fr; }
    .gprohr-actions button { flex: 1 1 100%; }
}
.gprohr-calendar {
    margin-top: .9rem;
    padding: .85rem;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 4px);
    background: color-mix(in srgb, var(--gprohr-tile-bg) 92%, white);
}

.gprohr-calendar-head {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: .5rem;
    margin-bottom: .7rem;
}

.gprohr-calendar-head button {
    width: 40px;
    height: 40px;
    border: 1px solid var(--gprohr-border);
    border-radius: 999px;
    background: #fff;
    color: var(--gprohr-secondary);
    cursor: pointer;
    font-size: 1.35rem;
    line-height: 1;
}

.gprohr-cal-title {
    text-align: center;
    color: var(--gprohr-secondary);
    text-transform: capitalize;
}

.gprohr-calendar-weekdays,
.gprohr-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .35rem;
}

.gprohr-calendar-weekdays span {
    text-align: center;
    color: var(--gprohr-secondary);
    font-size: .82rem;
    font-weight: 800;
}

.gprohr-cal-empty,
.gprohr-cal-day {
    min-height: 62px;
}

.gprohr-cal-day {
    display: grid;
    align-content: center;
    gap: .1rem;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 8px);
    background: #fff;
    color: var(--gprohr-text);
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.gprohr-cal-day span { font-weight: 900; }
.gprohr-cal-day small { font-size: .68rem; color: inherit; opacity: .72; }
.gprohr-cal-day.is-available:hover,
.gprohr-cal-day.is-selected { transform: translateY(-1px); border-color: var(--gprohr-primary); background: color-mix(in srgb, var(--gprohr-primary) 9%, white); }
.gprohr-cal-day.is-selected { outline: 2px solid color-mix(in srgb, var(--gprohr-primary) 45%, transparent); }
.gprohr-cal-day.is-disabled { cursor: not-allowed; opacity: .48; background: #f1f5f9; }
.gprohr-cal-day.reason-full { background: #fff7ed; }
.gprohr-cal-day.reason-closed,
.gprohr-cal-day.reason-closure { background: #f8fafc; }

.gprohr-cal-loading {
    grid-column: 1 / -1;
    padding: .8rem;
    text-align: center;
    color: var(--gprohr-secondary);
    font-weight: 700;
}

.gprohr-calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .7rem;
    font-size: .8rem;
    color: var(--gprohr-secondary);
}

.gprohr-calendar-legend span {
    padding: .22rem .48rem;
    border: 1px solid var(--gprohr-border);
    border-radius: 999px;
    background: #fff;
}

@media (max-width: 640px) {
    .gprohr-calendar { padding: .6rem; }
    .gprohr-calendar-weekdays,
    .gprohr-calendar-grid { gap: .22rem; }
    .gprohr-cal-empty,
    .gprohr-cal-day { min-height: 50px; }
    .gprohr-cal-day small { display: none; }
}
/* G-Pro premium wizard fallbacks and hour tiles */
.gprohr-form.gpro-hr-js-ready .gpro-hr-native-date-fallback,
.gprohr-form.gpro-hr-js-ready .gpro-hr-hour-fallback {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.gprohr-hour-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap: .7rem;
    margin-top: .75rem;
}

.gprohr-hour-tile {
    cursor: pointer;
    border: 1px solid color-mix(in srgb, var(--gprohr-primary) 28%, var(--gprohr-border));
    border-radius: calc(var(--gprohr-radius) - 6px);
    background: var(--gprohr-tile-bg);
    color: var(--gprohr-secondary);
    padding: .85rem .7rem;
    font: inherit;
    font-weight: 800;
    text-align: center;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.gprohr-hour-tile:hover,
.gprohr-hour-tile:focus {
    transform: translateY(-2px);
    border-color: var(--gprohr-primary);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .11);
    outline: none;
}

.gprohr-hour-tile.is-selected {
    background: linear-gradient(135deg, var(--gprohr-primary), color-mix(in srgb, var(--gprohr-primary) 74%, var(--gprohr-secondary)));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--gprohr-primary) 24%, transparent);
}

.gprohr-hour-state {
    grid-column: 1 / -1;
    margin: 0;
    padding: .85rem 1rem;
    border: 1px dashed var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 6px);
    color: color-mix(in srgb, var(--gprohr-text) 72%, white);
    background: color-mix(in srgb, var(--gprohr-tile-bg) 88%, var(--gprohr-border));
}
/* G-Pro restored premium wizard state */
.gprohr-premium-form .gprohr-step{display:none;animation:gprohrFadeIn .18s ease both;}
.gprohr-premium-form .gprohr-step.is-active{display:block;}
.gprohr-premium-form .gprohr-group-fields[hidden],
.gprohr-premium-form .gprohr-games-classic[hidden],
.gprohr-premium-form .gprohr-games-group[hidden]{display:none!important;}
@keyframes gprohrFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* G-Pro premium tiles: content-aware sizing and final-step submit lock */
.gprohr-premium-form [hidden] {
    display: none !important;
}

.gprohr-premium-form .gprohr-compact-tiles,
.gprohr-premium-form .gprohr-tile-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.gprohr-premium-form .gprohr-choice-tile {
    width: auto;
    min-width: 118px;
    max-width: min(100%, 240px);
    min-height: auto;
    height: auto;
    justify-content: center;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.15;
}

.gprohr-premium-form .gprohr-choice-tile span {
    display: block;
    max-width: 100%;
}

.gprohr-premium-form .gprohr-terms-checkbox {
    max-width: 100%;
    justify-content: flex-start;
    text-align: left;
}

@media (max-width: 640px) {
    .gprohr-premium-form .gprohr-compact-tiles,
    .gprohr-premium-form .gprohr-tile-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .gprohr-premium-form .gprohr-choice-tile {
        max-width: none;
        width: 100%;
    }
}

.gprohr-premium-form .gprohr-terms-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 100%;
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 4px);
    background: rgba(255, 255, 255, .78);
    color: var(--gprohr-text);
    font-weight: 700;
    cursor: pointer;
}

.gprohr-premium-form .gprohr-terms-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin: 1px 0 0;
    accent-color: var(--gprohr-primary);
}

.gprohr-premium-form .gprohr-terms-checkbox span {
    line-height: 1.35;
}

.gprohr-premium-form .gprohr-wizard.is-submitted .gprohr-actions {
    display: none;
}
/* Dynamic form fields rendered from the Formulaires builder */
.gprohr-field {
    display: grid;
    gap: .35rem;
    margin: 0;
    color: var(--gprohr-secondary);
    font-weight: 700;
    border: 0;
    padding: 0;
    min-width: 0;
}
.gprohr-field-full { grid-column: 1 / -1; }
.gprohr-field-half { grid-column: span 1; }
.gprohr-field-third { grid-column: span 1; }
.gprohr-field span,
.gprohr-field legend { color: var(--gprohr-secondary); font-weight: 800; }
.gprohr-field-help { color: color-mix(in srgb, var(--gprohr-text) 70%, white); font-weight: 500; }
.gprohr-info-block {
    padding: .85rem 1rem;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 8px);
    background: color-mix(in srgb, var(--gprohr-primary) 5%, white);
}
.gprohr-info-block p { margin: 0; }
.gprohr-type-fields[hidden] { display: none !important; }

/* Acceptance fix: render a real checkbox, not a hidden tile. */
.gprohr-premium-form .gprohr-terms-checkbox {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 100%;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid var(--gprohr-border);
    border-radius: calc(var(--gprohr-radius) - 4px);
    background: rgba(255, 255, 255, .86);
    color: var(--gprohr-text);
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.gprohr-premium-form .gprohr-terms-checkbox input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 1px 0 0;
    accent-color: var(--gprohr-primary);
}
.gprohr-premium-form .gprohr-terms-checkbox span {
    display: block;
    line-height: 1.35;
}

/* G-Pro dashboard widgets */
.gpro-hr-dashboard { --gpro-dashboard-primary:#d61f48; --gpro-dashboard-secondary:#12344d; --gpro-dashboard-soft:#f4f7fb; color:#17212b; }
.gpro-hr-dashboard-hero { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:16px 0 18px; padding:24px; border-radius:26px; background:radial-gradient(circle at right top, rgba(245,185,66,.25), transparent 32%), linear-gradient(135deg,#fff,#f8fbff); border:1px solid #dbe6f2; box-shadow:0 20px 55px rgba(14,35,54,.08); }
.gpro-hr-dashboard-hero h1 { margin:4px 0 8px; color:var(--gpro-dashboard-secondary); font-size:clamp(26px,3vw,38px); }
.gpro-hr-dashboard-hero p { margin:0; color:#52657b; }
.gpro-hr-eyebrow { color:var(--gpro-dashboard-primary); font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.gpro-hr-dashboard-actions { display:flex; flex-wrap:wrap; gap:10px; }
.gpro-hr-kpi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; margin-bottom:18px; }
.gpro-hr-kpi { display:grid; gap:5px; padding:18px; border:1px solid #dbe6f2; border-radius:20px; background:#fff; box-shadow:0 14px 36px rgba(14,35,54,.06); }
.gpro-hr-kpi .dashicons { color:var(--gpro-dashboard-primary); font-size:24px; width:24px; height:24px; }
.gpro-hr-kpi strong { color:var(--gpro-dashboard-secondary); font-size:26px; line-height:1; }
.gpro-hr-kpi em { color:#63758a; font-style:normal; font-weight:700; }
.gpro-hr-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:18px; }
.gpro-hr-card { min-width:0; padding:18px; border:1px solid #dbe6f2; border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(14,35,54,.06); }
.gpro-hr-card h2 { margin:0 0 14px; color:var(--gpro-dashboard-secondary); }
.gpro-hr-panel-wide { grid-row:span 2; }
.gpro-hr-panel-occupancy { grid-column:1 / -1; }
.gpro-hr-mini-list { display:grid; gap:10px; }
.gpro-hr-mini-row { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; padding:12px; border:1px solid #e0e9f4; border-radius:16px; background:#f9fbfd; }
.gpro-hr-mini-row strong, .gpro-hr-mini-row span { display:block; }
.gpro-hr-mini-row span { color:#607086; margin-top:3px; }
.gpro-hr-mini-row.is-warning { border-color:#f59e0b; background:#fffbeb; }
.gpro-hr-mini-row.is-critical { border-color:#dc2626; background:#fef2f2; }
.gpro-hr-row-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.gpro-hr-refuse-form { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.gpro-hr-refuse-form input { max-width:180px; }
.gpro-hr-slot-bars { display:grid; gap:8px; margin-top:12px; }
.gpro-hr-slot-bars span { display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border-radius:12px; background:#f2f6fb; }
.gpro-hr-table-scroll { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:18px; border:1px solid #dbe6f2; }
.gpro-hr-hourly-fill { width:100%; min-width:860px; margin:0; border:0; }
.gpro-hr-hourly-fill th,
.gpro-hr-hourly-fill td { padding:.55rem .65rem; white-space:normal; overflow-wrap:anywhere; }
.gpro-hr-lane-split { display:grid; gap:8px; margin:10px 0 14px; }
.gpro-hr-lane-split p { margin:0; padding:9px 11px; border-radius:12px; background:#f4f7fb; }
.gpro-hr-warning-text { color:#b45309; font-weight:800; }
.gpro-hr-fillbar { display:inline-block; width:82px; height:9px; overflow:hidden; vertical-align:middle; border-radius:999px; background:#e8eef6; box-shadow:inset 0 0 0 1px rgba(18,52,77,.08); }
.gpro-hr-fillbar i { display:block; height:100%; max-width:100%; border-radius:inherit; background:linear-gradient(90deg,#22c55e,#f5b942,#d61f48); }
.gpro-hr-dashboard-placeholder { padding:22px; border:1px dashed #b9cbe0; border-radius:22px; background:#f8fbff; color:#12344d; box-shadow:0 14px 34px rgba(14,35,54,.06); }
.gpro-hr-dashboard-placeholder strong { display:block; margin-bottom:6px; font-size:18px; }
.gpro-hr-dashboard-placeholder p { margin:0; color:#607086; }
.gpro-hr-alert-list { display:grid; gap:10px; }
.gpro-hr-alert { display:grid; gap:4px; padding:12px; border-radius:14px; border-left:5px solid #2563eb; background:#f8fafc; }
.gpro-hr-alert.is-warning { border-left-color:#f59e0b; background:#fffbeb; }
.gpro-hr-alert.is-critical { border-left-color:#dc2626; background:#fef2f2; }
.gpro-hr-muted { color:#64748b; }
.gprohr-dashboard-lock { max-width:420px; margin:1.5rem auto; padding:1.25rem; border:1px solid #dbe6f2; border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(14,35,54,.08); }
.gprohr-dashboard-lock h3 { margin-top:0; color:#12344d; }
.gprohr-dashboard-lock input[type="password"] { width:100%; margin:.5rem 0 .9rem; padding:.75rem .85rem; border:1px solid #dbe6f2; border-radius:12px; }
.gprohr-dashboard-lock button { border:0; border-radius:999px; background:#d61f48; color:#fff; padding:.8rem 1.15rem; font-weight:800; cursor:pointer; }
.gprohr-dashboard-lock .gprohr-error { color:#b91c1c; font-weight:700; }
@media (max-width:960px) { .gpro-hr-dashboard-hero, .gpro-hr-mini-row { display:grid; } .gpro-hr-dashboard-grid { grid-template-columns:1fr; } .gpro-hr-panel-wide { grid-row:auto; } .gpro-hr-panel-occupancy { grid-column:auto; } }

/* Elementor variables bridge for G-Pro shortcode widgets */
.gpro-hr-elementor-widget {
  --gpro-hr-primary: #102f4a;
  --gpro-hr-secondary: #12344d;
  --gpro-hr-accent: #d91b4c;
  --gpro-hr-background: transparent;
  --gpro-hr-card-bg: #fff;
  --gpro-hr-card-text: var(--gpro-hr-text, #14283a);
  --gpro-hr-card-active-bg: #fff1f2;
  --gpro-hr-text: #14283a;
  --gpro-hr-muted: #64748b;
  --gpro-hr-border: #dbe7f3;
  --gpro-hr-radius: 18px;
  --gpro-hr-gap: 18px;
  --gpro-hr-card-padding: 1rem;
  --gpro-hr-field-bg: #fff;
  --gpro-hr-field-border: var(--gpro-hr-border);
  --gpro-hr-field-radius: 14px;
  --gpro-hr-button-bg: var(--gpro-hr-accent);
  --gpro-hr-button-text: #fff;
  --gpro-hr-button-hover-bg: var(--gpro-hr-primary);
  --gpro-hr-button-hover-text: #fff;
  --gpro-hr-button-border: var(--gpro-hr-accent);
  --gpro-hr-button-padding: .85rem 1.2rem;
  --gpro-hr-button-radius: 14px;
  background: var(--gpro-hr-background);
  color: var(--gpro-hr-text);
}
.gpro-hr-elementor-widget .gprohr-premium-form {
  --gprohr-primary: var(--gpro-hr-primary);
  --gprohr-secondary: var(--gpro-hr-secondary);
  --gprohr-accent: var(--gpro-hr-accent);
  --gprohr-text: var(--gpro-hr-text);
}
.gpro-hr-elementor-widget .gprohr-field-grid,
.gpro-hr-elementor-widget .gprohr-hour-tiles,
.gpro-hr-elementor-widget .gprohr-calendar-grid { gap: var(--gpro-hr-gap); }
.gpro-hr-elementor-widget .gprohr-choice-tile,
.gpro-hr-elementor-widget .gprohr-hour-tile,
.gpro-hr-elementor-widget .gprohr-calendar,
.gpro-hr-elementor-widget .gprohr-cal-day {
  background: var(--gpro-hr-card-bg);
  color: var(--gpro-hr-card-text);
  border-color: var(--gpro-hr-border);
  border-radius: var(--gpro-hr-radius);
  padding: var(--gpro-hr-card-padding);
}
.gpro-hr-elementor-widget .gprohr-choice-tile.is-selected,
.gpro-hr-elementor-widget .gprohr-hour-tile.is-selected,
.gpro-hr-elementor-widget .gprohr-cal-day.is-selected {
  background: var(--gpro-hr-card-active-bg);
  border-color: var(--gpro-hr-accent);
}
.gpro-hr-elementor-widget input,
.gpro-hr-elementor-widget select,
.gpro-hr-elementor-widget textarea {
  background: var(--gpro-hr-field-bg);
  border-color: var(--gpro-hr-field-border);
  border-radius: var(--gpro-hr-field-radius);
}
.gpro-hr-elementor-widget .gprohr-prev,
.gpro-hr-elementor-widget .gprohr-next,
.gpro-hr-elementor-widget .gprohr-submit,
.gpro-hr-elementor-widget .gprohr-calendar-head button,
.gpro-hr-elementor-widget button {
  background: var(--gpro-hr-button-bg);
  color: var(--gpro-hr-button-text);
  border-color: var(--gpro-hr-button-border);
  border-radius: var(--gpro-hr-button-radius);
  padding: var(--gpro-hr-button-padding);
}
.gpro-hr-elementor-widget .gprohr-prev:hover,
.gpro-hr-elementor-widget .gprohr-next:hover,
.gpro-hr-elementor-widget .gprohr-submit:hover,
.gpro-hr-elementor-widget .gprohr-calendar-head button:hover,
.gpro-hr-elementor-widget button:hover {
  background: var(--gpro-hr-button-hover-bg);
  color: var(--gpro-hr-button-hover-text);
}

/* Elementor widgets: real shortcode output bridges. */
.gpro-hr-elementor-hours .gpro-bowling-hours,
.gpro-hr-elementor-hours .gpro-bowling-status {
  background: var(--gpro-hr-hours-card-bg, var(--gpro-hr-card-bg, transparent));
  border-color: var(--gpro-hr-border, rgba(127, 127, 127, 0.28));
  border-radius: var(--gpro-hr-hours-radius, var(--gpro-hr-radius, .35rem));
  padding: var(--gpro-hr-hours-padding, .75rem);
}
.gpro-hr-elementor-hours .gpro-bowling-title,
.gpro-hr-elementor-hours .gpro-bowling-status-title { color: var(--gpro-hr-title-color, var(--gprohaa-title-color, inherit)); }
.gpro-hr-elementor-hours .gpro-bowling-table thead th { background: var(--gpro-hr-hours-header-bg, var(--gprohaa-table-header-bg, transparent)); color: var(--gpro-hr-hours-header-color, var(--gprohaa-table-header-text, inherit)); }
.gpro-hr-elementor-hours .gpro-bowling-table td:first-child,
.gpro-hr-elementor-hours .gpro-bowling-period-title { color: var(--gpro-hr-hours-day-color, inherit); }
.gpro-hr-elementor-hours .gpro-bowling-table td,
.gpro-hr-elementor-hours .gpro-bowling-status-detail { color: var(--gpro-hr-hours-time-color, inherit); }
.gpro-hr-elementor-hours .gpro-bowling-badge,
.gpro-hr-elementor-hours .gpro-bowling-status-badge { background: var(--gpro-hr-hours-badge-bg, var(--gprohaa-badge-bg, transparent)); color: var(--gpro-hr-hours-badge-color, var(--gprohaa-badge-text, inherit)); border-color: var(--gpro-hr-border, currentColor); }
.gpro-hr-elementor-prices .gprohr-prices { background: var(--gpro-hr-prices-card-bg, var(--gpro-hr-card-bg, #fff)); border: 1px solid var(--gpro-hr-prices-border, var(--gpro-hr-border, #dbe7f3)); border-radius: var(--gpro-hr-prices-radius, var(--gpro-hr-radius, 18px)); padding: var(--gpro-hr-prices-padding, 1rem); color: var(--gpro-hr-text, #14283a); overflow-x: auto; }
.gpro-hr-elementor-prices .gprohr-prices h2 { color: var(--gpro-hr-prices-title-color, var(--gpro-hr-title-color, inherit)); }
.gpro-hr-elementor-prices .gprohr-prices table { width: 100%; border-collapse: collapse; }
.gpro-hr-elementor-prices .gprohr-prices th,
.gpro-hr-elementor-prices .gprohr-prices td { padding: .65rem .55rem; border-bottom: 1px solid var(--gpro-hr-prices-border, var(--gpro-hr-border, #dbe7f3)); }
.gpro-hr-elementor-prices .gprohr-prices thead th { background: var(--gpro-hr-prices-header-bg, transparent); color: var(--gpro-hr-prices-header-color, inherit); }
.gpro-hr-elementor-prices .gprohr-prices td:nth-child(2),
.gpro-hr-elementor-prices .gprohr-prices td:nth-child(3) { color: var(--gpro-hr-prices-amount-color, var(--gpro-hr-accent, inherit)); font-weight: 700; }
.gpro-hr-elementor-reservation .gprohr-progress-label,
.gpro-hr-elementor-reservation .gprohr-step > p { color: var(--gpro-hr-step-color, var(--gpro-hr-muted, #64748b)); }
.gpro-hr-elementor-reservation .gprohr-step.is-active > p,
.gpro-hr-elementor-reservation .gprohr-step.is-active h3 { color: var(--gpro-hr-step-active, var(--gpro-hr-primary, #102f4a)); }
.gpro-hr-elementor-reservation .gprohr-progress-bar span { background: var(--gpro-hr-progress-color, var(--gpro-hr-accent, #d91b4c)); }
.gpro-hr-elementor-reservation .gprohr-hour-tile { background: var(--gpro-hr-time-slot-bg, var(--gpro-hr-card-bg, #fff)); }
.gpro-hr-elementor-reservation .gprohr-hour-tile.is-selected { background: var(--gpro-hr-time-slot-active-bg, var(--gpro-hr-card-active-bg, #fff1f2)); color: var(--gpro-hr-card-active-text, var(--gpro-hr-card-text, #14283a)); }
.gpro-hr-elementor-widget input,
.gpro-hr-elementor-widget select,
.gpro-hr-elementor-widget textarea { color: var(--gpro-hr-field-text, var(--gpro-hr-text, #14283a)); padding: var(--gpro-hr-field-padding, .75rem .9rem); }
.gpro-hr-elementor-widget input:focus,
.gpro-hr-elementor-widget select:focus,
.gpro-hr-elementor-widget textarea:focus { border-color: var(--gpro-hr-field-focus-border, var(--gpro-hr-accent, #d91b4c)); }
.gpro-hr-elementor-reservation .gprohr-error { color: var(--gpro-hr-error-color, #b91c1c); }
.gpro-hr-elementor-reservation .gprohr-success-message { color: var(--gpro-hr-success-color, #047857); }

/* Elementor G-Pro Horaires: controls target the real shortcode HTML. */
.gpro-hr-elementor-hours.gpro-hr-hours-hide-title .gpro-bowling-title,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-intro .gpro-bowling-subtitle,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-badges .gpro-bowling-badge,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-badges .gpro-bowling-status-badge,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-special-periods .gpro-bowling-period-block,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-closed .gpro-bowling-row.is-closed,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-notes .gpro-bowling-notes {
  display: none;
}
.gpro-hr-elementor-hours.gpro-hr-hours-hide-infos .gpro-bowling-table th:last-child,
.gpro-hr-elementor-hours.gpro-hr-hours-hide-infos .gpro-bowling-table td:last-child {
  display: none;
}
.gpro-hr-elementor-hours .gpro-bowling-table {
  overflow: hidden;
}
.gpro-hr-elementor-hours .gpro-bowling-row.is-closed td {
  color: inherit;
}



/* Compact admin-only options inside the manual booking popup. */
.gpro-admin-booking-options {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid var(--gprohr-border, #dbe7f3);
    border-radius: 14px;
    background: #f8fbff;
}
.gpro-admin-booking-options summary {
    cursor: pointer;
    color: var(--gprohr-secondary, #14324a);
    font-weight: 800;
}
.gpro-admin-booking-options__grid {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(220px, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 12px;
}
.gpro-admin-booking-options textarea {
    min-height: 72px;
    max-height: 120px;
}
.gpro-admin-booking-options__email {
    grid-column: 1 / -1;
    margin: 0;
}
@media (max-width: 680px) {
    .gpro-admin-booking-options__grid {
        grid-template-columns: 1fr;
    }
}

.gprohr-cal-day.is-disabled,
.gprohr-cal-day.is-full,
.gprohr-cal-day.is-unavailable,
.gprohr-cal-day:disabled {
    cursor: not-allowed;
}
.gprohr-cal-day.is-disabled:hover,
.gprohr-cal-day.is-full:hover,
.gprohr-cal-day.is-unavailable:hover,
.gprohr-cal-day:disabled:hover {
    transform: none;
    border-color: transparent;
}
.gprohr-cal-day.is-disabled.is-selected,
.gprohr-cal-day.is-full.is-selected,
.gprohr-cal-day.is-unavailable.is-selected {
    outline: none;
}
