:root{--green:#16352D;--ivory:#F5F2EB;--black:#1F1F1F;--line:#d8d1c5;--muted:#6d6a63;--white:#fffdf8}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--black);font-family:Inter,Arial,sans-serif;line-height:1.6}body.modal-open{overflow:hidden}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;color:var(--green);font-weight:500;letter-spacing:.08em;text-transform:uppercase}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{height:38px;background:var(--green);color:var(--ivory);display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.topbar span{opacity:.95}.header{height:136px;display:grid;grid-template-columns:180px 1fr 190px;align-items:center;padding:0 48px;background:#FAF7F2;border-bottom:1px solid rgba(22,53,45,.08)}.logo{width:112px;height:112px;object-fit:contain}.nav{display:flex;justify-content:center;gap:58px;font-size:15px;letter-spacing:.12em;text-transform:uppercase}.nav a{border-bottom:1px solid transparent;padding-bottom:4px}.nav a:hover{border-bottom-color:var(--green)}.cart-button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:var(--ivory);border:1px solid var(--green);padding:14px 25px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.btn.secondary{background:transparent;color:var(--green)}.btn.small{padding:11px 17px;font-size:11px}.hero{min-height:535px;display:grid;grid-template-columns:44% 56%;align-items:center;background:#f7f1e8;overflow:hidden}.hero-copy{padding:70px 40px 70px 8vw}.hero h1{font-size:46px;line-height:1.22;margin:0 0 24px}.rule{width:62px;height:1px;background:var(--green);margin:0 0 28px}.hero p{max-width:330px;margin:0 0 30px}.hero-img{height:535px;width:100%;object-fit:cover}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:38px 7vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{text-align:center;padding:0 34px;border-right:1px solid var(--line)}.feature:last-child{border-right:0}.feature .icon{font-size:30px;color:var(--green);margin-bottom:10px}.feature h3{font-size:15px;margin:0 0 6px}.feature p{font-size:13px;margin:0;color:#4b4a46}.section{padding:58px 48px}.section-title{text-align:center;font-size:26px;margin:0}.section-title:after{content:"";display:block;width:54px;height:1px;background:var(--green);margin:18px auto 0}.catalog-nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:28px auto 8px}.catalog-nav a{border:1px solid var(--line);background:#fffaf1;color:var(--green);padding:11px 20px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.catalog-nav a:hover{border-color:var(--green)}.product-group{max-width:1130px;margin:58px auto 0;scroll-margin-top:160px}.group-head{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.group-head h2{font-size:28px;margin:0}.group-head p{margin:0;max-width:460px;color:#4e4b45;font-size:14px}.category-grid,.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1130px;margin:34px auto 0}.product-grid{margin-top:0}.category-card,.product-card{background:#fffaf1;border:1px solid rgba(22,53,45,.06);display:grid;grid-template-columns:47% 53%;align-items:center;min-height:190px;overflow:hidden}.category-card img,.product-card img{height:100%;width:100%;object-fit:cover}.card-copy{padding:30px}.card-copy h3{font-size:24px;margin:0 0 8px}.card-copy p{font-size:14px;color:#4e4b45;margin:0 0 18px}.product-card{grid-template-columns:1fr;min-height:auto}.product-card img{height:240px;background:#fffaf1}.product-copy{padding:24px}.product-copy h3{font-size:22px;margin:4px 0 8px}.product-copy p{font-size:14px;color:#4e4b45;margin:0 0 18px}.eyebrow{display:block;color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}.product-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;color:var(--muted);font-size:13px}.product-meta strong{font-family:Georgia,serif;color:var(--green);font-size:23px;font-weight:500}.text-link,.button-link{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:700}.button-link{border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit}.about-band{max-width:1130px;margin:54px auto 0;display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--ivory)}.about-band .copy{padding:50px 40px}.about-band h2{color:var(--ivory);font-size:27px;margin:0 0 18px}.about-band p{max-width:420px}.about-band img{width:100%;height:100%;object-fit:cover}.about-band .btn.secondary{border-color:var(--ivory);color:var(--ivory)}.order-strip{display:grid;grid-template-columns:1fr 220px 1fr;gap:40px;align-items:center;padding:38px 7vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#FAF7F2}.order-strip .mini-logo{width:140px;margin:auto}.footer{min-height:64px;background:var(--green);color:var(--ivory);display:flex;align-items:center;justify-content:space-between;padding:20px 38px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;gap:22px}.footer span:last-child{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end}.footer button{border:0;background:transparent;color:var(--ivory);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}.footer button:hover{text-decoration:underline}.page-hero{padding:68px 8vw 34px}.page-hero h1{font-size:42px;margin:0 0 12px}.breadcrumbs{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.price{font-family:Georgia,serif;color:var(--green);font-size:23px;margin:12px 0}.product-detail{max-width:1100px;margin:0 auto;padding:56px 48px;display:grid;grid-template-columns:1fr 1fr;gap:58px}.product-detail img{background:#fffaf1;border:1px solid rgba(22,53,45,.08)}.product-detail h1{font-size:40px;margin:0 0 14px}.meta{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.cart-panel{
  position:fixed;
  right:24px;
  top:24px;
  width:340px;
  max-width:calc(100vw - 48px);

  height:calc(100vh - 48px);

  background:#fffaf1;
  border:1px solid var(--line);
  box-shadow:0 18px 50px rgba(22,53,45,.16);
  z-index:20;

  display:flex;
  flex-direction:column;

  transform:translateX(390px);
  transition:.25s
}.cart-panel.open{transform:translateX(0)}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.cart-head h2{font-size:17px;margin:0}.close{border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--green)}.cart-body{
  padding:18px 20px;
  flex:1;
  overflow-y:auto;
}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.qty{display:flex;align-items:center;gap:8px}.qty button{width:25px;height:25px;border:1px solid var(--green);background:transparent;color:var(--green);cursor:pointer}.total{display:flex;justify-content:space-between;font-family:Georgia,serif;color:var(--green);font-size:20px;margin:18px 0}.cart-actions{display:grid;gap:10px}.note{font-size:12px;color:var(--muted)}.order-template{width:100%;min-height:160px;border:1px solid var(--line);background:var(--white);padding:12px;margin-top:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(22,53,45,.46);z-index:30;opacity:0;pointer-events:none;transition:opacity .2s}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{position:fixed;left:50%;top:50%;width:min(680px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#fffaf1;border:1px solid var(--line);box-shadow:0 24px 80px rgba(22,53,45,.28);z-index:31;padding:42px;transform:translate(-50%,-48%) scale(.98);opacity:0;pointer-events:none;transition:.2s}.modal.open{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}.modal h2{font-size:26px;margin:0 44px 20px 0}.modal p{color:#4e4b45;margin:0 0 14px}.modal-close{position:absolute;right:20px;top:16px}.mobile-cart{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:21}.mobile-cart .cart-button{width:100%}@media(max-width:900px){.topbar{height:auto;min-height:38px;padding:8px 16px;font-size:10px;gap:8px;flex-direction:column;text-align:center}.header{height:auto;grid-template-columns:1fr;gap:18px;padding:22px;text-align:center}.logo{margin:auto}.nav{gap:26px;flex-wrap:wrap}.header .cart-button{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 24px}.hero h1{font-size:36px}.hero-img{height:320px}.features,.category-grid,.product-grid,.order-strip,.product-detail,.about-band{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line);padding:22px}.feature:last-child{border-bottom:0}.section{padding:44px 22px}.category-card{grid-template-columns:1fr}.category-card img{height:220px}.product-group{scroll-margin-top:20px}.group-head{display:block}.group-head h2{font-size:25px;margin-bottom:8px}.product-card img{height:220px}.cart-panel{top:0;right:0;width:100%;max-width:100%;height:100vh;overflow:auto;transform:translateX(100%)}.modal{padding:34px 24px}.mobile-cart{display:block}.footer{height:auto;gap:20px;flex-direction:column;text-align:center;padding:24px 18px 96px}.footer span:last-child{justify-content:center;gap:18px}}

.vat-note{display:inline-block;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-family:Inter,Arial,sans-serif;font-weight:600;white-space:nowrap}.product-meta .vat-note{width:100%;margin-top:-10px}.total .vat-note{display:block;margin-top:2px;text-align:right;font-size:10px}
@media(max-width:900px){.product-meta{flex-wrap:wrap}.total .vat-note{text-align:left}}

/* Final product image layout: show full product images without cropping */
.product-card{display:flex;flex-direction:column;min-height:100%;background:#fffaf1}
.product-image{height:340px;width:100%;display:flex;align-items:center;justify-content:center;background:#fffdf8;padding:26px;border-bottom:1px solid rgba(22,53,45,.06)}
.product-image img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center;padding:0;border:0;background:transparent}
.product-card .product-copy{display:flex;flex-direction:column;flex:1}
.product-card .product-meta{margin-top:auto}
@media(max-width:1100px) and (min-width:901px){.product-grid{grid-template-columns:repeat(2,1fr)}.product-image{height:360px}}
@media(max-width:900px){.product-image{height:320px;padding:22px}.product-copy{padding:22px}.product-meta{align-items:flex-start}}
@media(max-width:480px){.product-image{height:280px;padding:18px}.product-copy h3{font-size:20px}.product-copy p{font-size:13px}}

/* Targeted update: hero without image + responsive about band text box */
.hero{
  min-height:auto;
  display:block;
  background:#f7f1e8;
  overflow:visible;
}

.hero-copy{
  max-width:860px;
  margin:0 auto;
  padding:86px 48px 92px;
  text-align:left;
}

.hero h1{
  max-width:760px;
}

.hero p{
  max-width:650px;
}

.hero ul{
  margin:0 0 30px;
  padding-left:22px;
  color:#4b4a46;
}

.hero li{
  margin:6px 0;
}

.hero-img{
  display:none;
}

.about-band{
  max-width:1130px;
  margin:54px auto 0;
  display:block;
  background:var(--green);
  color:var(--ivory);
  border:1px solid rgba(245,242,235,.16);
}

.about-band .copy{
  max-width:880px;
  margin:0 auto;
  padding:64px 58px;
}

.about-band h2{
  color:var(--ivory);
  font-size:29px;
  line-height:1.35;
  margin:0 0 22px;
}

.about-band .rule{
  background:var(--ivory);
  opacity:.75;
  margin-bottom:30px;
}

.about-band p{
  max-width:none;
  color:var(--ivory);
  opacity:.94;
  font-size:16px;
  line-height:1.8;
  margin:0 0 18px;
}

.about-band p:last-child{
  margin-bottom:0;
}

@media(max-width:900px){
  .hero{
    display:block;
  }

  .hero-copy{
    padding:58px 24px 64px;
  }

  .hero h1{
    font-size:36px;
  }

  .about-band{
    margin-top:42px;
  }

  .about-band .copy{
    padding:42px 26px;
  }

  .about-band h2{
    font-size:23px;
    line-height:1.42;
  }

  .about-band p{
    font-size:15px;
    line-height:1.75;
  }
}


/* Tilauslista: jatka ostoksia -painike */
.continue-shopping{
  width:100%;
  margin-bottom:14px;
}
