/* Shared type scale for offer/event cards, detailed fiches and their editors. */
:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog){--fs-fiche-title:24px;--fs-fiche-card-title:21px;--fs-fiche-section:16px;--fs-fiche-body:14px;--fs-fiche-caption:12px;font-family:Outfit,Arial,sans-serif!important;font-size:var(--fs-fiche-body);line-height:1.55;}
:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) :is(h1,h2,h3,h4,p,small,strong,label,legend,input,select,textarea,button,a,span){font-family:Outfit,Arial,sans-serif!important;}
:is(#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) h2{font-size:var(--fs-fiche-title)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.025em;}
:is(#root .offer-card,#root .event-card-main) h3{font-size:var(--fs-fiche-card-title)!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.02em;}
:is(#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) :is(h3,h4,legend){font-size:var(--fs-fiche-section)!important;line-height:1.4;font-weight:650;}
:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) p{font-size:var(--fs-fiche-body);line-height:1.6;}
:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) small{font-size:var(--fs-fiche-caption);line-height:1.45;}
:is(#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) label{font-size:13px!important;font-weight:600;line-height:1.45;}
:is(#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) :is(input,textarea,select){font-size:var(--fs-fiche-body)!important;font-weight:400!important;line-height:1.45;}
:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) :is(.primary-button,.outline-button,.fs-admin-create-button,.fs-gift-catalog-actions a){font-size:var(--fs-fiche-body)!important;font-weight:650!important;line-height:1.4;}
:is(#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) .eyebrow{font-size:11px!important;font-weight:650!important;letter-spacing:.08em;}
:is(#root .offer-card,#root .event-card-main) :is(.fs-card-summary,.fs-offer-summary,.event-details>div>p){font-size:var(--fs-fiche-body)!important;line-height:1.5;}
/* Compact information remains secondary to the content and actions. */
:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) .fs-request-deadline{font-size:13px!important;font-weight:400!important;}
.fs-detail-dialog .fs-gift-choice h4{font-size:14px!important;}.fs-detail-dialog .fs-gift-child-status{font-size:11px;}.fs-detail-dialog .fs-gift-form .fs-gift-sr-only{font-size:12px!important;}
@media(max-width:700px){:is(#root .offer-card,#root .event-card-main,#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog){--fs-fiche-title:22px;--fs-fiche-card-title:20px;}:is(#root .offer-modal,#root .registration-modal,#root .content-editor,#root .fs-confirm-modal,.fs-detail-dialog) :is(input,textarea,select){font-size:16px!important;}}
/* Admin model controls must not inherit the editor's wide label/button layouts. */
#root .content-editor .fs-sheet-models{padding:18px!important;border:1px solid #dce5ec!important;border-radius:12px!important;background:#fafcfd!important;}
#root .content-editor .fs-sheet-models :is(h3,h4){margin:0 0 12px!important;font-size:16px!important;font-weight:650!important;line-height:1.4!important;}
#root .content-editor .fs-sheet-models :is(p,small){font-size:13px!important;font-weight:400!important;line-height:1.55!important;color:#647586;}
#root .content-editor .fs-sheet-models .fs-model-choice{display:flex!important;flex-wrap:wrap!important;align-items:flex-end!important;gap:12px!important;margin:14px 0!important;}
#root .content-editor .fs-sheet-models .fs-model-choice>label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;flex:1 1 240px!important;min-width:0!important;max-width:100%;font-size:12px!important;font-weight:600!important;}
#root .content-editor .fs-sheet-models :is(input:not([type=checkbox]),select,textarea){box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:42px!important;height:auto!important;padding:10px 11px!important;margin:0!important;font-size:14px!important;font-weight:400!important;border:1px solid #cedbe5!important;border-radius:8px!important;background:#fff!important;color:#244155!important;}
#root .content-editor .fs-sheet-models button{position:static!important;inset:auto!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;min-height:40px!important;height:auto!important;margin:0!important;padding:9px 13px!important;border:1px solid #c4d5e1!important;border-radius:8px!important;background:#fff!important;color:#31536d!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;white-space:normal!important;}
#root .content-editor .fs-sheet-models button:disabled{opacity:.5!important;cursor:default;}
#root .content-editor .fs-sheet-models button:not(:disabled):hover{background:#eef4f8!important;}
#root .content-editor .fs-sheet-models .fs-model-action{padding:0!important;margin:6px 0 16px!important;background:transparent!important;border:0!important;border-radius:0!important;font-size:12px!important;color:#6d7f8c!important;}
#root .content-editor .fs-sheet-models .fs-form-builder{margin-top:18px!important;padding-top:18px!important;border-top:1px solid #dfe7ed!important;}
#root .content-editor .fs-sheet-models .fs-question-editor{padding:14px!important;margin:12px 0!important;}
#root .content-editor .fs-sheet-models .fs-question-heading strong{font-size:13px!important;}
#root .content-editor .fs-sheet-models .fs-gift-consent{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:12px!important;font-weight:400!important;}
/* Gift form footer: real buttons, balanced widths and readable disabled state. */
.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer{position:static!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;margin:20px 0 0!important;padding:16px 0 0!important;border-top:1px solid #e0e7ed!important;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer>button{position:static!important;inset:auto!important;transform:none!important;float:none!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;min-height:44px!important;height:auto!important;margin:0!important;padding:11px 18px!important;border-radius:9px!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;text-align:center!important;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer>button[type=button]{background:#fff!important;border:1px solid #cbd8e2!important;color:#506578!important;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer>.primary-button{background:#0a2845!important;border:1px solid #0a2845!important;color:#fff!important;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer>.primary-button:disabled{background:#c6d0d9!important;border-color:#c6d0d9!important;color:#42576b!important;opacity:1!important;cursor:not-allowed;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form .fs-gift-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:16px 0 0!important;font-size:13px!important;font-weight:400!important;line-height:1.6!important;color:#586d7e!important;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form .fs-gift-consent input{appearance:auto!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;accent-color:#285f7d;}
.fs-detail-dialog.fs-gift-dialog .fs-gift-form textarea{min-height:84px!important;resize:vertical;}
@media(max-width:600px){#root .content-editor .fs-sheet-models{padding:12px!important;}#root .content-editor .fs-sheet-models .fs-model-choice>label{flex-basis:100%!important;}#root .content-editor .fs-sheet-models :is(input:not([type=checkbox]),select,textarea){font-size:16px!important;}}
@media(max-width:420px){.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer>button{flex:1 1 auto!important;padding:11px 12px!important;}.fs-detail-dialog.fs-gift-dialog .fs-gift-form>footer>.primary-button{flex-grow:2!important;}}
/* Colour marks distinguish purposes; text labels remain the primary cues. */
.fs-detail-dialog .fs-gift-choice:first-child{background:#f3f8fd;border-color:#cfe2f1;}.fs-detail-dialog .fs-gift-choice:first-child .fs-gift-choice-number{background:#dcebf7;color:#306181;}
.fs-detail-dialog .fs-gift-choice:last-child{background:#fff9ef;border-color:#efdfbf;}.fs-detail-dialog .fs-gift-choice:last-child .fs-gift-choice-number{background:#f8e9c9;color:#896523;}
.fs-detail-dialog .fs-gift-child[open]>summary{background:#edf4fa;}.fs-detail-dialog .fs-gift-choice-supplement strong{color:#267153;}
#root .content-editor .fs-sheet-models{border-top:3px solid #a499c6!important;}
#root .content-editor .fs-editor-section-identity>summary{background:#f5f2fa!important;border-left:3px solid #ab9acd;}
#root .content-editor :is(.fs-editor-section-schedule,.fs-editor-section-availability)>summary{background:#f0f6fb!important;border-left:3px solid #83b5d2;}
#root .content-editor :is(.fs-editor-section-prices,.fs-editor-section-purchase)>summary{background:#f0f8f3!important;border-left:3px solid #8abea6;}
#root .content-editor :is(.fs-editor-section-conditions,.fs-editor-section-rules)>summary{background:#fdf8ef!important;border-left:3px solid #ddc28a;}
#root .content-editor .fs-editor-section-visual>summary{background:#f8f2f3!important;border-left:3px solid #d5a2ae;}
#root .content-editor .fs-editor-index button.active{background:#e5eff7!important;color:#254f70!important;}
#root .content-editor .fs-editor-section{--fs-current-tint:#f2f7fc;--fs-current-edge:#a4c5dc;}
#root .content-editor .fs-editor-section-identity{--fs-current-tint:#f6f3fb;--fs-current-edge:#c0b5d9;}
#root .content-editor .fs-editor-section-visual{--fs-current-tint:#fcf4f6;--fs-current-edge:#dfb7c2;}
#root .content-editor :is(.fs-editor-section-prices,.fs-editor-section-purchase){--fs-current-tint:#f2f9f5;--fs-current-edge:#b0d4c0;}
#root .content-editor :is(.fs-editor-section-conditions,.fs-editor-section-rules){--fs-current-tint:#fdf9f0;--fs-current-edge:#e4d3ac;}
#root .content-editor .fs-editor-section.is-current{border:1px solid var(--fs-current-edge)!important;box-shadow:0 0 0 2px var(--fs-current-tint)!important;background:var(--fs-current-tint)!important;}
#root .content-editor .fs-editor-section.is-current>.fs-editor-section-body{background:var(--fs-current-tint)!important;}
#root .content-editor .fs-editor-section.is-current>summary{background:var(--fs-current-tint)!important;color:#193e58!important;}
#root .content-editor .fs-editor-index button[aria-current=location]{background:#e6f0f8!important;color:#214f6c!important;box-shadow:inset 3px 0 #6b9fbd;}

/* Card titles are headings, including the clickable event title. */
#root .event-card-main .event-title-button{font-size:var(--fs-fiche-card-title)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.02em;white-space:normal!important;overflow-wrap:anywhere;text-align:left;}
#root .event-card-main .event-title-button>span{font-size:18px!important;font-weight:500!important;}
#root .offer-card h3{overflow-wrap:anywhere;}
/* Offer description and practical details share one body-text style. */
#root .offer-modal .modal-content :is(.fs-offer-summary,.fs-offer-reserved,.fs-offer-conditions p,.fs-offer-conditions li){
  font-family:Outfit,Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;
  line-height:1.6!important;letter-spacing:normal!important;color:#566879!important;
  text-align:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
}
#root .offer-modal .modal-content .fs-offer-conditions li+li{margin-top:6px!important;}
#root .offer-modal .modal-content .fs-offer-conditions li::marker{color:#566879!important;}
