.tosm-card{border:1px solid var(--tosm-border,#e5e7eb);padding:16px;border-radius:0;background:#fff}
.tosm-section-title{padding-left:10px;border-left:4px solid #123b59;margin:0 0 12px 0;font-weight:600}

.wp-block-columns.alignwide{gap:18px}

.tosm-hero{margin-bottom:10px}
.tosm-hero img{width:100%;height:auto;object-fit:cover;border-radius:0}

.tosm-hero-first .wp-block-post-title,
.tosm-hero-first .wp-block-post-title a{
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;
  overflow:hidden;text-overflow:ellipsis;line-height:1.35;font-weight:400;
  font-size:clamp(22px,2.1vw,28px); margin:0px 0 2px;
}
.tosm-hero-first .wp-block-post-excerpt{font-size:.95em;line-height:1.6;margin:0}

.tosm-hero-row{gap:10px;margin:0}
.tosm-hero-rest .wp-block-post-title,
.tosm-hero-rest .wp-block-post-title a{
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;
  overflow:hidden;text-overflow:ellipsis;line-height:1.35;font-weight:400;margin:0 0 0px;
  font-size:clamp(22px,1.45vw,28px);
}
.tosm-hero-rest .wp-block-post-excerpt{font-size:.92em;line-height:1.55;margin:0}

.tosm-meta{display:flex;justify-content:space-between;align-items:center;margin:0px 0 0px}
.tosm-date{font-size:.82rem;color:#000000;font-weight:410}
.tosm-cat{font-size:.90rem;color:#c81e1e;font-weight:410}
.tosm-cat a{font-size:.90rem;color:#c81e1e;font-weight:410}

.tosm-hero .wp-block-post:nth-child(n+2){gap:10px;padding:6px 0}
.alignwide{gap:10px}
.tosm-hero-row .wp-block-post-featured-image img{width:100%;height:92;object-fit:cover}

.tosm-hot-list ul.wp-block-post-template{margin:0;padding:0}
.tosm-hot-list ul.wp-block-post-template>li{list-style:none;margin:0}
.tosm-hot-item{position:relative;border-bottom:1px solid #e5e7eb}
.tosm-hot-item .wp-block-post-title,
.tosm-hot-item .wp-block-post-title a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}

.tosm-topic .wp-block-columns{gap:16px}
.tosm-topic .wp-block-column + .wp-block-column{border-left:1px solid #e5e7eb;padding-left:16px}
.tosm-topic .wp-block-post-title,
.tosm-topic .wp-block-post-title a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45;margin:0 0 .45rem}

.tosm-hero.tosm-card,
.tosm-right-rail .tosm-card{
  position: relative;
  padding: 10px;
  border: 1px solid var(--tosm-border,#e5e7eb);
  border-radius: 0;
  background: #fff;
}

.tosm-hero .tosm-section-title,
.tosm-right-rail .tosm-card > .tosm-section-title{
  margin: -28px 0 10px 0;
  padding-left: 10px;
  border-left: 4px solid #123b59;
  background: transparent;
  display: inline-block;
}

.wp-block-columns.alignwide{ gap: 18px; }
.tosm-right-rail .tosm-card{ padding: 10px 8px; }
.tosm-right-rail .wp-block-image{ margin: 0; }
.tosm-right-rail .wp-block-image img{ width: 100%; height: auto; display: block; }

.tosm-hero-first .wp-block-post-title,
.tosm-hero-first .wp-block-post-title a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.35;
}

.tosm-hero-rest .wp-block-post-title,
.tosm-hero-rest .wp-block-post-title a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.tosm-hero-row{ gap: 8px; }
.tosm-hero .wp-block-post:nth-child(n+2){ padding: 6px 0; }

.tosm-right-rail .tosm-card .tosm-hot-list{ margin-top: -6px; }
.tosm-hot-item{
  position: relative;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
}
.tosm-hot-item .wp-block-post-title,
.tosm-hot-item .wp-block-post-title a{
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tosm-hero img{ width: 100%; height: auto; object-fit: cover; }

:root{
  --hero-big-h: 360px;
  --hero-small-h: 120px;
}

.tosm-hero .wp-block-post-featured-image{max-height:none}

.tosm-hero .tosm-hero-first .wp-block-post-featured-image img{
  width:100%;
  height:var(--hero-big-h);
  object-fit:cover;
  display:block;
}

.tosm-hero .tosm-hero-rest .wp-block-post-featured-image img{
  width:100%;
  height:var(--hero-small-h);
  object-fit:cover;
  display:block;
}

@media (max-width: 1200px){
  :root{ --hero-big-h: 320px; --hero-small-h: 110px; }
}

@media (max-width: 980px){
  :root{ --hero-big-h: 280px; --hero-small-h: 100px; }
}

@media (max-width: 768px){
  :root{ --hero-big-h: 220px; --hero-small-h: 92px; }
}

.tosm-hero .wp-block-post-featured-image{
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  max-height: none;
}

.tosm-hero .wp-block-post-featured-image img{
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

@supports not (aspect-ratio: 4 / 3){
  .tosm-hero .wp-block-post-featured-image::before{
    content: "";
    display: block;
    padding-top: 75%;       /* 4:3 = 75% */
  }
  .tosm-hero .wp-block-post-featured-image > a,
  .tosm-hero .wp-block-post-featured-image > img{
    position: absolute; inset: 0;
    width: 100%; height: 100% !important; object-fit: cover;
  }
}

.tosm-hero .wp-block-query.tosm-hero-first{ margin-bottom: 10px; }
.tosm-hero + .tosm-hero{ margin-top: 14px; }

.tosm-hot-list{ max-height: none; }
.tosm-hot-row{
  display: grid; grid-template-columns: 36% 1fr;
  gap: 10px; align-items: center;
  border-bottom: 1px solid #e5e7eb; padding: 10px 0;
}

.tosm-hot-thumb{
  position: relative; width: 100%; aspect-ratio: 4/3; overflow: hidden;
}
.tosm-hot-thumb img{ width:100%; height:100% !important; object-fit:cover; display:block; }
@supports not (aspect-ratio: 4 / 3){
  .tosm-hot-thumb::before{content:"";display:block;padding-top:75%;}
  .tosm-hot-thumb > a, .tosm-hot-thumb > img{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;}
}

.tosm-hot-title .wp-block-post-title,
.tosm-hot-title .wp-block-post-title a{
  display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  line-height:1.35; font-weight:600; font-size:clamp(15px,1.2vw,16px);
}

.tosm-hero .wp-block-query.tosm-hero-first{ margin-bottom: 10px; }
.tosm-hero + .tosm-hero{ margin-top: 14px; }

.tosm-hot-scroll{
  max-height: clamp(420px, 62vh, 680px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
}

.tosm-hot-scroll::-webkit-scrollbar{ width:6px; }
.tosm-hot-scroll::-webkit-scrollbar-thumb{ background:#d1d5db; border-radius:6px; }
.tosm-hot-scroll::-webkit-scrollbar-track{ background:transparent; }

.tosm-hot-row{
  display:grid;
  grid-template-columns: 36% 1fr;
  gap:10px;
  align-items:center;
  border-bottom:1px solid #e5e7eb;
  padding:10px 0;
}

.tosm-hot-thumb{ position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; }
.tosm-hot-thumb img{ width:100%; height:100% !important; object-fit:cover; display:block; }

@supports not (aspect-ratio: 4 / 3){
  .tosm-hot-thumb::before{ content:""; display:block; padding-top:75%; }
  .tosm-hot-thumb > a, .tosm-hot-thumb > img{
    position:absolute; inset:0; width:100%; height:100% !important; object-fit:cover;
  }
}

.tosm-hot-title{ min-width:0; }
.tosm-hot-title .wp-block-post-title,
.tosm-hot-title .wp-block-post-title a{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.35;
  font-weight:600;
  font-size:clamp(15px,1.2vw,16px);
}

.tosm-hot-scroll{
  max-height: unset;
  overflow: visible;
  padding-right: 0;
}

.tosm-hot-row{
  display: grid;
  grid-template-columns: 36% 1fr;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px 0;
}

.tosm-hot-thumb{
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.tosm-hot-thumb img{
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

@supports not (aspect-ratio: 4 / 3){
  .tosm-hot-thumb::before{ content: ""; display: block; padding-top: 75%; }
  .tosm-hot-thumb > a, .tosm-hot-thumb > img{
    position: absolute; inset: 0;
    width: 100%; height: 100% !important; object-fit: cover;
  }
}

.tosm-hot-title{ min-width: 0; }
.tosm-hot-title .wp-block-post-title,
.tosm-hot-title .wp-block-post-title a{
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.35;
  font-weight: 600;
  font-size: clamp(15px, 1.2vw, 16px);
}

.tosm-hot-list .wp-block-post-featured-image{
  position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden;
}
.tosm-hot-list .wp-block-post-featured-image img{
  width: 100%; height: 100% !important; object-fit: cover; display: block;
}

.tosm-hero .tosm-cat a:nth-child(n+2) {
    display: none;
}

.tosm-hot-list .tosm-cat a:nth-child(n+2) {
    display: none;
}

.wp-block-post-featured-image img { height:auto !important; }
.tosm-hero .wp-block-post:nth-child(n+2){ display:grid !important; }

.tosm-hot-list-shortcode {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tosm-hot-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.tosm-hot-thumb {
  flex: 0 0 120px;
  max-width: 120px;
}
.tosm-hot-thumb img,
.tosm-hot-thumb .tosm-thumb-fallback {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background-color: #f2f2f2;
}

.tosm-hot-title a {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tosm-hot-meta {
  margin-top: 2px;
  font-size: 14px;
  color: #000000;
}
