/* 校园精选轮播：三张真实图片配合 HTML 文案，手机上可横向滑动。 */
.hero.carousel { display:block; min-height:0; margin-bottom:24px; }
.carousel-window { width:calc(100% - 180px); overflow:hidden; border-radius:15px; touch-action:pan-y pinch-zoom; outline-offset:4px; }
.carousel-track { display:flex; transition:transform 460ms cubic-bezier(.22,.72,.25,1); }
.carousel-slide { flex:0 0 100%; min-width:0; min-height:300px; position:relative; display:flex; align-items:center; padding:24px 27px; background:#edf4ff; overflow:hidden; isolation:isolate; }
.carousel-slide.slide-lilac { background:#f1efff; }
.carousel-slide.slide-peach { background:#fff1e7; }
.carousel .hero-copy { width:62%; padding:0; pointer-events:auto; }
.carousel .carousel-title { font-size:clamp(28px,2.8vw,45px); font-weight:900; line-height:1.45; letter-spacing:-1.7px; margin:14px 0; white-space:nowrap; }
.carousel-title>span { color:var(--blue); position:relative; }
.carousel .carousel-title>span:after { content:""; position:absolute; z-index:-1; bottom:0; left:0; right:0; height:7px; background:var(--yellow); transform:rotate(-2deg); }
.carousel .hero-copy p { max-width:80%; font-size:calc(11px * var(--text-scale)); line-height:1.8; margin:14px 0 16px; }
.carousel .hero-art { position:absolute; inset:0 0 0 35%; height:100%; width:auto; opacity:.95; mask-image:linear-gradient(to right,transparent,#000 20%); }
.carousel .hero-art img { object-position:65% center; user-select:none; -webkit-user-drag:none; }
.carousel .hero-sticker { top:21px; right:26px; font-size:11px; }
.carousel-cta { display:inline-flex; align-items:center; gap:18px; font-size:calc(11px * var(--text-scale)); color:var(--blue); background:#ffffffcf; padding:9px 12px; border-radius:6px; border:1px solid #ffffffa0; }
.carousel-cta>span { font-size:16px; }
.carousel-cta:hover { background:white; transform:translateY(-1px); }
.carousel-shortcuts { position:absolute; top:45px; right:0; width:158px; display:grid; gap:11px; text-align:center; }
.carousel-shortcuts button { width:100%; padding:15px 8px; font-size:calc(14px * var(--text-scale)); gap:8px; }
.carousel-shortcuts small { font-size:calc(9px * var(--text-scale)); color:var(--settings-muted); margin-bottom:14px; }
.carousel-controls { display:flex; align-items:center; gap:17px; width:calc(100% - 180px); padding:13px 4px 0; }
.carousel-counter { color:var(--settings-muted); font-size:10px; letter-spacing:2px; white-space:nowrap; }
.carousel-counter strong { font-size:12px; color:var(--ink); font-weight:600; }
.carousel-dots { display:flex; align-items:center; gap:3px; }
.carousel-dots button { width:25px; height:26px; position:relative; padding:0; }
.carousel-dots button:after { content:""; display:block; position:absolute; height:5px; width:5px; top:10px; left:10px; border-radius:5px; background:#bdcce4; transition:width .25s, left .25s, background .25s; }
.carousel-dots button[aria-pressed=true]:after { width:21px; left:2px; background:var(--blue); }
.carousel-buttons { display:flex; gap:8px; align-items:center; margin-left:auto; }
.carousel-buttons button { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--settings-border); border-radius:50%; background:var(--surface); color:var(--ink); font-size:21px; line-height:1; padding:0; }
.carousel-buttons button:hover { color:var(--blue); border-color:var(--blue); }
html[data-theme=dark] .carousel-slide { background:#1d2d45; }
html[data-theme=dark] .carousel-slide.slide-lilac { background:#292743; }
html[data-theme=dark] .carousel-slide.slide-peach { background:#382d2b; }
html[data-theme=dark] .carousel .hero-art { border-radius:0; opacity:.7; }
html[data-theme=dark] .carousel .hero-art img { opacity:1; mix-blend-mode:normal; }
html[data-theme=dark] .carousel-title { color:var(--ink); }
html[data-theme=dark] .carousel-title>span { color:#afc7ff; }
html[data-theme=dark] .carousel-title>span:after { opacity:.25; }
html[data-theme=dark] .carousel-cta { background:#20304edb; color:#c8d8ff; border-color:#46587b; }
@media(max-width:1200px) {
  .carousel-window,.carousel-controls { width:calc(100% - 155px); }
  .carousel-shortcuts { width:137px; }
  .carousel-shortcuts button { font-size:calc(12px * var(--text-scale)); }
  .carousel-slide { padding:20px; min-height:275px; }
  .carousel .carousel-title { font-size:clamp(28px,3vw,38px); }
  .carousel .hero-sticker { font-size:9px; right:20px; }
}
@media(max-width:1000px) {
  .carousel-shortcuts { display:none; }
  .carousel-window,.carousel-controls { width:100%; }
  .carousel .carousel-title { font-size:clamp(30px,4.1vw,42px); }
  .carousel-slide { min-height:285px; padding:24px; }
}
@media(max-width:760px) {
  .hero.carousel { margin-bottom:19px; }
  .carousel-window { border-radius:11px; }
  .carousel-slide { min-height:244px; padding:19px 15px; }
  .carousel .hero-copy { width:83%; }
  .carousel .carousel-title { font-size:clamp(25px,5.9vw,36px); line-height:1.5; letter-spacing:-1.2px; margin:14px 0 10px; }
  .carousel .hero-copy p { max-width:77%; font-size:calc(9px * var(--text-scale)); margin:11px 0 14px; }
  .carousel .hero-art { inset:0 -2% 0 36%; opacity:.75; }
  .carousel .hero-art img { object-position:67% center; }
  .carousel .hero-sticker { top:13px; right:20px; font-size:8px; padding:7px 10px; }
  .carousel .hero-sticker b { display:none; }
  .carousel .hero-copy .eyebrow { font-size:6px; letter-spacing:.9px; }
  .carousel-cta { font-size:calc(9px * var(--text-scale)); gap:12px; padding:7px 9px; }
  .carousel-controls { padding:8px 1px 0; gap:12px; }
  .carousel-counter { font-size:9px; }
  .carousel-counter strong { font-size:11px; }
  .carousel-buttons { gap:7px; }
  .carousel-buttons button { width:32px; height:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .carousel-track,.carousel-dots button:after { transition:none !important; }
}
