.asc-single{
  --asc-dark:#1e2330;
  --asc-dark-hover:#323a4f;
  --asc-accent:#d2691e;
  --asc-accent-hover:#e4843f;
  --asc-gray:#f3f3f3;
  --asc-border:#f5f5f5;
  --asc-text:#424242;
  --asc-title:#000;
  color:var(--asc-text);
}

.asc-topwrap{
  background:#fff;
}

.asc-topwrap__inner{
  max-width:1600px;
  width:100%;
  margin:0 auto;
  padding:0;
}

.asc-topblock{
  display:grid;
  grid-template-columns: 1.6fr 0.9fr;
  background:#fff;
}

@media (max-width: 980px){
  .asc-topblock{ grid-template-columns: 1fr; }
}

.asc-topblock__left{ min-width:0; }

.asc-topblock__right{
  padding:22px;
  background: var(--asc-gray);
}

@media (max-width: 980px){
  .asc-topblock__right{
    border-left:0;
    padding:18px 16px;
  }
}

.asc-topblock__title{
  margin:0 0 8px;
  color:var(--asc-title);
  font-weight:900;
}

.asc-topblock__subtitle{
  margin:0 0 14px;
  color:var(--asc-text);
  opacity:.9;
}

/* ---------- Normal container (rest of page max 1120 like theme row-wider) ---------- */
.asc-wrap,
.asc-container{
  width:100%;
  margin:0 auto;
  padding: 0;
}

/* ---------- Gallery: fixed visual size + cover ---------- */
.asc-gallery__main{
  position:relative;
  overflow:hidden;
  /* vakio “kehys” joka skaalautuu: */
  height:clamp(280px, 40vw, 720px);
  background:#000; /* jos kuvassa latausviive */
}

@media (max-width: 980px){
  .asc-gallery__main{
    height:clamp(240px, 62vw, 520px);
  }
}

.asc-gallery__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

/* arrows */
.asc-gallery__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:0;
  background:rgba(30,35,48,.45);
  color:#fff;
  cursor:pointer;
  font-size:30px;
  line-height:46px;
  text-align:center;
}

.asc-gallery__prev{ left:12px; }
.asc-gallery__next{ right:12px; }

.asc-gallery__arrow:hover{ background:rgba(30,35,48,.70); }

@media (max-width: 480px){
  .asc-gallery__arrow{
    width:40px;height:40px;font-size:26px;line-height:40px;
  }
}

/* dots overlay on image */
.asc-gallery__dots{
  position:absolute;
  left:0;
  right:0;
  bottom:12px;
  display:flex;
  gap:10px;
  justify-content:center;
  pointer-events:auto;
}

.asc-gallery__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.55);
  cursor:pointer;
}

.asc-gallery__dot.is-active{
  background:rgba(255,255,255,.95);
}

/* ---------- Specs (right column) ---------- */
.asc-specs{
  margin-top:10px;
  padding:0;
  background:transparent;
  border:0;
}

.asc-dl{
  margin:0;
  display:grid;
  gap:0;
}

.asc-dl > div{
  display:grid;
  grid-template-columns: 1fr;
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.asc-dl > div:last-child{ border-bottom:0; }

@media (min-width:560px){
  .asc-dl > div{
    grid-template-columns: 160px 1fr;
    gap:12px;
    align-items:baseline;
  }
}

.asc-dl dt{
  font-weight:700;
  color:var(--asc-dark);
  opacity:.85;
}

.asc-dl dd{ margin:0; }

/* ---------- Content sections ---------- */
.asc-section{
    padding:10px 0 40px;
}
.asc-single__content .asc-section:nth-child(even){
    background-color: var(--asc-gray);
}

.asc-single__content .asc-section:last-child{
    background-color: #fff;
}

.asc-section .row{
  padding-right: .9375rem;
  padding-left: .9375rem;
}

.asc-prose{ line-height:1.65; }
.asc-prose p{ margin:0 0 12px; }
.asc-prose ul{ margin:0 0 12px 18px; }

/* ---------- CTA bottom (theme perinteinen tuplareuna look) ---------- */
.asc-cta-bottom{
  margin-top:30px;
  padding-top:18px;
  text-align: center;
}

.asc-cta-bottom a.button{
  background:#fff;
  color:var(--asc-dark);
  border:7px double var(--asc-dark);
  text-decoration:none;
}

.asc-cta-bottom a.button:hover,
.asc-cta-bottom a.button:focus{
  background:var(--asc-dark);
  color:#fff;
  border:7px double #fff;
}

/* ---------- Carousel (if used) ---------- */
.asc-carousel{ margin:24px 0; }

.asc-carousel__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.asc-carousel__title{ margin:0; color:var(--asc-title); }

.asc-filters{ margin:12px 0 14px; }
.asc-filters__row{ display:flex; gap:10px; flex-wrap:wrap; }

.asc-input{
  padding:.55rem .7rem;
  border:1px solid var(--asc-border);
  border-radius:0;
  background:#fff;
  min-width:140px;
}

.asc-carousel__wrap{ position:relative; }


.asc-carousel__item,
.asc-card{
  flex:0 0 300px;
  border:1px solid var(--asc-border);
  border-radius:0;
  overflow:hidden;
  scroll-snap-align:start;
  background:#fff;
}

.asc-card__link{ color:inherit; text-decoration:none; display:block; }

.asc-card__media img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}

