/* Custom badges live in the image area, including their editor preview. */
.fs-custom-badges{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:100%;}
#root .fs-photo-badges>.fs-custom-badges{position:static!important;inset:auto!important;display:flex!important;margin:0!important;max-width:100%!important;transform:none!important;}
#root .fs-custom-badges>.fs-custom-badge,.fs-detail-dialog .fs-custom-badges>.fs-custom-badge{position:static!important;inset:auto!important;width:fit-content!important;max-width:100%!important;margin:0!important;padding:6px 11px!important;border-radius:999px!important;font-size:11px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:.01em!important;text-shadow:none!important;white-space:normal!important;overflow-wrap:anywhere;box-shadow:0 2px 8px #0d2b4214;}
#root :is(.modal-visual,.event-popup-visual)>.fs-custom-badges{position:absolute!important;left:14px!important;top:14px!important;right:auto!important;bottom:auto!important;z-index:4;max-width:calc(100% - 100px);pointer-events:none;}
#root .real-event-hero{position:relative;}
#root .fs-hero-photo-badges{position:absolute;top:18px;right:18px;max-width:38%;z-index:3;pointer-events:none;}
#root .fs-hero-photo-badges .fs-custom-badges{align-items:flex-end;}
#root .content-editor .fs-photo-badge-editor{grid-column:1/-1;display:grid;gap:12px;min-width:0;}
#root .content-editor .fs-photo-badge-editor h4{margin:6px 0 0;font-size:15px!important;}
#root .content-editor .fs-photo-badge-editor p,#root .content-editor .fs-photo-badge-editor small{font-size:12px!important;line-height:1.5;margin:0;color:#687e8d;}
#root .content-editor .fs-photo-badge-row{display:grid;grid-template-columns:minmax(0,1fr) 78px auto;align-items:end;gap:10px;padding:12px;border:1px solid #dce6ed;border-radius:10px;background:#fbfcfe;}
#root .content-editor .fs-photo-badge-row label{display:grid!important;grid-template-columns:1fr;gap:6px;font-size:12px!important;min-width:0;}
#root .content-editor .fs-photo-badge-row input[type=text]{width:100%;min-width:0;min-height:40px;padding:9px 11px;font-size:14px!important;}
#root .content-editor .fs-photo-badge-row input[type=color]{width:100%;min-height:40px;height:40px;padding:4px;}
#root .content-editor .fs-photo-badge-editor button{position:static!important;width:fit-content!important;min-height:40px!important;height:auto!important;padding:9px 12px!important;margin:0!important;font-size:13px!important;border:1px solid #c9d9e5;border-radius:8px;background:#fff;color:#285672;}
#root .content-editor .fs-photo-badge-editor button:disabled{opacity:.45;cursor:default;}
#root .fs-badge-card-preview{margin-top:16px;border:1px solid #d4e0e9;border-radius:12px;overflow:hidden;}
#root .fs-badge-photo-preview{position:relative;min-height:180px;background:linear-gradient(120deg,#718d9c,#b9ced4);overflow:hidden;}
#root .fs-badge-photo-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#root .fs-badge-preview-label{position:absolute;bottom:10px;right:12px;color:white;font-size:11px!important;background:#16394d88;padding:3px 7px;border-radius:6px;}
#root .fs-badge-card-preview>strong{display:block;padding:13px 16px;font-size:17px;}
/* Two stacked contribution rows, common to event and YCM cards. */
#root .event-card-main .event-commercial.has-companions,#root .event-card-main .event-commercial.single-price{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:0!important;height:auto!important;}
#root .event-card-main .event-commercial>.event-price{position:static!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;grid-column:1/-1!important;grid-row:auto!important;min-width:0!important;width:100%!important;min-height:68px!important;padding:12px 14px!important;border-left:0!important;box-sizing:border-box;}
#root .event-card-main .event-commercial>.event-price+.event-price{border-top:1px solid #dce6eb!important;border-left:0!important;}
#root .event-card-main .event-price>span{width:36px!important;height:36px!important;font-size:13px!important;}
#root .event-card-main .event-price>div{min-width:0;width:100%;}
#root .event-card-main .event-price small{display:block!important;font-size:11px!important;line-height:1.4!important;letter-spacing:.05em!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;}
#root .event-card-main .event-price strong{display:block!important;font-size:17px!important;line-height:1.3!important;font-weight:700!important;margin-top:3px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
#root .event-card-main .event-commercial>b{grid-column:1/-1!important;grid-row:auto!important;justify-self:stretch!important;margin:0 12px 12px!important;padding:7px 10px!important;text-align:center!important;white-space:normal!important;}
@media(max-width:600px){#root .content-editor .fs-photo-badge-row{grid-template-columns:minmax(0,1fr) 62px;}#root .content-editor .fs-photo-badge-row>button{grid-column:1/-1;}#root .content-editor .fs-photo-badge-row input[type=text]{font-size:16px!important;}#root .fs-hero-photo-badges{position:relative;top:auto;right:auto;max-width:100%;padding:14px 16px 0;}#root .fs-hero-photo-badges .fs-custom-badges{align-items:flex-start;}}
/* The action and its real deadline remain together on every card. */
#root .event-card-main>.fs-card-action{grid-area:register;display:flex;flex-direction:column;gap:6px;min-width:0;margin-top:auto;}
#root .event-card-main>.fs-card-action>.event-register{grid-area:auto!important;width:100%!important;max-width:100%!important;margin:0!important;min-height:44px!important;height:auto!important;padding:12px 16px!important;box-sizing:border-box;}
#root .exclusive-offer-layout .event-card-main>.fs-card-action{width:calc(100% - 36px)!important;max-width:calc(100% - 36px)!important;margin: auto 18px 18px!important;}
#root .event-card-main .fs-card-action>.fs-request-deadline,#root .offer-card .offer-footer>.fs-request-deadline{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;font-size:12px!important;font-weight:400!important;line-height:1.45!important;color:#687785;}
#root .offer-card .offer-footer>.fs-request-deadline{flex-basis:100%;grid-column:1/-1;}
#root .offer-grid .offer-card .offer-footer{row-gap:6px!important;}
#root .offer-grid.fs-offer-list .offer-footer{flex-wrap:wrap!important;}
@media(max-width:420px){#root .exclusive-offer-layout .event-card-main>.fs-card-action{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin-left:12px!important;margin-right:12px!important;}}
/* Inactive cards keep their visual identity, without enrollment controls. */
#root .event-card-main.fs-unavailable{grid-template-columns:64px minmax(0,1fr)!important;grid-template-areas:"visual visual" "date info"!important;grid-template-rows:auto auto!important;min-height:0!important;align-content:start!important;}
#root .fs-unavailable :is(.calendar-choice-hint,.inline-slot-picker,.fs-card-action,.attendees,.event-threshold,.event-commercial,.offer-commercial,.offer-footer>button,.offer-footer>.fs-request-deadline){display:none!important;}
#root .event-card-main.fs-unavailable .event-title-button{background:transparent!important;padding:0!important;color:#707780!important;}
#root .fs-unavailable :is(.event-date,.event-info>span,.fs-offer-heading h3,.fs-offer-summary){color:#707780!important;}
#root .exclusive-offer-layout .event-card-main.fs-unavailable .event-info{margin-bottom:18px!important;}
#root .offer-card.fs-unavailable .offer-body{flex-grow:0!important;}
#root .offer-card.fs-unavailable .offer-footer{margin-top:8px!important;padding-top:0!important;}
@media(max-width:600px){#root .event-card-main.fs-unavailable{grid-template-columns:48px minmax(0,1fr)!important;}}
/* A slimmer featured banner without fixed heights or empty inner padding. */
#root .hero-card.real-event-hero{height:auto!important;min-height:240px!important;padding:26px 36px!important;box-sizing:border-box!important;}
#root .hero-card.real-event-hero .hero-copy{min-height:0!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;}
#root .hero-card.real-event-hero .hero-copy>p:first-child{margin:0 0 8px!important;}
#root .hero-card.real-event-hero .hero-copy h2{margin:0 0 8px!important;}
#root .hero-card.real-event-hero .hero-copy>.fs-hero-subtitle{margin:0 0 10px!important;}
#root .hero-card.real-event-hero .hero-copy>button{margin-top:16px!important;}
@media(max-width:700px){#root .hero-card.real-event-hero{min-height:260px!important;padding:20px!important;}#root .hero-card.real-event-hero .hero-copy{margin-top:34px!important;}#root .hero-card.real-event-hero .hero-copy>span{margin-bottom:0!important;}#root .hero-card.real-event-hero .fs-hero-photo-badges{padding:0 64px 0 0!important;}}
/* Match popup/download controls, without the old full-width anchor rule. */
#root .fs-gift-catalog-row .fs-gift-catalog-actions :is(button,a),.fs-detail-dialog .fs-gift-catalog-row .fs-gift-catalog-actions :is(button,a){flex:0 1 auto!important;width:auto!important;margin:0!important;font-size:12px!important;font-weight:650!important;padding:8px 12px!important;line-height:1.4!important;}
@media(max-width:600px){#root .fs-gift-catalog-row .fs-gift-catalog-actions :is(button,a),.fs-detail-dialog .fs-gift-catalog-row .fs-gift-catalog-actions :is(button,a){flex:1 1 110px!important;}}
/* One editable, secondary information line below the main price. */
#root .event-card-main .event-price small.fs-price-info,#root .offer-card .offer-commercial small.fs-price-info,#root .event-popup small.fs-price-info,#root .offer-modal small.fs-price-info,.fs-detail-dialog small.fs-price-info{display:block!important;margin:5px 0 0!important;font-size:11px!important;font-weight:400!important;line-height:1.5!important;text-transform:none!important;letter-spacing:normal!important;white-space:normal!important;overflow-wrap:anywhere;color:#687785!important;}
#root .content-editor .fs-price-info-editor label{display:grid;gap:8px;}
#root .content-editor .fs-price-info-editor input{width:100%;min-width:0;box-sizing:border-box;}
#root .content-editor .fs-price-info-editor>.fs-field-hint{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:#687785;}
/* Partner validity information follows the action in every card view. */
#root .offer-grid .offer-card .offer-footer>small.fs-offer-validity{display:block!important;grid-column:1/-1!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;font-size:12px!important;font-weight:400!important;line-height:1.45!important;color:#687785!important;text-align:left!important;}
