/* =========================================================
   STEP4 LAYOUT (Varaukset + Yhteystiedot)
   HUOM: tämä on wrapper, EI totals-kortti
========================================================= */
.cart-layout {
    display: grid;
    grid-template-columns: 1fr; /* <-- allekkain aina */
    gap: 22px;
    align-items: start;
}

/* (Ei tarvita enää, koska ollaan aina 1 palstassa)
@media (max-width: 900px) {
    .cart-layout {
        grid-template-columns: 1fr;
    }
}
*/

/* =========================================================
   CART ROWS LIST
========================================================= */
.cart-rows__list {
    display: grid;
    gap: 12px;
}

/* --- “kortti”: tuoterivi --- */
.cart-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #e6e8eb;
    border-radius: 10px;
    background: #fff;
}

.cart-row__title {
    font-weight: 700;
    line-height: 1.2;
}

.cart-row__meta {
    margin-top: 6px;
    font-size: 0.95em;
    opacity: 0.85;
}

.cart-row__status {
    margin-top: 6px;
    font-size: 0.9em;
    opacity: 0.75;
}

.cart-row__right {
    display: grid;
    justify-items: end;
    align-content: start;
    gap: 6px;
    min-width: 170px;
}

.cart-row__numbers {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 10px;
    align-items: baseline;
    text-align: right;
}

.cart-row__qty {
    opacity: 0.8;
}

.cart-row__unit {
    opacity: 0.85;
}

.cart-row__sum {
    font-weight: 700;
}

.cart-row__actions {
    font-size: 0.9em;
}

.cart-row__remove {
    color: #555;
    text-decoration: underline;
}

.cart-row__numbers--single {
    grid-template-columns: auto;
}

.cart-rows__empty {
    text-align: center;
    padding: 24px 12px;
    opacity: 0.75;
}

#cart-note {
    /*
  margin-top: 4px;
  margin-bottom: 18px;
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.5;
  */

  margin-top: 4px;
  margin-bottom: 18px;
  font-size: 0.95rem;
  line-height: 1.5;
  /*padding-left: 12px;*/
  /*border-left: 3px solid var(--border);*/
  color: var(--muted);
}

.note-icon {
  font-size: 1.2em;     /* suhteessa tekstiin */
  margin-right: 6px;
  opacity: 1.0;
  color:#243B2E;
}

/* =========================================================
   TOTALS CARD (Yhteensä + Sisältää alv)
   Tämä on se “kortti” tuoterivien alla
========================================================= */
.cart-totals {
    display: grid;
    grid-template-columns: 1fr auto; /* sama kuin cart-row */
    gap: 0px;
    padding: 12px 14px;
    border: 0px solid #e6e8eb;
    /*border-radius: 10px;*/
    /*background: #fff;*/
    border-top: 2px solid rgba(17, 19, 24, 0.15); /* erotinviiva */
    margin-top: 10px;
}

.cart-totals__row {
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 0px 0;
    align-items: baseline;
}

.cart-totals__label {
    opacity: 0.9;
}

.cart-totals__value {
    text-align: right;
    min-width: 170px; /* sama “rahasarake” kuin tuoteriveillä */
}

.cart-totals__row--muted {
    opacity: 0.75;
    font-size: 0.95em;
}

.cart-totals__vat-label,
.cart-totals__vat-value {
    font-size: 0.9em;
    opacity: 0.75; /* halutessa hieman kevyempi */
}

/* “Lisää tuote” Step4-listan sisällä: oikealle, ei full-width */
.cart-rows__actions {
    display: flex;
    justify-content: flex-end;
}

.cart-rows__actions .btn {
    width: auto;
    /*min-width: 160px;*/ /* sama fiilis kuin wizard-napeissa */
    padding-left:12px;
    padding-right:12px;
    background:#243B2E;
    color:#fff;
    opacity:1 !important;
}

/* =========================
   PAYMENT BLOCK (Step4)
========================= */

.payment-block{
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(17,19,24,0.10);
  border-radius: 14px;
  background: rgba(255,255,255,0.75);
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}

/* otsikko hieman tiiviimmäksi tässä lohkossa */
.payment-block h3{
  margin-bottom: 8px;
}

/* lista = “kortti listana” */
.payment-methods{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

/* yksi maksutapa = klikattava rivi */
.payment-method{
  display: grid;
  grid-template-columns: 18px 1fr; /* radio | teksti */
  align-items: start;
  column-gap: 12px;

  padding: 12px 14px;
  border: 1px solid rgba(17,19,24,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.92);
  cursor: pointer;

  transition: border-color .15s ease, background-color .15s ease, transform .08s ease;
}

.payment-method:hover{
  border-color: rgba(27,94,32,0.40); /* brand, mutta hillitty */
  /*background: rgba(238,245,239,0.55);*/
  background:var(--option-selected-bg);
}

/* radio vähän paremmin linjaan */
.payment-method input[type="radio"]{
  margin-top: 2px;
}

/* tekstit */
.payment-method span{
  display: grid;
  gap: 4px;
  line-height: 1.25;
  font-weight: 650;
}

/* jos haluat selitetekstin (voit lisätä HTML:ään <small>..</small>) */
.payment-method small{
  display: block;
  font-weight: 500;
  font-size: 0.92em;
  opacity: 0.78;
}

/* valittu tila */
.payment-method:has(input[type="radio"]:checked){
  border-color: rgba(27,94,32,0.65);
  /*background: rgba(238,245,239,0.85);*/
  background:var(--option-selected-bg);
}

/* pieni “napautus” tuntuma */
.payment-method:active{
  transform: translateY(1px);
}

