/* club-app.css - our own widgets (registration, forms, shop, pay) inside the live site's look (Odoo/Bootstrap CSS copied 1:1).
   Inputs and buttons take the live site's Bootstrap form look; nothing here changes the copied pages themselves. */
.hidden { display: none !important; }
/* animations ran in the live browser; the static copy shows the end state */
.o_animate { visibility: visible !important; animation: none !important; opacity: 1 !important; transform: none !important; }
.club-app { max-width: 760px; margin-inline: auto; }
.club-app h1 { margin-bottom: .75rem; }
.club-app .card { padding: 1.25rem; margin-bottom: 1rem; }
.club-app .field, .club-app label { display: block; margin-bottom: .75rem; }
.club-app label { font-weight: 600; }
.club-app label.check, .club-app .choice label { font-weight: 400; display: flex; gap: .5rem; align-items: center; }
.club-app input:not([type=checkbox]):not([type=radio]):not([type=file]), .club-app select, .club-app textarea {
  display: block; width: 100%; padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; color: var(--body-color, #212529);
  background-color: #fff; border: 1px solid #ced4da; border-radius: .375rem; margin-top: .25rem; }
.club-app input:focus, .club-app select:focus, .club-app textarea:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 .25rem rgba(13,110,253,.25); }
.club-app button, .club-app .btn-like { display: inline-block; font-weight: 500; padding: .5rem 1.1rem; border-radius: .375rem; border: 1px solid transparent;
  background: var(--o-color-1, #1C69D4); color: #fff; cursor: pointer; margin: .25rem 0 .25rem .5rem; }
.club-app button.secondary { background: #fff; color: var(--o-color-1, #1C69D4); border-color: var(--o-color-1, #1C69D4); }
.club-app button:disabled { opacity: .55; cursor: default; }
.club-app fieldset { border: 1px solid #dee2e6; border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; }
.club-app legend { float: none; width: auto; font-size: 1.05rem; font-weight: 700; padding: 0 .5rem; }
.club-app .muted { color: #6c757d; }
.club-app .msg { padding: .75rem 1rem; border-radius: .375rem; margin-top: .75rem; }
.club-app .msg.ok { background: #d1e7dd; color: #0f5132; } .club-app .msg.err { background: #f8d7da; color: #842029; }
.club-app .msg.inf, .club-app .msg.info { background: #cfe2ff; color: #084298; }
.club-app .timer { font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.club-app .req { color: #dc3545; }
.club-app .bank { background: #f8f9fa; border-radius: .375rem; padding: .75rem 1rem; }
.form-msg .msg { padding: .75rem 1rem; border-radius: .375rem; }
.form-msg .msg.ok { background: #d1e7dd; color: #0f5132; } .form-msg .msg.err { background: #f8d7da; color: #842029; }
.form-msg .msg.inf, .form-msg .msg.info { background: #cfe2ff; color: #084298; }

/* personal-link pages: the live header/card stays; our duplicates hide */
.club-inject > h1, .club-inject > .lead, .club-inject > .kick { display: none !important; }
body:not(.club-has-token) .club-inject .bad { display: none !important; }
.club-inject { text-align: start; }

/* forms.js message box: no room while empty (live has no such box; it pushed the footer down by 16px) */
.form-msg:empty { margin: 0 !important; }
/* background videos: iOS (Low Power Mode blocks autoplay) must show the poster, never a play button */
video[autoplay]::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
video[autoplay]::-webkit-media-controls { display: none !important; }


/* a personal-link page whose live copy has no H1 (renew): our H1 is in the page in every state - visually hidden on the live look, visible with the form */
.club-inject.club-own-h1 > h1 { display: block !important; position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.club-has-token .club-inject.club-own-h1 > h1 { position: static !important; width: auto; height: auto; margin: 0 0 .5rem; overflow: visible; clip: auto; white-space: normal; }

