/* 原有模块样式；所有规则限定于组件根节点，插件按需加载本文件。 */
.ff-exhibitions{--ff-red:#dc1430;--ff-ink:#222a33;--ff-muted:#647180;--ff-border:#dce1e6;box-sizing:border-box;background:#fff;color:var(--ff-ink);font-family:Arial,Helvetica,sans-serif;padding:76px clamp(20px,2vw,36px) 48px;overflow:hidden;isolation:isolate;color-scheme:light}
.ff-exhibitions *,.ff-exhibitions *::before,.ff-exhibitions *::after{box-sizing:border-box}
.ff-exhibitions [hidden]{display:none!important}
.ff-exhibitions .ff-exhibitions-inner{max-width:1800px;margin:0 auto;display:grid;grid-template-columns:minmax(270px, .29fr) minmax(0,1fr);gap:40px}
.ff-exhibitions p,.ff-exhibitions h2,.ff-exhibitions h3{padding:0;margin:0;font-family:inherit}
.ff-exhibitions a{text-decoration:none;color:inherit}
.ff-exhibitions .ff-action,.ff-exhibitions .ff-event-open{text-decoration:none!important}
.ff-exhibitions .ff-eyebrow{display:flex;align-items:center;gap:18px;color:var(--ff-red);font-size:14px;font-weight:700;letter-spacing:2.2px;line-height:1.4;white-space:nowrap}
.ff-exhibitions .ff-eyebrow::after{content:"";width:44px;height:1px;background:var(--ff-red);flex-shrink:0}
.ff-exhibitions .ff-intro h2{font-size:clamp(46px,4vw,70px);line-height:1.03;letter-spacing:-2.5px;font-weight:750;margin:30px 0 32px;color:var(--ff-ink)}
.ff-exhibitions .ff-description{font-size:clamp(16px,1.22vw,21px);line-height:1.65;color:var(--ff-muted);max-width:340px}
.ff-exhibitions .ff-actions{display:grid;gap:11px;margin-top:32px}
.ff-exhibitions .ff-action{border:1px solid #cbd2da;border-radius:6px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:700;line-height:1.3;white-space:nowrap}
.ff-exhibitions .ff-action-primary{background:var(--ff-red);border-color:var(--ff-red);color:#fff}
.ff-exhibitions .ff-action span{font-size:28px;line-height:20px;font-weight:400}
.ff-exhibitions .ff-action:hover{border-color:var(--ff-red);box-shadow:0 5px 18px #222a3310}
.ff-exhibitions .ff-footnote{font-size:13px;letter-spacing:1.3px;line-height:1.65;color:var(--ff-muted);margin-top:54px}
.ff-exhibitions .ff-carousel{min-width:0;position:relative;align-self:center}
.ff-exhibitions .ff-corner-note{position:absolute;right:2%;top:4px;color:#7e8994;font-size:13px;letter-spacing:1.5px;line-height:1.65}
.ff-exhibitions .ff-corner-note::before{content:"";display:block;width:32px;height:1px;background:var(--ff-red);margin-bottom:14px}
.ff-exhibitions .ff-stage{position:relative;display:grid;gap:24px;padding:16px 0 34px}
.ff-exhibitions .custom_el_empty{min-height:280px;display:grid;place-items:center;color:var(--ff-muted);text-align:center;font-size:16px;padding:32px}
.ff-exhibitions .ff-event{min-width:0;overflow:hidden;border:1px solid var(--ff-border);border-radius:8px;background:#fff;box-shadow:0 18px 40px #18232f12;margin:0}
/* 图层：远卡 1、侧卡 2、主卡 3。未运行 JS 时展示正常列表。 */
.ff-exhibitions.ff-ready .ff-stage{height:0;padding:calc(40.53% + 295px) 0 0;display:block}
.ff-exhibitions.ff-ready .ff-event{position:absolute;top:16px;left:50%;width:62%;transform:translateX(-50%);transition:transform .55s cubic-bezier(.22,.7,.2,1),opacity .55s;z-index:1;opacity:0;pointer-events:none}
.ff-exhibitions.ff-ready .ff-event[data-position="0"]{z-index:3;opacity:1;pointer-events:auto;transform:translateX(-50%)}
.ff-exhibitions.ff-ready .ff-event[data-position="-1"]{z-index:2;opacity:.48;pointer-events:auto;cursor:pointer;transform:translateX(-94%) translateY(70px) scale(.82)}
.ff-exhibitions.ff-ready .ff-event[data-position="1"]{z-index:2;opacity:.40;pointer-events:auto;cursor:pointer;transform:translateX(-6%) translateY(80px) scale(.82)}
.ff-exhibitions.ff-ready .ff-event[data-position="2"]{opacity:.12;transform:translateX(23%) translateY(103px) scale(.73)}
.ff-exhibitions.ff-ready .ff-event[data-position="-2"]{opacity:0;transform:translateX(-120%) translateY(103px) scale(.73)}
.ff-exhibitions .ff-event-media{position:relative;aspect-ratio:1.53;background:#f0f3f6;overflow:hidden}
.ff-exhibitions .ff-event-media img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;border:0;border-radius:0}
.ff-exhibitions .ff-event-status{position:absolute;top:20px;left:20px;border-radius:24px;background:var(--ff-red);color:white;padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.6px;line-height:1}
.ff-exhibitions .ff-event-status[data-state="past"]{background:#646c75}
.ff-exhibitions .ff-image-fallback{position:absolute;inset:35% 24px auto;color:var(--ff-muted);font-size:24px;line-height:1.5;text-align:center}
.ff-exhibitions .ff-event-info{position:relative;padding:23px 24px 28px;min-height:185px}
.ff-exhibitions .ff-event-number{color:var(--ff-red);font-size:14px;font-weight:700;display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ff-exhibitions .ff-event-number::after{content:"";width:46px;height:1px;background:var(--ff-red)}
.ff-exhibitions .ff-event-info h3{font-size:clamp(19px,1.6vw,27px);font-weight:700;line-height:1.18;letter-spacing:-.5px;margin:0 0 17px;color:#232323}
.ff-exhibitions .ff-event-date,.ff-exhibitions .ff-event-venue{font-size:14px;color:var(--ff-muted);line-height:1.6;padding-right:45px}
.ff-exhibitions .ff-event-open{position:absolute;right:20px;bottom:22px;width:43px;height:43px;border:1px solid #cdd1d5;border-radius:50%;display:grid;place-items:center;font-size:24px;color:var(--ff-red)}
.ff-exhibitions .ff-event-open:hover{background:var(--ff-red);color:#fff;border-color:var(--ff-red)}
.ff-exhibitions:not(.ff-ready) .ff-controls{display:none}
.ff-exhibitions .ff-controls{display:flex;align-items:center;gap:clamp(24px,6vw,110px);padding:20px 0 0}
.ff-exhibitions .ff-pagination{display:flex;justify-content:space-between;position:relative;flex:1;isolation:isolate}
.ff-exhibitions .ff-pagination:has(>button:nth-child(6)){justify-content:flex-start;gap:12px;overflow-x:auto;max-width:100%;padding:4px}
.ff-exhibitions .ff-pagination::before{content:"";position:absolute;left:1px;right:1px;top:50%;height:1px;background:#ddd;z-index:-1}
.ff-exhibitions button{font:inherit;appearance:none;cursor:pointer;border:1px solid #d4d7db;border-radius:50%;background:#fff;color:#6d737a;width:46px;height:46px;min-width:46px;padding:0;display:grid;place-items:center;box-shadow:none;line-height:1}
.ff-exhibitions .ff-pagination button{font-size:14px;font-weight:700}
.ff-exhibitions .ff-pagination button[aria-current="true"]{color:#fff;background:var(--ff-red);border-color:var(--ff-red)}
.ff-exhibitions .ff-arrows{display:flex;gap:12px}
.ff-exhibitions .ff-arrows button{font-size:25px;color:var(--ff-ink)}
.ff-exhibitions button:hover{border-color:var(--ff-red)}
.ff-exhibitions :is(a,button):focus-visible{outline:3px solid var(--ff-red);outline-offset:4px}
.ff-exhibitions .ff-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1600px){.ff-exhibitions .ff-event-info{min-height:205px}.ff-exhibitions .ff-event-date,.ff-exhibitions .ff-event-venue{font-size:16px}}
@media(max-width:1100px){.ff-exhibitions{padding:50px 28px 36px}.ff-exhibitions .ff-exhibitions-inner{grid-template-columns:260px minmax(0,1fr);gap:24px}.ff-exhibitions.ff-ready .ff-event{width:80%}.ff-exhibitions.ff-ready .ff-stage{padding-top:calc(52.29% + 295px)}.ff-exhibitions .ff-corner-note{display:none}.ff-exhibitions .ff-eyebrow{font-size:11px;letter-spacing:1.4px}.ff-exhibitions .ff-action{font-size:14px;padding:16px}.ff-exhibitions .ff-controls{gap:22px}}
@media(max-width:767px){.ff-exhibitions{padding:36px 20px}.ff-exhibitions .ff-exhibitions-inner{display:block}.ff-exhibitions .ff-intro h2{font-size:48px;letter-spacing:-2px;margin:22px 0}.ff-exhibitions .ff-intro h2 br{display:none}.ff-exhibitions .ff-intro h2 br::after{content:" "}.ff-exhibitions .ff-intro h2{max-width:360px}.ff-exhibitions .ff-description{max-width:520px;font-size:16px}.ff-exhibitions .ff-actions{max-width:400px;margin-top:24px}.ff-exhibitions .ff-footnote{display:none}.ff-exhibitions .ff-carousel{margin-top:34px}.ff-exhibitions.ff-ready .ff-stage{height:auto;display:grid;padding:0 0 24px}.ff-exhibitions.ff-ready .ff-event{grid-area:1/1;position:relative;left:auto;top:auto;width:100%;transform:none!important;visibility:hidden;opacity:0}.ff-exhibitions.ff-ready .ff-event[data-position="0"]{visibility:visible;opacity:1}.ff-exhibitions .ff-event-info{padding:20px;min-height:195px}.ff-exhibitions .ff-event-info h3{font-size:23px}.ff-exhibitions .ff-controls{padding:0;gap:20px;flex-wrap:wrap}.ff-exhibitions .ff-pagination{min-width:240px}.ff-exhibitions .ff-arrows{margin-left:auto}.ff-exhibitions button{width:44px;height:44px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.ff-exhibitions.ff-ready .ff-event{transition:none}}
