/* ═══════════════════════════════════════════════════════════════════════════
   Oanaqa — UI kit : contrôles du plugin 100 % INDÉPENDANTS du thème.
   Chargé en dernier. Stratégie en 2 couches, !important volontaires :
   1) FILET : tout <button> de nos blocs reçoit un style par défaut sobre
      (contour crème) qui écrase le kit Elementor / CSS global du site.
   2) RÔLES : chaque famille de boutons est re-déclarée par-dessus le filet
      (spécificité supérieure) avec son style propre.
   Logique : primaire brun plein · secondaire contour · lien souligné ·
   nav/stepper ronds. Palette du design (#3B3226 / #D6CEBD / #E5DECF).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. FILET : défaut sobre pour TOUT bouton de nos blocs ── */
.oanaqa-booking-wrap button,
#oanaqa-rooms-app button,
#oanaqa-venue button,
.oanaqa-account-reservations button {
    background: transparent !important;
    background-image: none !important;
    color: #2E2A24 !important;
    border: 1px solid #D6CEBD !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: auto;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s !important;
}
.oanaqa-booking-wrap button:hover,
#oanaqa-rooms-app button:hover,
#oanaqa-venue button:hover,
.oanaqa-account-reservations button:hover {
    background: #E5DECF !important;
    color: #2E2A24 !important;
    border-color: #6F5B41 !important;
}

/* ── 2. RÔLES ── */

/* Primaire : brun plein */
.oanaqa-booking-wrap .oanaqa-btn-reserve,
.oanaqa-booking-wrap .ogc-confirm-btn,
#oanaqa-rooms-app .oanaqa-btn,
.oanaqa-account-reservations .oar-request-submit,
#oanaqa-venue .oav-cta {
    background: #3B3226 !important;
    color: #F6F2E9 !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    letter-spacing: .02em !important;
}
.oanaqa-booking-wrap .oanaqa-btn-reserve:hover,
.oanaqa-booking-wrap .ogc-confirm-btn:hover,
#oanaqa-rooms-app .oanaqa-btn:hover,
.oanaqa-account-reservations .oar-request-submit:hover,
#oanaqa-venue .oav-cta:hover { background: #2E2A24 !important; color: #F6F2E9 !important; border: none !important; }
.oanaqa-booking-wrap .oanaqa-btn-reserve:disabled,
.oanaqa-booking-wrap .ogc-confirm-btn:disabled,
#oanaqa-rooms-app .oanaqa-btn[disabled],
#oanaqa-venue .oav-cta:disabled { opacity: .5 !important; }
.oanaqa-booking-wrap .oanaqa-btn-reserve,
#oanaqa-rooms-app .oanaqa-btn-primary { width: 100%; }
#oanaqa-venue .oav-cta { flex: 1; }

