/* =========================================================
   MACCMS10 影视模板（第二十九套） - style.css
   珊瑚·海盐「海滨影院」风（hs- 语义化命名）
   实色单条头部 lido / 左轮播+右四宫格 hero / 外框卡片 card
   网格 latest / 分类左列表右排行 category+feed+leader
   三榜 podium / 筛选 filter / 档案 dossier / 银幕 screen
   章节 episodes / 评论 review / 右栏 side / 页脚 shore
   珊瑚橙 × 海盐蓝 × 米白，海滨度假质感
   所有封面固定尺寸（PC / 手机），响应式，利于收录
   ========================================================= */

/* ---------- 基础 ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: "PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  background: #fbfaf7;
  color: #2b2b2e;
  font-size: 14px;
  line-height: 1.6;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
img { display: block; }
ul, ol { list-style: none; }
.hs-lazy { width: 100%; height: 100%; object-fit: cover; }

/* ---------- 珊瑚实色头部（汉堡电脑手机都在最右侧） ---------- */
.hs-lido { position: sticky; top: 0; z-index: 100; background: linear-gradient(90deg,#ff6b57,#ff8e72); box-shadow: 0 6px 20px rgba(255,107,87,.3); }
.hs-lido-in { position: relative; max-width: 1180px; margin: 0 auto; padding: 10px 18px; display: flex; align-items: center; gap: 14px; }
.hs-lido-logo { flex: 0 0 auto; font-size: 22px; font-weight: 800; letter-spacing: 1px; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-lido-logo::before { content: "☀ "; font-size: 17px; }
.hs-lido-nav { flex: 0 1 auto; display: flex; align-items: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.hs-lido-nav::-webkit-scrollbar { display: none; }
.hs-lido-link { display: block; padding: 8px 13px; font-size: 14px; color: rgba(255,255,255,.94); white-space: nowrap; border-radius: 20px; }
.hs-lido-link:hover { background: rgba(255,255,255,.2); color: #fff; }
.hs-lido-home { background: #fff; color: #ff6b57; font-weight: 700; }
.hs-lido-home::before { content: "⌂ "; }
.hs-lido-search { flex: 1 1 auto; display: flex; align-items: center; max-width: 230px; margin: 0 auto; background: #fff; border-radius: 22px; overflow: hidden; }
.hs-lido-field { flex: 1 1 auto; min-width: 0; height: 36px; border: 0; background: transparent; padding: 0 14px; font-size: 13px; color: #2b2b2e; outline: none; }
.hs-lido-field::placeholder { color: #b8b2a8; }
.hs-lido-go { flex: 0 0 auto; height: 36px; border: 0; padding: 0 16px; font-size: 13px; cursor: pointer; background: #ff6b57; color: #fff; font-weight: 700; }
.hs-lido-go:hover { background: #e5523f; }
.hs-lido-burger { width: 40px; height: 40px; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; cursor: pointer; background: transparent; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; flex: 0 0 auto; }
.hs-lido-burger span { display: block; width: 16px; height: 2px; background: #fff; border-radius: 2px; transition: all .25s; }
.hs-lido-burger.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hs-lido-burger.is-open span:nth-child(2) { opacity: 0; }
.hs-lido-burger.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* 移动端悬浮抽屉（header 内） */
.hs-drawer { position: absolute; top: calc(100% + 10px); left: 12px; right: 12px; z-index: 99; display: none; background: #fff; border: 1px solid #f1e6de; border-radius: 14px; box-shadow: 0 18px 44px rgba(255,107,87,.24); max-height: calc(100vh - 90px); overflow-y: auto; scrollbar-width: none; }
.hs-drawer::-webkit-scrollbar { display: none; }
.hs-drawer.is-open { display: block; }
.hs-drawer-link { display: block; padding: 12px 18px; color: #2b2b2e; font-weight: 700; border-bottom: 1px solid #faf3ee; }
.hs-drawer-group { border-bottom: 1px solid #faf3ee; }
.hs-drawer-sub { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 18px 14px; }
.hs-drawer-sub a { font-size: 12px; color: #a09a90; padding: 4px 12px; background: #faf3ee; border-radius: 6px; }
.hs-drawer-sub a:hover { color: #ff6b57; }

/* ---------- 内容区 ---------- */
.hs-body { width: 100%; max-width: 1180px; margin: 0 auto; padding: 18px 18px 40px; }

/* ---------- 面包屑（仅详情/播放页） ---------- */
.hs-crumb { font-size: 13px; color: #a09a90; margin: 0 0 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-crumb a, .hs-crumb span { display: inline-block; max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.hs-crumb a:hover { color: #ff6b57; }
.hs-crumb-sep { margin: 0 8px; color: #d9d2c8; }

/* ---------- 焦点区：左轮播 + 右四宫格 ---------- */
.hs-hero { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 12px; margin-bottom: 16px; }
.hs-carousel { position: relative; border-radius: 14px; overflow: hidden; background: #2b2b2e; box-shadow: 0 12px 26px rgba(43,43,46,.24); }
.hs-carousel-track { display: flex; transition: transform .5s ease; }
.hs-slide { position: relative; flex: 0 0 100%; min-width: 100%; height: 320px; display: block; }
.hs-slide img { width: 100%; height: 100%; object-fit: cover; }
.hs-slide-shade { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.9)); }
.hs-slide-copy { position: absolute; left: 18px; right: 18px; bottom: 14px; z-index: 2; }
.hs-slide-name { display: block; font-size: 22px; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-slide-note { display: block; font-style: normal; font-size: 12px; color: rgba(255,255,255,.85); margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-slide-flag { display: inline-block; font-style: normal; font-size: 11px; color: #ff6b57; background: #fff; padding: 2px 10px; border-radius: 12px; margin-top: 7px; }
.hs-carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 34px; height: 34px; border: 0; border-radius: 50%; cursor: pointer; background: rgba(255,255,255,.85); color: #2b2b2e; font-size: 20px; line-height: 1; }
.hs-carousel-prev { left: 10px; }
.hs-carousel-next { right: 10px; }
.hs-carousel-arrow:hover { background: #ff6b57; color: #fff; }
.hs-carousel-dots { position: absolute; left: 0; right: 0; bottom: 8px; z-index: 3; display: flex; justify-content: center; gap: 6px; }
.hs-carousel-dots i { display: block; width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; font-style: normal; }
.hs-carousel-dots i.is-on { background: #ff6b57; width: 18px; border-radius: 5px; }
.hs-quad { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; }
.hs-quad-cell { position: relative; display: block; min-width: 0; height: 154px; border-radius: 14px; overflow: hidden; background: #f1e6de; box-shadow: 0 8px 18px rgba(43,43,46,.16); }
.hs-quad-cell img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hs-quad-cell:hover img { transform: scale(1.06); }
.hs-quad-mask { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px 8px 6px; font-size: 12px; color: #fff; background: linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.88)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-quad-score { position: absolute; right: 6px; top: 6px; z-index: 2; font-size: 12px; padding: 1px 7px; border-radius: 10px; background: #ff6b57; color: #fff; }

/* ---------- 外框卡片 ---------- */
.hs-card { background: #fff; border: 1px solid #f1e6de; border-radius: 14px; padding: 16px; margin-bottom: 16px; box-shadow: 0 6px 18px rgba(255,107,87,.08); }
.hs-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.hs-card-title { font-size: 17px; color: #2b2b2e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-card-title::before { content: "◆ "; color: #ff6b57; }
.hs-card-note { font-size: 13px; color: #a09a90; flex: 0 0 auto; }
.hs-card-more { font-size: 13px; color: #a09a90; flex: 0 0 auto; }
.hs-card-more:hover { color: #ff6b57; }

/* ---------- 网格（固定尺寸） ---------- */
.hs-latest { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.hs-latest-item { min-width: 0; display: block; transition: transform .25s ease; }
.hs-latest-item:hover { transform: translateY(-3px); }
.hs-latest-pic { position: relative; display: block; height: 210px; border-radius: 10px; overflow: hidden; background: #f1e6de; box-shadow: 0 8px 20px rgba(43,43,46,.14); }
.hs-latest-pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hs-latest-item:hover .hs-latest-pic img { transform: scale(1.06); }
.hs-latest-flag { position: absolute; left: 8px; top: 8px; z-index: 2; font-size: 11px; padding: 2px 9px; border-radius: 4px; background: rgba(255,107,87,.92); color: #fff; max-width: 62%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-latest-score { position: absolute; right: 8px; top: 8px; z-index: 2; font-size: 13px; font-weight: 800; color: #2b2b2e; background: #fff; padding: 1px 8px; border-radius: 4px; }
.hs-latest-fade { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 16px 10px 7px; font-size: 13px; color: #fff; background: linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.9)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-latest-caption { display: block; padding: 8px 2px 0; }
.hs-latest-name { display: block; font-size: 13px; color: #2b2b2e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-latest-item:hover .hs-latest-name { color: #ff6b57; }
.hs-latest-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; font-size: 12px; color: #a09a90; }

/* ---------- 三榜并排 ---------- */
.hs-podium { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 8px; }
.hs-podium-card { min-width: 0; }
.hs-podium-list { display: flex; flex-direction: column; }
.hs-podium-row { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px dashed #f5e0d6; min-width: 0; }
.hs-podium-row:last-child { border-bottom: 0; }
.hs-podium-no { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 6px; font-size: 12px; font-weight: 800; text-align: center; line-height: 22px; background: #fde8de; color: #c07a5f; }
.hs-podium-row:nth-child(1) .hs-podium-no { background: #ff6b57; color: #fff; }
.hs-podium-row:nth-child(2) .hs-podium-no { background: #ffa68f; color: #fff; }
.hs-podium-row:nth-child(3) .hs-podium-no { background: #ffc4b2; color: #fff; }
.hs-podium-name { flex: 1 1 auto; min-width: 0; font-size: 13px; color: #2b2b2e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-podium-name:hover { color: #ff6b57; }
.hs-podium-val { flex: 0 0 auto; font-size: 12px; color: #a09a90; }

/* ---------- 筛选 ---------- */
.hs-filter { background: #fff; border: 1px solid #f1e6de; border-radius: 14px; padding: 8px 16px; margin-bottom: 16px; box-shadow: 0 6px 18px rgba(255,107,87,.08); }
.hs-filter-row { display: flex; align-items: flex-start; gap: 12px; padding: 6px 0; border-bottom: 1px dashed #f5efe9; }
.hs-filter-row:last-child { border-bottom: 0; }
.hs-filter-key { flex: 0 0 auto; font-size: 13px; color: #a09a90; padding-top: 7px; }
.hs-filter-scroll { display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.hs-filter-scroll::-webkit-scrollbar { display: none; }
.hs-chip { flex: 0 0 auto; font-size: 13px; padding: 6px 14px; border-radius: 20px; background: #faf3ee; color: #a09a90; white-space: nowrap; border: 1px solid #f5efe9; }
.hs-chip:hover { color: #ff6b57; border-color: #ff6b57; }
.hs-chip.is-on { background: #ff6b57; color: #fff; border-color: #ff6b57; font-weight: 600; }

/* ---------- 目录 ---------- */
.hs-catalog { width: 100%; }
.hs-catalog-main { min-width: 0; }

/* ---------- 分页 ---------- */
.hs-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 24px; }
.hs-pager-btn { min-width: 36px; text-align: center; padding: 8px 12px; font-size: 13px; color: #a09a90; background: #fff; border: 1px solid #f1e6de; border-radius: 20px; transition: all .2s ease; }
.hs-pager-btn:hover { color: #ff6b57; border-color: #ff6b57; }
.hs-pager-btn.is-on { background: #ff6b57; color: #fff; border-color: #ff6b57; font-weight: 600; }

/* ---------- 档案 ---------- */
.hs-dossier { background: #fff; border: 1px solid #f1e6de; border-radius: 16px; box-shadow: 0 10px 26px rgba(255,107,87,.12); margin-bottom: 16px; overflow: hidden; }
.hs-dossier-poster { float: left; width: 220px; height: 310px; background: #f1e6de; }
.hs-dossier-poster img { width: 100%; height: 100%; object-fit: cover; }
.hs-dossier-copy { padding: 22px 24px; margin-left: 244px; }
.hs-dossier-name { font-size: 26px; color: #2b2b2e; margin-bottom: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-dossier-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.hs-pill { font-size: 12px; color: #ff6b57; padding: 3px 10px; background: #fff8f3; border: 1px solid #fde8de; border-radius: 20px; }
.hs-dossier-score { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.hs-dossier-scorenum { font-size: 34px; font-weight: 800; color: #ff6b57; }
.hs-dossier-scorenote { font-size: 13px; color: #a09a90; }
.hs-dossier-synopsis { font-size: 14px; color: #8d877c; line-height: 1.8; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.hs-dossier-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.hs-action-main { display: inline-block; padding: 10px 28px; border-radius: 22px; font-size: 14px; background: #ff6b57; color: #fff; font-weight: 700; }
.hs-action-main:hover { background: #e5523f; }
.hs-action-alt { display: inline-block; padding: 10px 28px; border-radius: 22px; font-size: 14px; background: #fff; color: #a09a90; border: 1px solid #f1e6de; }
.hs-action-alt:hover { color: #ff6b57; border-color: #ff6b57; }

/* ---------- 银幕（播放器 16:9 全屏居中） ---------- */
.hs-screen { position: relative; width: 100%; padding-top: 56.25%; background: #000; border-radius: 14px; overflow: hidden; margin: 0 auto 16px; box-shadow: 0 14px 30px rgba(43,43,46,.24); }
@supports (aspect-ratio: 16 / 9) {
  .hs-screen { padding-top: 0; aspect-ratio: 16 / 9; }
}
.hs-screen iframe, .hs-screen video, .hs-screen embed, .hs-screen object {
  position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; border: 0;
}
.hs-screen div { position: relative; width: 100% !important; height: 100% !important; }

/* ---------- 章节 ---------- */
.hs-episodes { background: #fff; border: 1px solid #f1e6de; border-radius: 14px; padding: 16px; margin-bottom: 16px; box-shadow: 0 6px 18px rgba(255,107,87,.08); }
.hs-episodes-source { font-size: 14px; font-weight: 600; color: #ff6b57; padding: 4px 0 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-episodes > .hs-episodes-source:first-child { padding-top: 0; }
.hs-episodes-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(70px,1fr)); gap: 8px; }
.hs-episode { display: block; text-align: center; padding: 8px 4px; font-size: 13px; color: #a09a90; background: #faf3ee; border: 1px solid #f5efe9; border-radius: 8px; transition: all .2s ease; }
.hs-episode:hover { color: #ff6b57; border-color: #ff6b57; }
.hs-episode.is-on { background: #ff6b57; color: #fff; border-color: #ff6b57; font-weight: 600; }
.hs-episode.hs-ep-hidden { display: none; }
.hs-episodes-grid.is-expanded .hs-episode.hs-ep-hidden { display: block; }
.hs-episodes-more { display: flex; justify-content: center; margin-top: 12px; }
.hs-episodes-morebtn { cursor: pointer; border: 1px solid #fde8de; background: #fff8f3; color: #a09a90; padding: 8px 22px; border-radius: 20px; font-size: 13px; }
.hs-episodes-morebtn:hover { color: #ff6b57; border-color: #ff6b57; }

/* ---------- 主体 ---------- */
.hs-spread { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 16px; align-items: start; }
.hs-spread-main { min-width: 0; }
.hs-side { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.hs-similar { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.hs-similar .hs-latest-pic { height: 118px; }
.hs-side .hs-similar { grid-template-columns: repeat(2,1fr); gap: 10px; }
.hs-side .hs-latest-pic { height: 118px; }
.hs-side .hs-latest-name { font-size: 12px; }
.hs-side .hs-latest-meta { font-size: 11px; }

/* ---------- 详情介绍 ---------- */
.hs-facts { font-size: 14px; color: #8d877c; }
.hs-facts dd { padding: 5px 0; word-break: break-all; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-facts em { font-style: normal; color: #a09a90; margin-right: 4px; }
.hs-facts a { color: #ff6b57; }
.hs-facts strong { color: #2b2b2e; }
.hs-facts-clip { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-wander { font-size: 13px; }
.hs-wander a { display: inline-block; margin: 4px 8px 4px 0; color: #ff6b57; }

/* ---------- 常见问题 ---------- */
.hs-faq { font-size: 14px; color: #8d877c; }
.hs-faq-pair { padding: 6px 0; }
.hs-faq-q { color: #2b2b2e; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-faq-a { color: #a09a90; margin-top: 3px; }
.hs-faq-a a { color: #ff6b57; }

/* ---------- 评论 ---------- */
.hs-review { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px dashed #f5e0d6; }
.hs-review-avatar { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: #ff6b57; color: #fff; font-size: 16px; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.hs-review-body { flex: 1 1 auto; min-width: 0; }
.hs-review-top { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; flex-wrap: wrap; }
.hs-review-user { font-size: 13px; color: #2b2b2e; font-weight: 600; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-review-seen { font-size: 12px; color: #ff6b57; background: #fff8f3; padding: 1px 8px; border-radius: 5px; }
.hs-review-stars { font-size: 12px; color: #ffb800; }
.hs-review-stars i { font-style: normal; }
.hs-review-stars i.hs-star-off { color: #e8e0d6; }
.hs-review-time { font-size: 12px; color: #a09a90; margin-left: auto; }
.hs-review-text { font-size: 14px; color: #8d877c; word-break: break-all; }
.hs-review-up { flex: 0 0 auto; font-size: 12px; color: #a09a90; }

/* ---------- 热门标签 ---------- */
.hs-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-tags a { font-size: 12px; color: #a09a90; padding: 4px 12px; background: #faf3ee; border: 1px solid #f5efe9; border-radius: 20px; }
.hs-tags a:hover { color: #ff6b57; border-color: #ff6b57; }

/* ---------- 空结果 ---------- */
.hs-empty { text-align: center; padding: 60px 20px; color: #a09a90; font-size: 14px; }

/* ---------- 页脚 ---------- */
.hs-shore { background: linear-gradient(180deg,#2e3a52,#223047); color: #b9c4d6; margin-top: 30px; }
.hs-shore-cols { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 26px; padding: 30px 20px 18px; }
.hs-shore-col { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.hs-shore-title { font-size: 15px; color: #fff; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-shore-links { display: flex; flex-wrap: wrap; gap: 7px; font-size: 13px; }
.hs-shore-links a { color: #b9c4d6; }
.hs-shore-links a:hover { color: #ff6b57; }
.hs-shore-map i { font-style: normal; color: #5b6b86; }
.hs-shore-about { color: #9fb0c9; line-height: 1.7; }
.hs-shore-copy { border-top: 1px solid rgba(255,255,255,.1); text-align: center; font-size: 12px; color: #8fa0b8; padding: 14px 20px 22px; max-width: 1180px; margin: 0 auto; }
.hs-shore-copy p { margin: 3px 0; }
.hs-shore-copy a { color: #b9c4d6; }

/* ---------- 回到顶部 ---------- */
#hsBackTop { position: fixed; right: 18px; bottom: 26px; width: 44px; height: 44px; border: 0; border-radius: 50%; cursor: pointer; z-index: 999; display: none; background: #ff6b57; color: #fff; font-size: 18px; font-weight: 700; box-shadow: 0 8px 20px rgba(255,107,87,.4); }

/* ========== 响应式 ========== */
@media (min-width: 1025px) {
  .hs-side { position: sticky; top: 64px; max-height: calc(100vh - 78px); overflow-y: auto; scrollbar-width: none; }
  .hs-side::-webkit-scrollbar { display: none; }
}
@media (max-width: 1024px) {
  .hs-spread { grid-template-columns: 1fr; }
  .hs-hero { grid-template-columns: 1fr; }
  .hs-quad { grid-template-columns: repeat(4,1fr); grid-template-rows: auto; gap: 10px; }
  .hs-quad-cell { height: 150px; }
  .hs-podium { grid-template-columns: 1fr 1fr 1fr; }
  .hs-dossier-poster { float: none; width: 100%; height: 220px; }
  .hs-dossier-copy { margin-left: 0; }
}
@media (max-width: 768px) {
  .hs-lido-in { padding: 9px 12px; gap: 10px; }
  .hs-lido-nav { display: none; }
  .hs-lido-logo { font-size: 18px; }
  .hs-lido-search { max-width: 100%; }
  .hs-body { padding: 14px 12px 30px; }
  .hs-hero { grid-template-columns: 1fr; }
  .hs-quad { display: none; }
  .hs-slide { height: 220px; }
  .hs-slide-name { font-size: 19px; }
  .hs-slide-note { display: none; }
  .hs-podium { display: flex; overflow-x: auto; scrollbar-width: none; }
  .hs-podium::-webkit-scrollbar { display: none; }
  .hs-podium-card { min-width: 230px; }
  .hs-latest { grid-template-columns: repeat(3,1fr); gap: 10px; }
  .hs-latest-pic { height: 165px; }
  .hs-similar { grid-template-columns: repeat(3,1fr); gap: 10px; }
  .hs-similar .hs-latest-pic { height: 118px; }
  .hs-side .hs-similar { grid-template-columns: repeat(3,1fr); gap: 10px; }
  .hs-side .hs-latest-pic { height: 118px; }
  .hs-episode { font-size: 12px; padding: 7px 4px; }
  .hs-episodes-grid { grid-template-columns: repeat(auto-fill,minmax(60px,1fr)); gap: 6px; }
  .hs-review { gap: 10px; }
  .hs-review-avatar { width: 36px; height: 36px; font-size: 15px; }
  .hs-pager { gap: 6px; }
  .hs-shore-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .hs-lido-logo { font-size: 16px; }
  .hs-lido-field { height: 34px; font-size: 13px; padding: 0 10px; }
  .hs-lido-go { height: 34px; padding: 0 12px; font-size: 13px; }
  .hs-slide { height: 190px; }
  .hs-latest-pic { height: 145px; }
  .hs-episodes-grid { grid-template-columns: repeat(auto-fill,minmax(52px,1fr)); }
  .hs-pager-btn { padding: 7px 10px; font-size: 12px; min-width: 32px; }
  .hs-review-avatar { width: 32px; height: 32px; font-size: 14px; }
  .hs-card, .hs-filter, .hs-episodes { padding: 12px; }
  .hs-card-title { font-size: 16px; }
  .hs-dossier-name { font-size: 21px; }
  .hs-dossier-scorenum { font-size: 26px; }
  .hs-shore-cols { grid-template-columns: 1fr; }
}
