/* DM Works Slider: すべて .dm-works の中だけに効かせ、テーマのスタイルと干渉しにくくしています。
   色を変えたい場合は、--dm-accent の値を上書きしてください。 */
.dm-works{--dm-accent:#0baad6;max-width:1100px;margin:0 auto;padding:32px 16px;color:#222;box-sizing:border-box}
.dm-works *{box-sizing:border-box}
.dm-works .dm-heading{margin:0 0 20px;padding:0;font-size:24px;font-weight:700;line-height:1.4;text-align:center;border:0;background:none}
.dm-works .dm-stage{position:relative;padding:0 22px}
.dm-works .dm-viewport{overflow:hidden;touch-action:pan-y}
.dm-works ul.dm-track{display:flex;margin:0;padding:0;list-style:none;transition:transform .5s ease}
.dm-works .dm-track>li.dm-card{flex:0 0 100%;margin:0;padding:0 8px;list-style:none}
.dm-works .dm-card-inner{background:#fff;border:1px solid #ddd;border-left:5px solid var(--dm-accent);border-radius:6px;padding:16px 18px;height:100%;display:flex;flex-direction:column;gap:6px}
.dm-works .dm-card-inner .dm-date{margin:0;font-size:13px;color:#666;line-height:1.5}
.dm-works .dm-card-inner .dm-area{margin:0;font-size:14px;font-weight:700;line-height:1.5}
.dm-works .dm-card-inner .dm-content{margin:0;font-size:15px;line-height:1.6;flex:1}
.dm-works .dm-card-inner .dm-price{margin:6px 0 0;text-align:right;font-size:22px;font-weight:700;line-height:1.3;color:var(--dm-accent)}
.dm-works .dm-card-inner .dm-price small{font-size:12px;font-weight:400;color:#666;margin-left:4px}
.dm-works .dm-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:18px;line-height:1;cursor:pointer;z-index:2;-webkit-appearance:none;appearance:none}
.dm-works .dm-btn:hover,.dm-works .dm-btn:focus-visible{background:rgba(0,0,0,.85)}
.dm-works .dm-prev{left:-8px}
.dm-works .dm-next{right:-8px}
.dm-works .dm-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
.dm-works ul.dm-dots{display:flex;gap:8px;margin:0;padding:0;list-style:none}
.dm-works .dm-dots li{margin:0;padding:0;list-style:none}
.dm-works .dm-dot{display:block;width:12px;height:12px;margin:0;padding:0;border-radius:50%;border:0;background:#c5c5c5;cursor:pointer;-webkit-appearance:none;appearance:none}
.dm-works .dm-dot[aria-current="true"]{background:var(--dm-accent)}
.dm-works .dm-toggle{margin:0;border:1px solid #999;background:#fff;color:#222;border-radius:4px;padding:6px 12px;font-size:13px;line-height:1.4;cursor:pointer}
/* 縦スライド(direction="vertical") */
.dm-works[data-dir="vertical"]{max-width:560px}
.dm-works[data-dir="vertical"] .dm-stage{padding:26px 0}
.dm-works[data-dir="vertical"] ul.dm-track{flex-direction:column}
.dm-works[data-dir="vertical"] .dm-track>li.dm-card{flex:0 0 auto;width:100%;padding:8px 0}
.dm-works[data-dir="vertical"] .dm-prev{top:-6px;left:50%;right:auto;transform:translateX(-50%)}
.dm-works[data-dir="vertical"] .dm-next{top:auto;bottom:-6px;left:50%;right:auto;transform:translateX(-50%)}
/* リンク付きカード: 文字のリンクをカード全体に広げる */
.dm-works .dm-card-inner{position:relative}
.dm-works .dm-card-inner.has-link{cursor:pointer;transition:box-shadow .2s,border-color .2s}
.dm-works .dm-card-inner.has-link:hover{box-shadow:0 2px 10px rgba(0,0,0,.12);border-color:var(--dm-accent)}
.dm-works a.dm-link{color:inherit;text-decoration:none;-webkit-user-drag:none;user-select:none}
.dm-works a.dm-link::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
.dm-works .dm-card-inner.has-link:hover a.dm-link{text-decoration:underline}
.dm-works a.dm-link:focus-visible{outline:2px solid var(--dm-accent);outline-offset:2px}
.dm-works .dm-more{margin:2px 0 0;text-align:right;font-size:12px;line-height:1.4;color:var(--dm-accent)}
.dm-works .dm-count{display:inline-block;min-width:5.5em;text-align:center;font-size:13px;line-height:1.4;color:#444}
.dm-works.is-compact .dm-count{font-size:11px}
/* コンパクト表示(compact="1"): 縦幅を小さくする */
.dm-works.is-compact{padding:12px 16px}
.dm-works.is-compact .dm-heading{margin:0 0 8px;font-size:16px}
.dm-works.is-compact .dm-stage{padding:0 20px}
.dm-works.is-compact .dm-track>li.dm-card{padding:0 6px}
.dm-works.is-compact .dm-card-inner{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:0;align-items:baseline;padding:8px 12px;border-left-width:4px;height:auto}
.dm-works.is-compact .dm-card-inner .dm-date{grid-column:1;font-size:12px;line-height:1.5}
.dm-works.is-compact .dm-card-inner .dm-area{grid-column:2;font-size:12px;line-height:1.5}
.dm-works.is-compact .dm-card-inner .dm-content{grid-column:1 / -1;flex:none;font-size:14px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-works.is-compact .dm-card-inner .dm-price{grid-column:1;margin:0;text-align:left;font-size:15px;line-height:1.5}
.dm-works.is-compact .dm-card-inner .dm-price small{font-size:11px}
.dm-works.is-compact .dm-card-inner .dm-more{grid-column:2;margin:0;font-size:11px;line-height:1.5;text-align:right}
.dm-works.is-compact .dm-btn{width:32px;height:32px;font-size:12px}
.dm-works.is-compact .dm-prev{left:-4px}
.dm-works.is-compact .dm-next{right:-4px}
.dm-works.is-compact .dm-controls{margin-top:6px;gap:10px}
.dm-works.is-compact .dm-dot{width:8px;height:8px}
.dm-works.is-compact ul.dm-dots{gap:6px}
.dm-works.is-compact .dm-toggle{padding:2px 8px;font-size:11px}
/* cards per row is set by slider.js from the slider's own width (data-pv) */
.dm-works[data-pv="2"]:not([data-dir="vertical"]) .dm-track>li.dm-card{flex-basis:50%}
.dm-works[data-pv="3"]:not([data-dir="vertical"]) .dm-track>li.dm-card{flex-basis:33.3333%}
@media (prefers-reduced-motion:reduce){.dm-works ul.dm-track{transition:none}}