/* Cartes de formules (studio) : carte blanche, bord fin, contenu en colonne */
.oanaqa-booking-wrap .oanaqa-type-btn {
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    background: #fff !important;
    border: 2px solid #e0dbd4 !important;
    border-radius: 14px !important;
    padding: 18px 12px !important;
    color: #2E2A24 !important;
}
.oanaqa-booking-wrap .oanaqa-type-btn:hover,
.oanaqa-booking-wrap .oanaqa-type-btn.active {
    background: #fdf9f5 !important;
    border-color: #8b7355 !important;
}
.oanaqa-booking-wrap .oanaqa-type-btn .oanaqa-type-name  { color: #2c2c2c !important; }
.oanaqa-booking-wrap .oanaqa-type-btn .oanaqa-type-desc  { color: #999 !important; }
.oanaqa-booking-wrap .oanaqa-type-btn .oanaqa-type-price { color: #8b7355 !important; }

/* Calendrier horaire : navigation */
.oanaqa-booking-wrap .ogc-nav-btn {
    width: 34px !important; height: 34px !important; padding: 0 !important;
    border-radius: 999px !important;
    border: 1px solid #D6CEBD !important;
    background: transparent !important;
    color: #6F5B41 !important;
    font-size: 15px !important;
}
.oanaqa-booking-wrap .ogc-today-btn,
.oanaqa-booking-wrap .ogc-view-btn {
    border-radius: 8px !important;
    border: 1px solid #D6CEBD !important;
    background: transparent !important;
    color: #6F5B41 !important;
    padding: 8px 14px !important;
}
.oanaqa-booking-wrap .ogc-nav-btn:hover,
.oanaqa-booking-wrap .ogc-today-btn:hover,
.oanaqa-booking-wrap .ogc-view-btn:hover { background: #E5DECF !important; border-color: #6F5B41 !important; }
.oanaqa-booking-wrap .ogc-view-btn.active {
    background: #3B3226 !important; color: #F6F2E9 !important; border-color: #3B3226 !important;
}

/* Calendrier horaire : boutons de durée (5h / 6h / …) */
.oanaqa-booking-wrap .ogc-dur-btn {
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
    width: 100%;
    background: #fff !important;
    border: 2px solid #e0dbd4 !important;
    border-radius: 8px !important;
    color: #2E2A24 !important;
    padding: 10px 14px !important;
    font-weight: 600 !important;
}
.oanaqa-booking-wrap .ogc-dur-btn:hover { border-color: #8b7355 !important; background: #fdf9f5 !important; }
.oanaqa-booking-wrap .ogc-dur-btn.selected {
    background: #8b7355 !important; border-color: #8b7355 !important; color: #fff !important;
}
.oanaqa-booking-wrap .ogc-dur-btn span { font-size: 11px; font-weight: 400; }
.oanaqa-booking-wrap .ogc-dur-btn.selected span { color: rgba(255,255,255,.75) !important; }

/* Annuler la sélection : lien discret */
.oanaqa-booking-wrap .ogc-cancel-sel {
    background: transparent !important;
    border: none !important;
    color: #8A7C66 !important;
    padding: 4px 0 !important;
    font-size: 13px !important;
    border-radius: 0 !important;
    text-decoration: underline; text-underline-offset: 3px;
}
.oanaqa-booking-wrap .ogc-cancel-sel:hover { color: #2E2A24 !important; background: transparent !important; }

/* Hébergement : nav ronde, stepper, CTA, lien (design .dc) */
#oanaqa-venue .oav-nav button {
    width: 36px !important; height: 36px !important; padding: 0 !important;
    border: 1px solid #D6CEBD !important; background: transparent !important;
    color: #6F5B41 !important; border-radius: 999px !important;
    font-size: 15px !important;
}
#oanaqa-venue .oav-nav button:hover { border-color: #6F5B41 !important; background: #E5DECF !important; }
#oanaqa-venue .oav-nav button.is-disabled { opacity: .35 !important; }
#oanaqa-venue .oav-stepper button {
    width: 32px !important; height: 32px !important; padding: 0 !important;
    border: 1px solid #D6CEBD !important; background: transparent !important;
    color: #6F5B41 !important; border-radius: 999px !important;
    font-size: 16px !important;
}
#oanaqa-venue .oav-stepper button:hover { border-color: #6F5B41 !important; background: transparent !important; }
#oanaqa-venue .oav-reset {
    background: transparent !important; border: none !important;
    color: #8A7C66 !important; padding: 0 !important;
    font-size: 14px !important; border-radius: 0 !important;
    text-decoration: underline !important; text-underline-offset: 3px !important;
}
#oanaqa-venue .oav-reset:hover { color: #2E2A24 !important; background: transparent !important; }

/* Secondaires : retour, bascule liste/grille */
.oanaqa-booking-wrap .oanaqa-back,
.oanaqa-booking-wrap .oanaqa-back-date,
#oanaqa-rooms-app .oanaqa-view-btn {
    background: transparent !important; color: #6F5B41 !important;
    border: 1px solid #D6CEBD !important; border-radius: 6px !important;
}
.oanaqa-booking-wrap .oanaqa-back:hover,
.oanaqa-booking-wrap .oanaqa-back-date:hover,
#oanaqa-rooms-app .oanaqa-view-btn:hover { background: #E5DECF !important; }
#oanaqa-rooms-app .oanaqa-view-btn.is-active { background: #3B3226 !important; color: #F6F2E9 !important; border-color: #3B3226 !important; }

/* ── Champs de nos blocs ── */
#oanaqa-venue input[type="time"],
#oanaqa-venue input[type="number"],
.oanaqa-booking-wrap input[type="time"],
.oanaqa-booking-wrap input[type="number"],
.oanaqa-booking-wrap input[type="text"],
.oanaqa-booking-wrap input[type="email"],
#oanaqa-rooms-app input[type="number"],
#oanaqa-rooms-app input[type="date"] {
    border: 1px solid #D6CEBD !important;
    background: #fff !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #2E2A24 !important;
    font-family: inherit !important;
}
