/* FSRO Premium Portal V6
   Reusable portal sections, detailed home standings, team and match pages. */

.fsro-home-competition-hub { margin-bottom: 78px; }
.fsro-home-league-tabs--wide {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}
.fsro-home-league-tabs--wide button {
    min-width: 0;
    border: 1px solid var(--fsro-line);
    border-radius: 14px;
    background: #fff;
    padding: 13px 14px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 11px;
    text-align: left;
    box-shadow: 0 8px 22px rgba(10, 28, 50, .04);
    cursor: pointer;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.fsro-home-league-tabs--wide button > span {
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: #f0f4f8;
    color: var(--fsro-navy-900);
    font-size: 8px;
    font-weight: 900;
}
.fsro-home-league-tabs--wide button strong {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--fsro-ink);
    font-size: 11px;
    line-height: 1.25;
}
.fsro-home-league-tabs--wide button small {
    color: var(--fsro-muted);
    font-size: 8px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.fsro-home-league-tabs--wide button:hover,
.fsro-home-league-tabs--wide button.is-active {
    transform: translateY(-2px);
    border-color: rgba(229, 29, 41, .55);
    box-shadow: 0 13px 28px rgba(16, 35, 58, .10);
}
.fsro-home-league-tabs--wide button.is-active {
    background: linear-gradient(135deg, #fff 0 80%, rgba(229, 29, 41, .09) 80%);
}
.fsro-home-league-tabs--wide button.is-active > span { background: var(--fsro-red); color: #fff; }

.fsro-home-table-panel,
.fsro-home-league-panel { display: none; }
.fsro-home-table-panel.is-active,
.fsro-home-league-panel.is-active { display: block; animation: fsroV6Fade .24s ease; }
@keyframes fsroV6Fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

.fsro-home-table-card {
    background: #fff;
    border: 1px solid var(--fsro-line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(12, 31, 53, .08);
}
.fsro-home-table-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    background: linear-gradient(135deg, var(--fsro-navy-950), var(--fsro-navy-800));
}
.fsro-home-table-card__identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.fsro-home-table-card__identity > span {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    background: #fff;
    border-radius: 12px;
}
.fsro-home-table-card__identity img { width: 34px; height: 34px; object-fit: contain; }
.fsro-home-table-card__identity b { color: var(--fsro-red); font-size: 8px; }
.fsro-home-table-card__identity small { display: block; color: rgba(255,255,255,.55); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.fsro-home-table-card__identity h3 { margin: 2px 0 0; color: #fff; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fsro-home-table-card__header > a { color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 9px; padding: 9px 11px; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.fsro-home-table-card__header > a:hover { background: var(--fsro-red); border-color: var(--fsro-red); }
.fsro-home-table-card__scroll { overflow-x: auto; }
.fsro-home-table-card__head,
.fsro-home-table-card__rows > a {
    min-width: 710px;
    display: grid;
    grid-template-columns: 34px minmax(190px, 1fr) repeat(7, 43px) 52px;
    align-items: center;
    gap: 5px;
}
.fsro-home-table-card__head {
    min-height: 37px;
    padding: 0 14px;
    background: #eef2f6;
    color: #46546a;
    border-bottom: 1px solid var(--fsro-line);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.fsro-home-table-card__head span:nth-child(n+3) { text-align: center; }
.fsro-home-table-card__rows > a {
    min-height: 51px;
    padding: 6px 14px;
    color: #364256;
    border-bottom: 1px solid #edf0f4;
    transition: background .18s ease, box-shadow .18s ease;
}
.fsro-home-table-card__rows > a:last-child { border-bottom: 0; }
.fsro-home-table-card__rows > a:hover { background: #f8fafc; box-shadow: inset 3px 0 var(--fsro-red); }
.fsro-home-table-card__rows > a.is-leader { background: linear-gradient(90deg, rgba(229,29,41,.065), transparent 65%); }
.fsro-home-table-card__rank { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: #edf1f5; color: #59677a; font-size: 9px; font-weight: 900; }
.fsro-home-table-card__rows > a.is-leader .fsro-home-table-card__rank { background: var(--fsro-red); color: #fff; }
.fsro-home-table-card__team { display: flex; align-items: center; gap: 9px; min-width: 0; }
.fsro-home-table-card__team > i { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--fsro-line); background: #fff; font-style: normal; font-size: 7px; }
.fsro-home-table-card__team img { width: 22px; height: 22px; object-fit: contain; }
.fsro-home-table-card__team > span { min-width: 0; display: block; }
.fsro-home-table-card__team strong { display: block; color: #182338; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fsro-home-table-card__team small { display: block; color: #9aa4b4; font-size: 7px; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fsro-home-table-card__rows > a > span:nth-child(n+3),
.fsro-home-table-card__rows > a > strong:last-child { text-align: center; font-size: 9px; font-weight: 800; }
.fsro-home-table-card__rows > a > strong:last-child { color: var(--fsro-red); font-size: 12px; }
.fsro-home-table-card .is-positive { color: #2aa36b; }
.fsro-home-table-card .is-negative { color: #dd4350; }
.fsro-home-table-card__rows > p { padding: 24px; margin: 0; text-align: center; color: var(--fsro-muted); }
.fsro-home-table-card > footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 16px; background: #f7f9fb; border-top: 1px solid var(--fsro-line); font-size: 8px; color: var(--fsro-muted); }
.fsro-home-table-card > footer a { color: var(--fsro-red); font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }

/* Shared reusable section system */
.fsro-portal-section { position: relative; padding: 76px 0; }
.fsro-portal-section:nth-of-type(even) { background: #fff; }
.fsro-section-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.fsro-section-title-row > div > span { display: block; margin-bottom: 7px; color: var(--fsro-red); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.fsro-section-title-row h2 { margin: 0; color: var(--fsro-ink); font-size: clamp(28px, 3vw, 42px); line-height: 1.07; letter-spacing: -.035em; }
.fsro-section-title-row p { margin: 9px 0 0; max-width: 660px; color: var(--fsro-muted); font-size: 13px; }
.fsro-section-title-row > a { color: var(--fsro-ink); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; border-bottom: 2px solid var(--fsro-red); padding-bottom: 5px; white-space: nowrap; }
.fsro-section-title-row > a i { margin-left: 7px; color: var(--fsro-red); }
.fsro-section-title-row--light h2,
.fsro-section-title-row--light > a { color: #fff; }
.fsro-section-title-row--light p { color: rgba(255,255,255,.62); }

/* News */
.fsro-portal-news { background: #f4f6f9; }
.fsro-news-showcase { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 22px; }
.fsro-news-showcase__featured { overflow: hidden; border-radius: 18px; background: #fff; border: 1px solid var(--fsro-line); box-shadow: var(--fsro-shadow); }
.fsro-news-showcase__media { position: relative; display: block; height: 340px; overflow: hidden; }
.fsro-news-showcase__media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(5,18,35,.55)); }
.fsro-news-showcase__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.fsro-news-showcase__featured:hover .fsro-news-showcase__media img { transform: scale(1.035); }
.fsro-news-showcase__media > span { position: absolute; z-index: 2; left: 18px; bottom: 17px; background: var(--fsro-red); color: #fff; padding: 7px 10px; border-radius: 7px; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.fsro-news-showcase__content { padding: 25px 27px 28px; }
.fsro-news-showcase__content small { color: var(--fsro-muted); font-size: 9px; }
.fsro-news-showcase__content h3 { margin: 8px 0 12px; font-size: 27px; line-height: 1.15; letter-spacing: -.025em; }
.fsro-news-showcase__content h3 a { color: var(--fsro-ink); }
.fsro-news-showcase__content h3 a:hover { color: var(--fsro-red); }
.fsro-news-showcase__content p { color: var(--fsro-muted); line-height: 1.75; }
.fsro-text-link { color: var(--fsro-red); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.fsro-text-link i { margin-left: 7px; }
.fsro-news-showcase__list { display: grid; gap: 12px; }
.fsro-news-showcase__list article { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 15px; min-height: 118px; padding: 10px; border: 1px solid var(--fsro-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(12,31,53,.05); }
.fsro-news-showcase__thumb { display: block; border-radius: 10px; overflow: hidden; }
.fsro-news-showcase__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.fsro-news-showcase__list article:hover img { transform: scale(1.05); }
.fsro-news-showcase__list small { color: var(--fsro-red); font-size: 8px; font-weight: 800; }
.fsro-news-showcase__list h3 { margin: 5px 0 6px; font-size: 14px; line-height: 1.25; }
.fsro-news-showcase__list h3 a { color: var(--fsro-ink); }
.fsro-news-showcase__list p { margin: 0; color: var(--fsro-muted); font-size: 10px; line-height: 1.55; }

/* Gallery */
.fsro-portal-gallery { overflow: hidden; background: linear-gradient(135deg, #07172a, #102b48); }
.fsro-portal-gallery::before { content: ""; position: absolute; width: 460px; height: 460px; right: -180px; top: -200px; border: 80px solid rgba(229,29,41,.07); border-radius: 50%; }
.fsro-gallery-mosaic { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr .75fr; grid-template-rows: repeat(2, 210px); gap: 13px; }
.fsro-gallery-mosaic > a { position: relative; display: flex; align-items: flex-end; overflow: hidden; border-radius: 16px; background-position: center; background-size: cover; color: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.fsro-gallery-mosaic > a.is-large { grid-row: 1 / 3; }
.fsro-gallery-mosaic > a:hover { color: #fff; transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,.25); }
.fsro-gallery-mosaic > a > span { display: block; width: 100%; padding: 22px; }
.fsro-gallery-mosaic small { display: block; margin-bottom: 6px; color: rgba(255,255,255,.64); font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }
.fsro-gallery-mosaic strong { display: block; font-size: 17px; line-height: 1.2; }
.fsro-gallery-mosaic .is-large strong { font-size: 28px; }
.fsro-gallery-mosaic em { display: block; margin-top: 5px; color: rgba(255,255,255,.62); font-size: 9px; font-style: normal; }

/* Documents */
.fsro-portal-documents { background: #fff; }
.fsro-document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fsro-document-tile { min-width: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr) 30px; align-items: center; gap: 14px; padding: 17px; border: 1px solid var(--fsro-line); border-radius: 14px; background: #fff; color: var(--fsro-ink); box-shadow: 0 9px 26px rgba(12,31,53,.04); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.fsro-document-tile:hover { color: var(--fsro-ink); transform: translateY(-3px); border-color: rgba(229,29,41,.35); box-shadow: 0 16px 35px rgba(12,31,53,.09); }
.fsro-document-tile__icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 13px; color: var(--fsro-red); background: rgba(229,29,41,.08); font-size: 21px; }
.fsro-document-tile__copy { min-width: 0; }
.fsro-document-tile__copy small { display: block; color: var(--fsro-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.fsro-document-tile__copy strong { display: block; margin-top: 4px; color: var(--fsro-ink); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fsro-document-tile__copy em { display: block; margin-top: 4px; color: #8994a4; font-size: 9px; font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fsro-document-tile > i { color: #a5afbd; }
.fsro-document-tile:hover > i { color: var(--fsro-red); }

/* Testimonials */
.fsro-portal-testimonials { background: linear-gradient(135deg, #0b1c31, #132e4d); overflow: hidden; }
.fsro-portal-testimonials::after { content: "\f10d"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; right: 6%; top: 36px; color: rgba(255,255,255,.035); font-size: 220px; }
.fsro-testimonial-slider { position: relative; z-index: 1; margin: 0 -8px; }
.fsro-testimonial-slider .slick-slide { padding: 0 8px; height: auto; }
.fsro-testimonial-card { min-height: 270px; display: flex !important; flex-direction: column; padding: 25px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(255,255,255,.055); color: #fff; }
.fsro-testimonial-card__quote { color: var(--fsro-red); font-size: 22px; }
.fsro-testimonial-card__rating { margin: 12px 0 7px; color: #ffca3a; font-size: 10px; letter-spacing: 2px; }
.fsro-testimonial-card h3 { margin: 2px 0 8px; color: #fff; font-size: 16px; }
.fsro-testimonial-card > p { flex: 1; color: rgba(255,255,255,.72); line-height: 1.72; font-size: 12px; }
.fsro-testimonial-card footer { display: flex; align-items: center; gap: 11px; margin-top: 16px; }
.fsro-testimonial-card footer > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; background: var(--fsro-red); color: #fff; font-size: 10px; font-weight: 900; }
.fsro-testimonial-card footer strong { display: block; color: #fff; font-size: 11px; }
.fsro-testimonial-card footer small { color: rgba(255,255,255,.5); font-size: 8px; }
.fsro-testimonials-empty { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; min-height: 105px; padding: 22px 25px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.05); color: #fff; }
.fsro-testimonials-empty > i { color: var(--fsro-red); font-size: 34px; }
.fsro-testimonials-empty strong, .fsro-testimonials-empty span { display: block; }
.fsro-testimonials-empty span { margin-top: 4px; color: rgba(255,255,255,.55); font-size: 11px; }

/* Newsletter */
.fsro-newsletter-section { background: #f4f6f9; }
.fsro-newsletter-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 90px minmax(270px, .8fr) minmax(430px, 1.2fr); align-items: center; gap: 28px; padding: 35px 38px; border-radius: 20px; background: linear-gradient(135deg, var(--fsro-red), #c5111d); color: #fff; box-shadow: 0 22px 50px rgba(196,17,29,.2); }
.fsro-newsletter-card::after { content: ""; position: absolute; width: 340px; height: 340px; right: -170px; top: -190px; border: 65px solid rgba(255,255,255,.08); border-radius: 50%; }
.fsro-newsletter-card__icon { width: 78px; height: 78px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.1); font-size: 28px; }
.fsro-newsletter-card__copy { position: relative; z-index: 1; }
.fsro-newsletter-card__copy > span { display: block; color: rgba(255,255,255,.65); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.fsro-newsletter-card__copy h2 { margin: 7px 0 9px; color: #fff; font-size: 25px; line-height: 1.1; }
.fsro-newsletter-card__copy p { margin: 0; color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.65; }
.fsro-newsletter-form { position: relative; z-index: 1; }
.fsro-newsletter-form__fields { display: grid; grid-template-columns: .75fr 1.25fr; gap: 10px; }
.fsro-newsletter-form label { margin: 0; }
.fsro-newsletter-form label > span { display: block; margin-bottom: 5px; color: rgba(255,255,255,.72); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.fsro-newsletter-form input[type="text"],
.fsro-newsletter-form input[type="email"] { width: 100%; height: 45px; padding: 0 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 9px; background: rgba(255,255,255,.13); color: #fff; outline: 0; }
.fsro-newsletter-form input::placeholder { color: rgba(255,255,255,.55); }
.fsro-newsletter-form input:focus { background: rgba(255,255,255,.2); border-color: #fff; }
.fsro-newsletter-consent { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px !important; }
.fsro-newsletter-consent input { margin-top: 2px; }
.fsro-newsletter-consent span { margin: 0 !important; color: rgba(255,255,255,.66) !important; font-size: 8px !important; line-height: 1.45; text-transform: none !important; letter-spacing: 0 !important; }
.fsro-newsletter-form__action { display: flex; align-items: center; gap: 13px; margin-top: 11px; }
.fsro-newsletter-form__action button { height: 40px; border: 0; border-radius: 9px; padding: 0 17px; background: #fff; color: var(--fsro-red); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.fsro-newsletter-form__action button i { margin-left: 9px; }
.fsro-newsletter-form__action button[disabled] { opacity: .65; cursor: wait; }
.fsro-newsletter-form__action p { margin: 0; color: #fff; font-size: 9px; }
.fsro-newsletter-form__action p.is-error { color: #ffe29a; }
.fsro-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

/* Team page */
.fsro-team-standing-card .card__content { padding: 0; }
.fsro-team-standing-row { display: grid; grid-template-columns: minmax(180px, 1fr) repeat(6, 54px); align-items: center; min-height: 72px; border-bottom: 1px solid var(--fsro-line); color: var(--fsro-ink); }
.fsro-team-standing-row:last-child { border-bottom: 0; }
.fsro-team-standing-row:hover { color: var(--fsro-ink); background: #f8fafc; }
.fsro-team-standing-row > span { padding: 12px; text-align: center; border-left: 1px solid var(--fsro-line); }
.fsro-team-standing-row > span:first-child { border-left: 0; text-align: left; padding-left: 20px; }
.fsro-team-standing-row small { display: block; color: var(--fsro-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.fsro-team-standing-row strong, .fsro-team-standing-row b { display: block; color: var(--fsro-ink); font-size: 12px; }
.fsro-team-standing-row .is-points { background: rgba(229,29,41,.055); }
.fsro-team-standing-row .is-points b { color: var(--fsro-red); font-size: 19px; }
.fsro-roster-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fsro-roster-player { display: grid; grid-template-columns: 38px 44px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 66px; padding: 10px 12px; border: 1px solid var(--fsro-line); border-radius: 12px; background: #fff; }
.fsro-roster-player__number { color: var(--fsro-red); font-size: 16px; font-weight: 900; text-align: center; }
.fsro-roster-player__avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #eef2f6; color: #647187; font-size: 9px; font-weight: 900; }
.fsro-roster-player strong { display: block; color: var(--fsro-ink); font-size: 11px; }
.fsro-roster-player small { display: block; margin-top: 3px; color: var(--fsro-muted); font-size: 8px; }
.fsro-people-list { display: grid; gap: 10px; }
.fsro-people-list article { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--fsro-line); }
.fsro-people-list article:last-child { padding-bottom: 0; border-bottom: 0; }
.fsro-people-list article > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; background: var(--fsro-navy-900); color: #fff; font-size: 8px; font-weight: 900; }
.fsro-people-list strong, .fsro-people-list small { display: block; }
.fsro-people-list strong { color: var(--fsro-ink); font-size: 10px; }
.fsro-people-list small { color: var(--fsro-muted); font-size: 8px; margin-top: 2px; }

/* Match page */
.fsro-match-hero__meta em.is-live { background: #2aaa6f; }
.fsro-match-hero__meta em.is-warning { background: #f4a62a; }
.fsro-match-hero__meta em.is-cancelled { background: #697486; }
.fsro-match-page { background: var(--fsro-bg); }
.fsro-match-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fsro-match-info-grid > div { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 13px 15px; border: 1px solid var(--fsro-line); border-radius: 12px; }
.fsro-match-info-grid > div > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(229,29,41,.08); color: var(--fsro-red); }
.fsro-match-info-grid small, .fsro-match-info-grid strong, .fsro-match-info-grid a { display: block; }
.fsro-match-info-grid small { color: var(--fsro-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.fsro-match-info-grid strong, .fsro-match-info-grid a { margin-top: 3px; color: var(--fsro-ink); font-size: 10px; font-weight: 800; }
.fsro-match-timeline { position: relative; display: grid; gap: 0; }
.fsro-match-timeline::before { content: ""; position: absolute; left: 75px; top: 10px; bottom: 10px; width: 1px; background: var(--fsro-line); }
.fsro-match-timeline article { position: relative; display: grid; grid-template-columns: 50px 32px minmax(0, 1fr) 45px; align-items: center; gap: 10px; min-height: 66px; border-bottom: 1px solid #edf0f4; }
.fsro-match-timeline article:last-child { border-bottom: 0; }
.fsro-match-timeline__minute { color: var(--fsro-red); font-size: 12px; font-weight: 900; text-align: right; }
.fsro-match-timeline__icon { position: relative; z-index: 1; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff; border: 1px solid var(--fsro-line); color: var(--fsro-red); font-size: 10px; }
.fsro-match-timeline strong { display: block; color: var(--fsro-ink); font-size: 10px; }
.fsro-match-timeline small { display: block; color: var(--fsro-muted); font-size: 8px; margin-top: 2px; }
.fsro-match-timeline article > b { color: var(--fsro-ink); font-size: 13px; text-align: right; }
.fsro-match-stats { display: grid; gap: 15px; }
.fsro-match-stat-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 13px; }
.fsro-match-stat-row > strong { color: var(--fsro-ink); font-size: 12px; }
.fsro-match-stat-row > strong:last-child { text-align: right; }
.fsro-match-stat-row > div > span { display: block; margin-bottom: 6px; color: var(--fsro-muted); font-size: 8px; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.fsro-match-stat-row > div > i { display: block; position: relative; height: 7px; overflow: hidden; border-radius: 999px; background: #e8edf2; }
.fsro-match-stat-row > div > i > b { display: block; height: 100%; background: linear-gradient(90deg, var(--fsro-red), #ff5963); border-radius: 999px; }
.fsro-lineups-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fsro-lineups-grid > div { border: 1px solid var(--fsro-line); border-radius: 13px; overflow: hidden; }
.fsro-lineups-grid h3 { margin: 0; padding: 13px 15px; background: var(--fsro-navy-900); color: #fff; font-size: 13px; }
.fsro-lineups-grid article { display: grid; grid-template-columns: 35px minmax(0, 1fr) 43px; align-items: center; min-height: 51px; padding: 7px 11px; border-bottom: 1px solid var(--fsro-line); }
.fsro-lineups-grid article:last-child { border-bottom: 0; }
.fsro-lineups-grid article > span { color: var(--fsro-red); font-weight: 900; text-align: center; }
.fsro-lineups-grid article strong, .fsro-lineups-grid article small { display: block; }
.fsro-lineups-grid article strong { color: var(--fsro-ink); font-size: 9px; }
.fsro-lineups-grid article small { margin-top: 2px; color: var(--fsro-muted); font-size: 7px; }
.fsro-lineups-grid article em { color: #8994a4; font-size: 7px; font-style: normal; text-transform: uppercase; text-align: right; }

@media (max-width: 1199px) {
    .fsro-newsletter-card { grid-template-columns: 72px minmax(230px, .8fr) minmax(360px, 1.2fr); padding: 30px; gap: 20px; }
    .fsro-gallery-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 250px 180px 180px; }
    .fsro-gallery-mosaic > a.is-large { grid-column: 1 / 3; grid-row: auto; }
}

@media (max-width: 991px) {
    .fsro-home-competition-center { grid-template-columns: 1fr; }
    .fsro-home-competition-center__rounds { position: static; }
    .fsro-news-showcase { grid-template-columns: 1fr; }
    .fsro-news-showcase__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fsro-news-showcase__list article { grid-template-columns: 1fr; }
    .fsro-news-showcase__thumb { height: 135px; }
    .fsro-newsletter-card { grid-template-columns: 70px minmax(0, 1fr); }
    .fsro-newsletter-form { grid-column: 1 / 3; }
    .fsro-roster-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .fsro-portal-section { padding: 58px 0; }
    .fsro-section-title-row { align-items: flex-start; flex-direction: column; gap: 14px; }
    .fsro-section-title-row h2 { font-size: 29px; }
    .fsro-home-league-tabs--wide { display: flex; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }
    .fsro-home-league-tabs--wide button { flex: 0 0 220px; scroll-snap-align: start; }
    .fsro-home-table-card__header { align-items: flex-start; padding: 15px; }
    .fsro-home-table-card__header > a { display: none; }
    .fsro-news-showcase__media { height: 245px; }
    .fsro-news-showcase__content { padding: 20px; }
    .fsro-news-showcase__content h3 { font-size: 22px; }
    .fsro-news-showcase__list { grid-template-columns: 1fr; }
    .fsro-news-showcase__list article { grid-template-columns: 105px minmax(0, 1fr); }
    .fsro-news-showcase__thumb { height: auto; }
    .fsro-gallery-mosaic { grid-template-columns: 1fr; grid-template-rows: repeat(5, 210px); }
    .fsro-gallery-mosaic > a.is-large { grid-column: auto; }
    .fsro-gallery-mosaic .is-large strong { font-size: 22px; }
    .fsro-document-grid { grid-template-columns: 1fr; }
    .fsro-newsletter-card { display: block; padding: 25px 21px; }
    .fsro-newsletter-card__icon { width: 58px; height: 58px; margin-bottom: 17px; font-size: 21px; }
    .fsro-newsletter-card__copy h2 { font-size: 22px; }
    .fsro-newsletter-form { margin-top: 20px; }
    .fsro-newsletter-form__fields { grid-template-columns: 1fr; }
    .fsro-newsletter-form__action { align-items: flex-start; flex-direction: column; }
    .fsro-team-standing-row { min-width: 620px; }
    .fsro-team-standing-card .card__content { overflow-x: auto; }
    .fsro-match-info-grid,
    .fsro-lineups-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .fsro-home-table-card__head,
    .fsro-home-table-card__rows > a { min-width: 675px; }
    .fsro-home-table-card__identity h3 { max-width: 210px; font-size: 14px; }
    .fsro-document-tile { grid-template-columns: 46px minmax(0, 1fr) 18px; padding: 13px; }
    .fsro-document-tile__icon { width: 46px; height: 46px; }
    .fsro-match-timeline::before { left: 61px; }
    .fsro-match-timeline article { grid-template-columns: 37px 28px minmax(0, 1fr) 38px; gap: 7px; }
    .fsro-match-timeline__icon { width: 27px; height: 27px; }
}

/* V6.1 ticker containment and faster, distance-aware movement */
.fsro-chyron--v6 { position: relative; isolation: isolate; }
.fsro-chyron--v6 .container { overflow: hidden; }
.fsro-chyron--v6 .fsro-chyron__inner {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    grid-template-columns: auto minmax(0, 1fr) auto;
}
.fsro-chyron--v6 .fsro-chyron__label,
.fsro-chyron--v6 .fsro-chyron__all {
    position: relative;
    z-index: 4;
    background: #fff;
}
.fsro-chyron--v6 .fsro-chyron__label {
    margin-left: 0;
    padding: 0 20px;
    clip-path: none;
    border-radius: 0 10px 10px 0;
    background: var(--fsro-red);
}
.fsro-chyron--v6 .fsro-chyron__all { align-self: stretch; display: flex; align-items: center; padding: 0 0 0 18px; }
.fsro-chyron--v6 .fsro-chyron__viewport {
    position: relative;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    contain: paint;
}
.fsro-chyron--v6 .fsro-chyron__viewport::before,
.fsro-chyron--v6 .fsro-chyron__viewport::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: 30px;
    pointer-events: none;
}
.fsro-chyron--v6 .fsro-chyron__viewport::before { left: 0; background: linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
.fsro-chyron--v6 .fsro-chyron__viewport::after { right: 0; background: linear-gradient(270deg, #fff, rgba(255,255,255,0)); }
.fsro-chyron--v6 .fsro-chyron__track {
    display: flex;
    align-items: stretch;
    width: max-content;
    max-width: none;
    will-change: transform;
    animation: fsroChyronV6 var(--fsro-chyron-duration, 24s) linear infinite;
}
.fsro-chyron--v6 .fsro-chyron__group { display: flex; flex: 0 0 auto; align-items: stretch; }
.fsro-chyron--v6 .fsro-chyron__track a { flex: 0 0 auto; padding: 0 20px; }
.fsro-chyron--v6:hover .fsro-chyron__track,
.fsro-chyron--v6:focus-within .fsro-chyron__track { animation-play-state: paused; }
@keyframes fsroChyronV6 { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }

/* The home page table is detailed, but remains contained beside the round hub. */
.fsro-home-table-card__rows {
    max-height: 590px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(20,41,68,.28) transparent;
}
.fsro-home-table-card__rows::-webkit-scrollbar { width: 7px; }
.fsro-home-table-card__rows::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(20,41,68,.24); }
.fsro-home-table-card__rows::-webkit-scrollbar-track { background: transparent; }

@media (max-width: 767px) {
    .fsro-chyron--v6 .fsro-chyron__inner { grid-template-columns: 45px minmax(0, 1fr); }
    .fsro-chyron--v6 .fsro-chyron__label { width: 45px; justify-content: center; padding: 0; border-radius: 0 9px 9px 0; }
    .fsro-chyron--v6 .fsro-chyron__label span,
    .fsro-chyron--v6 .fsro-chyron__all { display: none; }
    .fsro-chyron--v6 .fsro-chyron__track a { padding: 0 15px; gap: 9px; }
    .fsro-chyron--v6 .fsro-chyron__track strong { font-size: 11px; }
    .fsro-home-table-card__rows { max-height: 520px; }
}

@media (prefers-reduced-motion: reduce) {
    .fsro-chyron--v6 .fsro-chyron__track { animation: none !important; transform: none !important; }
    .fsro-chyron--v6 .fsro-chyron__viewport { overflow-x: auto; }
}

/* ========================================================================
   FSRO V6.2 — competition navigation / "Aktuelno" chyron separation
   The competition tabs are visually shifted below the hero. Reserve the same
   visual space before the following chyron so the two components never overlap.
   ======================================================================== */
.fsro-competition-hero .fsro-competition-tabs {
    position: relative;
    z-index: 6;
}

.fsro-competition-hero + .fsro-chyron--v6 {
    clear: both;
    position: relative;
    z-index: 2;
    margin-top: 34px;
    border-top: 1px solid #e7ebf0;
    background: #fff;
}

.fsro-competition-hero + .fsro-chyron--v6 .fsro-chyron__inner {
    min-height: 54px;
}

@media (max-width: 991px) {
    .fsro-competition-hero + .fsro-chyron--v6 {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .fsro-competition-hero + .fsro-chyron--v6 {
        margin-top: 30px;
    }
}

/* ========================================================================
   FSRO V6.3 — 2/3 standings + 1/3 round/results layout
   Used on the homepage and the competition overview.
   ======================================================================== */
.fsro-table-results-layout,
.fsro-home-competition-center.fsro-table-results-layout,
.fsro-overview-premium-grid.fsro-table-results-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    gap: 24px;
    align-items: start;
    width: 100%;
}

.fsro-table-results-layout__table,
.fsro-table-results-layout__results,
.fsro-home-competition-center__standings,
.fsro-home-competition-center__rounds {
    min-width: 0;
}

.fsro-table-results-layout__results,
.fsro-home-competition-center__rounds {
    position: sticky;
    top: 18px;
}

.fsro-overview-premium-grid.fsro-table-results-layout {
    margin: 0 0 32px;
}

.fsro-overview-premium-grid.fsro-table-results-layout > div {
    display: block;
    width: auto;
}

/* Detailed table: enough room for every statistic and a permanently visible
   points column when horizontal scrolling is needed on narrower screens. */
.fsro-home-table-card__scroll {
    position: relative;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(20, 41, 68, .28) transparent;
}

.fsro-home-table-card__scroll::-webkit-scrollbar { height: 7px; }
.fsro-home-table-card__scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(20, 41, 68, .24);
}

.fsro-home-table-card__head,
.fsro-home-table-card__rows > a {
    min-width: 690px;
    grid-template-columns: 38px minmax(205px, 1fr) repeat(7, 44px) 64px;
    gap: 4px;
}

.fsro-home-table-card__head {
    min-height: 42px;
    padding: 0 12px;
    background: #0a1c32;
    color: rgba(255, 255, 255, .82);
    border-bottom-color: rgba(255, 255, 255, .08);
    font-size: 7px;
}

.fsro-home-table-card__head > span:last-child {
    position: sticky;
    right: 0;
    z-index: 5;
    align-self: stretch;
    display: grid;
    place-items: center;
    margin-right: -12px;
    padding-right: 12px;
    background: #0a1c32;
    box-shadow: -10px 0 16px rgba(6, 20, 38, .16);
}

.fsro-home-table-card__rows > a {
    min-height: 55px;
    padding: 6px 12px;
    color: #1f2b3e;
}

.fsro-home-table-card__rows > a > span:nth-child(n+3) {
    color: #263449;
    font-size: 9px;
    font-weight: 800;
}

.fsro-home-table-card__team strong {
    color: #101b2e;
    font-size: 10px;
    font-weight: 900;
}

.fsro-home-table-card__points {
    position: sticky;
    right: 0;
    z-index: 4;
    align-self: stretch;
    min-width: 64px;
    margin-right: -12px;
    padding-right: 12px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    color: #fff !important;
    background: linear-gradient(135deg, #132b49, #09192c);
    border-left: 1px solid rgba(9, 25, 44, .12);
    box-shadow: -10px 0 16px rgba(13, 30, 51, .08);
}

.fsro-home-table-card__points b {
    color: #fff;
    font-size: 13px;
    line-height: 1;
    font-weight: 950;
}

.fsro-home-table-card__points small {
    color: rgba(255, 255, 255, .58);
    font-size: 6px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fsro-home-table-card__rows > a.is-leader .fsro-home-table-card__points {
    background: linear-gradient(135deg, #ed2a35, #c9131e);
}

.fsro-home-table-card__rows > a:hover .fsro-home-table-card__points {
    filter: brightness(1.06);
}

/* Compact results/round card for the one-third column. */
.fsro-round-hub--compact .fsro-round-hub__header {
    padding: 18px 18px;
}

.fsro-round-hub--compact .fsro-round-hub__header h3 {
    max-width: 210px;
    font-size: 15px;
    line-height: 1.2;
}

.fsro-round-hub--compact .fsro-round-hub__header > a {
    padding: 8px 9px;
    font-size: 7px;
}

.fsro-round-hub--compact .fsro-round-hub__tabs button {
    padding: 12px 4px 11px;
}

.fsro-round-hub--compact .fsro-round-hub__tabs button span {
    font-size: 7px;
}

.fsro-round-hub--compact .fsro-round-hub__tabs button strong {
    font-size: 9px;
}

.fsro-round-hub--compact .fsro-round-hub__meta {
    padding: 10px 13px;
    font-size: 7px;
}

.fsro-round-hub--compact .fsro-round-hub__matches {
    max-height: 590px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(20, 41, 68, .24) transparent;
}

.fsro-round-hub--compact .fsro-round-hub__matches::-webkit-scrollbar { width: 6px; }
.fsro-round-hub--compact .fsro-round-hub__matches::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(20, 41, 68, .22);
}

.fsro-round-hub--compact .fsro-round-result {
    grid-template-columns: minmax(0, 1fr) 58px;
    grid-template-areas:
        "date date"
        "home score"
        "away score";
    gap: 5px 10px;
    min-height: 91px;
    padding: 10px 13px;
}

.fsro-round-hub--compact .fsro-round-result:hover {
    padding-left: 16px;
}

.fsro-round-hub--compact .fsro-round-result__date {
    grid-area: date;
    display: flex;
    align-items: center;
    gap: 7px;
    padding-bottom: 5px;
    border-bottom: 1px dashed #e4e8ee;
    font-size: 7px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.fsro-round-hub--compact .fsro-round-result__date small {
    display: inline;
    margin: 0;
    color: var(--fsro-red);
}

.fsro-round-hub--compact .fsro-round-result__team {
    justify-content: flex-start;
    min-width: 0;
    text-align: left;
}

.fsro-round-hub--compact .fsro-round-result__team.is-home {
    grid-area: home;
    flex-direction: row-reverse;
    justify-content: flex-end;
    text-align: left;
}

.fsro-round-hub--compact .fsro-round-result__team.is-away {
    grid-area: away;
}

.fsro-round-hub--compact .fsro-round-result__team i {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
}

.fsro-round-hub--compact .fsro-round-result__team img {
    width: 20px;
    height: 20px;
}

.fsro-round-hub--compact .fsro-round-result__team strong {
    font-size: 9px;
}

.fsro-round-hub--compact .fsro-round-result__score {
    grid-area: score;
    align-self: stretch;
    width: 58px;
    height: auto;
    min-height: 52px;
    border-radius: 10px;
    font-size: 12px;
}

.fsro-round-hub--compact .fsro-round-result > i {
    display: none;
}

@media (max-width: 1199px) {
    .fsro-table-results-layout,
    .fsro-home-competition-center.fsro-table-results-layout,
    .fsro-overview-premium-grid.fsro-table-results-layout {
        grid-template-columns: minmax(0, 1.75fr) minmax(285px, .85fr);
        gap: 20px;
    }

    .fsro-home-table-card__head,
    .fsro-home-table-card__rows > a {
        min-width: 670px;
        grid-template-columns: 36px minmax(180px, 1fr) repeat(7, 42px) 60px;
    }
}

@media (max-width: 991px) {
    .fsro-table-results-layout,
    .fsro-home-competition-center.fsro-table-results-layout,
    .fsro-overview-premium-grid.fsro-table-results-layout {
        grid-template-columns: 1fr;
    }

    .fsro-table-results-layout__results,
    .fsro-home-competition-center__rounds {
        position: static;
    }

    .fsro-round-hub--compact .fsro-round-hub__matches {
        max-height: 480px;
    }
}

@media (max-width: 767px) {
    .fsro-home-table-card__head,
    .fsro-home-table-card__rows > a {
        min-width: 650px;
        grid-template-columns: 34px minmax(170px, 1fr) repeat(7, 40px) 58px;
    }

    .fsro-home-table-card__points {
        min-width: 58px;
    }

    .fsro-round-hub--compact .fsro-round-hub__header h3 {
        max-width: 220px;
    }
}

/* ========================================================================
   FSRO V6.4 — full standings height + isolated reusable portal sections
   ======================================================================== */

/* The standings table must always show the full league. Keep only horizontal
   scrolling for narrow viewports; never create an inner vertical scrollbar. */
.fsro-home-table-card__rows,
.fsro-home-table-panel .fsro-home-table-card__rows,
.fsro-table-results-layout .fsro-home-table-card__rows {
    max-height: none !important;
    height: auto !important;
    overflow-y: visible !important;
}

/* Reusable sections are page-level siblings, not children of Alchemists'
   .site-content container. This isolates them from inherited layout rules. */
.fsro-portal-stack {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    clear: both;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: #fff;
}

.fsro-portal-stack > .fsro-portal-section,
.fsro-portal-stack > .fsro-club-strip {
    display: block;
    width: 100%;
    margin: 0;
    clear: both;
}

.fsro-portal-stack .container {
    position: relative;
    z-index: 2;
}

/* Ensure dark portal sections cannot be neutralised by page-specific CSS. */
.fsro-portal-stack > .fsro-portal-gallery {
    color: #fff;
    background: linear-gradient(135deg, #07172a 0%, #102b48 100%) !important;
}

.fsro-portal-stack > .fsro-portal-testimonials {
    color: #fff;
    background: linear-gradient(135deg, #0b1c31 0%, #132e4d 100%) !important;
}

/* A single gallery should be a premium featured banner instead of occupying
   one small cell in a five-item mosaic. */
.fsro-gallery-mosaic.is-single {
    display: block;
    min-height: 0;
}

.fsro-gallery-mosaic.is-single > a,
.fsro-gallery-mosaic.is-single > a.is-large {
    display: flex;
    width: 100%;
    min-height: 390px;
    grid-column: auto;
    grid-row: auto;
    border-radius: 20px;
}

.fsro-gallery-mosaic.is-single > a > span {
    max-width: 700px;
    padding: 38px;
}

.fsro-gallery-mosaic.is-single strong {
    max-width: 680px;
    font-size: clamp(25px, 3vw, 40px);
}

.fsro-gallery-mosaic--count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 330px;
}

.fsro-gallery-mosaic--count-2 > a.is-large {
    grid-row: auto;
}

/* One approved testimonial is displayed as a centred editorial quote and is
   not passed through Slick. */
.fsro-testimonial-slider.is-static {
    display: block;
    max-width: 820px;
    margin: 0 auto;
}

.fsro-testimonial-slider.is-static .fsro-testimonial-card {
    min-height: 0;
    padding: 34px 38px;
    background: rgba(255,255,255,.07);
    box-shadow: 0 24px 55px rgba(0,0,0,.16);
}

.fsro-testimonial-slider.is-static .fsro-testimonial-card > p {
    font-size: 15px;
    line-height: 1.8;
}

/* Prevent a hidden/uninitialised Slick track from reserving excessive space. */
.fsro-testimonial-slider:not(.slick-initialized):not(.is-static) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

.fsro-testimonial-slider:not(.slick-initialized):not(.is-static) .fsro-testimonial-card {
    min-width: 0;
}

/* Consistent club/team hero and crest frame. The entity hero must never pick
   up a generic Alchemists page-heading background image. */
.fsro-entity-hero,
.fsro-entity-hero--club,
.fsro-entity-hero--team {
    background-image:
        radial-gradient(circle at 84% 14%, color-mix(in srgb, var(--entity-primary, #e31b23) 24%, transparent), transparent 28%),
        linear-gradient(135deg, var(--entity-secondary, #0d1c31) 0%, #142d4d 100%) !important;
    background-position: center !important;
    background-size: cover !important;
}

.fsro-entity-hero__logo {
    overflow: hidden;
}

.fsro-entity-hero__logo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 74px;
    max-height: 74px;
    margin: auto;
    object-fit: contain !important;
    object-position: center;
}

.fsro-entity-hero__logo span[hidden] {
    display: none !important;
}

@media (max-width: 991px) {
    .fsro-testimonial-slider:not(.slick-initialized):not(.is-static) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .fsro-gallery-mosaic.is-single > a,
    .fsro-gallery-mosaic.is-single > a.is-large {
        min-height: 270px;
    }

    .fsro-gallery-mosaic.is-single > a > span {
        padding: 24px;
    }

    .fsro-gallery-mosaic--count-2 {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, 230px);
    }

    .fsro-testimonial-slider:not(.slick-initialized):not(.is-static) {
        grid-template-columns: 1fr;
    }

    .fsro-testimonial-slider.is-static .fsro-testimonial-card {
        padding: 25px;
    }
}