.asc-card__placeholder{
  height:190px;
  display:grid;
  place-items:center;
  background:var(--asc-gray);
}

.asc-card__body{ padding: 10px 0 0 0; }
.asc-card__title{ margin: 0 0 6px; font-size:0.95rem; color:var(--asc-title); }
.asc-card__subtitle{ opacity:.9; margin-bottom:8px; font-size: 0.95rem; }
.asc-card__meta{ display:flex; gap: 0 10px; flex-wrap:wrap; opacity:.9; font-size:.95rem; }


.asc-carousel__nav--prev{ left:-6px; }
.asc-carousel__nav--next{ right:-6px; }


.asc-empty{ padding:10px 4px; opacity:.9; }
.asc-carousel__status{ margin-top:6px; font-size:.95rem; opacity:.9; }


.ostohinta {
    background: #1e2330;
    color: #fff;
    padding-top: 3em !important;
    padding-bottom: 3em !important;
}

.ostohinta .row{
  max-width:1600px;
}

.ostohinta h2{
  color: #fff;
}

/* ===== Splide carousel overrides (Luotsi-tyyliin) ===== */

.asc-splide .splide__track {
  cursor: grab;
}
.asc-splide .splide__track:active {
  cursor: grabbing;
}

/* Nuolet: kulmikkaat, teeman sävyillä */
.asc-splide .splide__arrow {
  width: 44px;
  height: 44px;
  border-radius: 0;
  border: 0;
  background: #1e2330;      /* teeman button bg */
  opacity: 0.92;
}
.asc-splide .splide__arrow svg {
  fill: #fff;
}
.asc-splide .splide__arrow:hover {
  background: #323a4f;      /* teeman hover */
  opacity: 1;
}

/* Aseta nuolet “korttien” keskikorkeudelle */
.asc-splide .splide__arrow--prev { left: -10px; }
.asc-splide .splide__arrow--next { right: -10px; }

@media (max-width: 980px) {
  .asc-splide .splide__arrow--prev { left: 6px; }
  .asc-splide .splide__arrow--next { right: 6px; }
}

/* Slide-kortit täyttämään “korkeuslinja” siististi */
.asc-splide .splide__slide {
  height: auto;
}

/* Jos kortissasi on kuva: pidä vakio korkeus + cover */
.asc-card__media img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
@media (max-width: 520px) {
  .asc-card__media img { height: 170px; }
}

span.price {
    font-weight: 600;
    font-family: Montserrat, sans-serif;
}

.asc-cardgrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
}

@media (max-width: 1280px){
  .asc-cardgrid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px){
  .asc-cardgrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .asc-cardgrid{ grid-template-columns: 1fr; }
}

.asc-pagination ul{
  display:flex;
  gap:8px;
  list-style:none;
  padding:0;
  margin:18px 0 0;
  flex-wrap:wrap;
}

.asc-pagination a,
.asc-pagination span{
  display:inline-block;
  padding:.45em .75em;
  border:1px solid var(--asc-border, #f5f5f5);
  background:#fff;
  text-decoration:none;
}

.asc-pagination .current{
  background:#1e2330;
  color:#fff;
  border-color:#1e2330;
}

.asc-cardgrid .asc-card__media{
  margin-bottom: 10px;
}