.kks-rent{max-width:1200px;margin:25px auto;font-family:inherit}.kks-step{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}.kks-step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#222;color:#fff}.kks-calendar-wrap,.kks-cart,.kks-card{border:1px solid #ddd;border-radius:14px;background:#fff}.kks-calendar-wrap{padding:18px;margin-bottom:25px}.kks-calendar-head{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;margin-bottom:12px}.kks-calendar-head button{border:0;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.kks-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.kks-day-name{text-align:center;font-weight:700;font-size:.8rem}.kks-day{min-height:44px;border:1px solid transparent;border-radius:9px;background:#fafafa;cursor:pointer}.kks-day.busy{background:#eee}.kks-day.sel{outline:3px solid #222;font-weight:800}.kks-day.between{background:#e8edf0}.kks-help{font-size:.82rem;opacity:.7}.kks-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:24px}.kks-cards{display:grid;gap:10px}.kks-card{padding:15px;display:flex;justify-content:space-between;gap:18px}.kks-price{font-size:1.1rem;font-weight:800;margin:5px 0}.kks-card small{opacity:.72}.kks-card-actions{min-width:160px;text-align:right;display:flex;flex-direction:column;gap:7px}.kks-card-actions input{width:65px}.kks-card-actions button,.kks-submit{border:0;border-radius:8px;padding:10px 14px;background:#222;color:#fff;font-weight:700;cursor:pointer}.kks-avail{font-size:.8rem;font-weight:700}.kks-avail.no{opacity:.5}.kks-card.unavailable{opacity:.55}.kks-cart{padding:20px;position:sticky;top:30px;align-self:start}.kks-dates{font-weight:700;margin-bottom:15px}.kks-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:9px 0;border-bottom:1px solid #eee}.kks-line button{border:0;background:none;font-size:20px;cursor:pointer}.kks-total{font-size:1.15rem;padding:15px 0}.kks-form label{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-weight:600}.kks-form input,.kks-form textarea{padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}.kks-submit{width:100%;margin-top:8px}.kks-result{margin-top:12px;font-weight:700}@media(max-width:800px){.kks-main{grid-template-columns:1fr}.kks-card{flex-direction:column}.kks-card-actions{text-align:left}.kks-cart{position:static}}
.kks-payment{border:1px solid #ddd;border-radius:10px;padding:12px;margin:14px 0}.kks-payment legend{font-weight:800;padding:0 6px}.kks-radio{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;margin:7px 0!important}.kks-radio input{width:auto}.kks-invoice{background:#f6f7f7;border-radius:10px;padding:14px;margin:12px 0}.kks-invoice h3{margin:0 0 8px}.kks-form select{padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit;background:#fff}

.kks-daycount{font-size:.85rem;font-weight:700;margin-top:-8px;margin-bottom:12px;opacity:.75}
.kks-trailer-duration select{width:100%;margin-top:4px}
.kks-line small{display:block;font-weight:400;opacity:.7;margin-top:2px}

.kks-mandatory-fee{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff4d6;font-weight:700;font-size:.88rem}
.kks-cash-fee{display:inline-block;margin-top:6px;font-size:.95rem}
.kks-grand-total{display:inline-block;margin-top:6px;font-size:1.08rem}

.kks-line small{margin-top:6px}
.kks-line .kks-install-fee{font-weight:700}

.kks-entry{margin-bottom:22px;padding:18px;border:1px solid #ddd;border-radius:14px;background:#fff}
.kks-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kks-choice{border:1px solid #ddd;border-radius:10px;padding:12px}
.kks-choice legend{font-weight:800}
.kks-choice label{display:block;margin:8px 0}
.kks-entry-note,.kks-member-banner{margin-top:12px;padding:10px 12px;border-radius:9px;background:#eef7ee;font-weight:700}
.kks-cancel-panel{max-width:650px;padding:18px;border:1px solid #ddd;border-radius:14px;background:#fff}
.kks-cancel-form label{display:block;margin:10px 0}
.kks-cancel-form input{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px}
.kks-is-member .kks-price{display:none}
.kks-is-member .kks-mandatory-fee{display:none}
@media(max-width:700px){.kks-entry-grid{grid-template-columns:1fr}}

/* v7.4 – Eesti lipusinine + valge */
.kks-rent-v77{
  --kks-blue:#0072CE;
  --kks-blue-dark:#005AA3;
  --kks-blue-soft:#EAF5FF;
  --kks-white:#FFFFFF;
  --kks-ink:#111820;
}
.kks-rent-v77 .kks-entry,
.kks-rent-v77 .kks-calendar-wrap,
.kks-rent-v77 .kks-card,
.kks-rent-v77 .kks-cart,
.kks-rent-v77 .kks-cancel-panel{
  background:var(--kks-white);
  border-color:#cfe5f7;
}
.kks-rent-v77 .kks-entry{
  border-top:5px solid var(--kks-blue);
}
.kks-rent-v77 .kks-choice{
  border-color:#b9dcf5;
  background:var(--kks-blue-soft);
}
.kks-rent-v77 .kks-choice legend,
.kks-rent-v77 h2,
.kks-rent-v77 .kks-card>div>strong{
  color:var(--kks-blue-dark);
}
.kks-rent-v77 .kks-step b,
.kks-rent-v77 .kks-submit,
.kks-rent-v77 .kks-card-actions button,
.kks-rent-v77 .kks-prev,
.kks-rent-v77 .kks-next{
  background:var(--kks-blue)!important;
  color:#fff!important;
  border-color:var(--kks-blue)!important;
}
.kks-rent-v77 .kks-submit:hover,
.kks-rent-v77 .kks-card-actions button:hover,
.kks-rent-v77 .kks-prev:hover,
.kks-rent-v77 .kks-next:hover{
  background:var(--kks-blue-dark)!important;
}
.kks-rent-v77 .kks-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  overflow:hidden;
  border-left:5px solid var(--kks-blue);
}
.kks-rent-v77 .kks-card:not(:has(.kks-item-image)){
  grid-template-columns:minmax(0,1fr) auto;
}
.kks-rent-v77 .kks-item-image{
  width:150px;
  height:115px;
  border-radius:10px;
  overflow:hidden;
  background:var(--kks-blue-soft);
}
.kks-rent-v77 .kks-item-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.kks-rent-v77 .kks-card-info{
  min-width:0;
}
.kks-rent-v77 .kks-cart{
  position:sticky;
  top:20px;
  align-self:start;
  max-height:calc(100vh - 40px);
  overflow-y:auto;
  scrollbar-width:thin;
  border-top:5px solid var(--kks-blue);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.kks-rent-v77 .kks-total{
  background:var(--kks-blue-soft);
  border-radius:10px;
  padding:12px;
}
.kks-rent-v77 .kks-member-banner,
.kks-rent-v77 .kks-entry-note{
  background:var(--kks-blue-soft);
  border-left:4px solid var(--kks-blue);
}
.kks-rent-v77 .kks-day.sel,
.kks-rent-v77 .kks-day.between{
  background:var(--kks-blue)!important;
  color:#fff!important;
}
@media(max-width:900px){
 .kks-rent-v77 .kks-card{grid-template-columns:110px minmax(0,1fr)}
 .kks-rent-v77 .kks-card-actions{grid-column:1/-1}
 .kks-rent-v77 .kks-item-image{width:110px;height:90px}
 .kks-rent-v77 .kks-cart{position:static;max-height:none;overflow:visible}
}
@media(max-width:560px){
 .kks-rent-v77 .kks-card,
 .kks-rent-v77 .kks-card:not(:has(.kks-item-image)){grid-template-columns:1fr}
 .kks-rent-v77 .kks-item-image{width:100%;height:180px}
}

/* v7.5 admin inventory improvements */
.kks-items-actions{
  position:sticky;
  bottom:0;
  background:#fff;
  padding:12px 0;
  border-top:1px solid #dcdcde;
  z-index:2;
}
.kks-new-item td{
  background:#f0f8ff !important;
}
.kks-items-admin .button-link-delete{
  color:#b32d2e;
}

/* v7.5.1 – inventaripiltide kuvamise kindel parandus */
.kks-rent-v77 .kks-item-image{
  display:block !important;
  width:150px;
  min-width:150px;
  height:115px;
  overflow:hidden;
  border-radius:10px;
  background:#eaf5ff;
}
.kks-rent-v77 .kks-item-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
  margin:0 !important;
}
@media(max-width:900px){
  .kks-rent-v77 .kks-item-image{
    width:110px;
    min-width:110px;
    height:90px;
  }
}
@media(max-width:560px){
  .kks-rent-v77 .kks-item-image{
    width:100%;
    min-width:0;
    height:180px;
  }
}

/* v7.6 – liikmetele mõeldud inventar ja gaasivoki valik */
.kks-rent-v77 .kks-member-only-item{display:none !important;}
.kks-rent-v77.kks-is-member .kks-member-only-item{display:grid !important;}
.kks-rent-v77 .kks-member-only-badge,
.kks-rent-v77 .kks-gas-included,
.kks-rent-v77 .kks-tent-info{
  display:inline-block;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:5px 9px;
  border-radius:999px;
  background:#EAF5FF;
  color:#005AA3;
  font-size:12px;
  font-weight:700;
}
.kks-rent-v77 .kks-wok-pan-choice{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:8px 0;
  font-weight:600;
}
.kks-rent-v77 .kks-wok-pan-choice select{
  min-width:145px;
}

/* v7.8.1 – peotelgi pakett ainult mitteliikmele */
.kks-rent-v77 .kks-nonmember-only-item{display:grid;}
.kks-rent-v77.kks-is-member .kks-nonmember-only-item{display:none !important;}

/* v7.8.2 – inventaripilt avaneb klõpsates suurelt */
.kks-rent-v77 .kks-item-image a{
  display:block;
  width:100%;
  height:100%;
  cursor:zoom-in;
}
.kks-rent-v77 .kks-item-image a img{
  transition:transform .18s ease;
}
.kks-rent-v77 .kks-item-image a:hover img{
  transform:scale(1.03);
}


/* v7.9.1 – kalender mobiiliekraanile */
@media (max-width:560px){
  .kks-rent-v77{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    min-width:0;
  }

  .kks-rent-v77 .kks-calendar-wrap{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:10px 7px 12px;
    margin-left:0;
    margin-right:0;
    overflow:hidden;
    border-radius:12px;
  }

  .kks-rent-v77 .kks-calendar-head{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:6px;
    align-items:center;
    margin-bottom:10px;
    font-size:1rem;
  }

  .kks-rent-v77 .kks-calendar-head .kks-month{
    min-width:0;
    text-align:center;
    font-size:1rem;
    line-height:1.2;
    font-weight:800;
    white-space:normal;
  }

  .kks-rent-v77 .kks-calendar-head button{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    padding:0;
    display:grid;
    place-items:center;
    line-height:1;
    font-size:22px;
    touch-action:manipulation;
  }

  .kks-rent-v77 .kks-calendar{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
  }

  .kks-rent-v77 .kks-day-name{
    min-width:0;
    padding:2px 0 4px;
    font-size:.68rem;
    line-height:1;
    overflow:hidden;
    text-align:center;
  }

  .kks-rent-v77 .kks-day{
    width:100%;
    min-width:0;
    min-height:40px;
    height:40px;
    padding:0;
    margin:0;
    border-radius:7px;
    font-size:.85rem;
    line-height:1;
    display:grid;
    place-items:center;
    touch-action:manipulation;
    box-sizing:border-box;
  }

  .kks-rent-v77 .kks-day.sel{
    outline-width:2px;
    outline-offset:-2px;
  }

  .kks-rent-v77 .kks-help{
    font-size:.76rem;
    line-height:1.35;
    margin-top:8px;
  }
}

/* Väga kitsas telefon – 320–380 px */
@media (max-width:380px){
  .kks-rent-v77 .kks-calendar-wrap{
    padding-left:4px;
    padding-right:4px;
  }
  .kks-rent-v77 .kks-calendar{
    gap:1px;
  }
  .kks-rent-v77 .kks-day{
    min-height:38px;
    height:38px;
    font-size:.8rem;
    border-radius:6px;
  }
  .kks-rent-v77 .kks-day-name{
    font-size:.63rem;
  }
}

/* v7.9.2 – mobiilis selgelt nähtav, kui ese on broneeringusse lisatud */
@media (max-width:560px){
  .kks-rent-v77 .kks-card .kks-add.kks-added{
    background:#0b3d20 !important;
    border-color:#0b3d20 !important;
    color:#fff !important;
    font-weight:800;
    box-shadow:0 0 0 3px rgba(11,61,32,.16);
  }

  .kks-rent-v77 .kks-card.kks-in-cart{
    border:2px solid #0b3d20;
    background:#f2fbf5;
  }

  .kks-rent-v77 .kks-card .kks-add{
    min-height:46px;
    font-size:1rem;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
  }
}

/* v7.9.3 – mobiili koguse väli */
@media (max-width:560px){
 .kks-rent-v77 .kks-card input[type="number"]{
  font-size:16px;
  min-height:44px;
  max-width:88px;
  text-align:center;
 }
}

/* v7.9.4 – mobiilis kaasa jooksev "Vormista broneering" nupp */
.kks-rent-v77 .kks-mobile-checkout{
  display:none;
}

@media (max-width:800px){
  .kks-rent-v77.kks-has-mobile-checkout{
    padding-bottom:96px;
  }

  .kks-rent-v77 .kks-mobile-checkout:not([hidden]){
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px;
    border:2px solid #005AA3;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 26px rgba(0,0,0,.22);
    box-sizing:border-box;
  }

  .kks-rent-v77 .kks-mobile-checkout-info{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
    line-height:1.2;
  }

  .kks-rent-v77 .kks-mobile-checkout-info strong{
    color:#005AA3;
    font-size:.9rem;
  }

  .kks-rent-v77 .kks-mobile-checkout-info small{
    font-size:.68rem;
    color:#46515c;
  }

  .kks-rent-v77 .kks-mobile-checkout-btn{
    flex:0 0 auto;
    min-height:46px;
    border:0;
    border-radius:10px;
    padding:10px 14px;
    background:#005AA3;
    color:#fff;
    font-weight:800;
    font-size:.9rem;
    cursor:pointer;
    touch-action:manipulation;
  }

  .kks-rent-v77 .kks-cart{
    scroll-margin-top:16px;
  }
}

@media (max-width:430px){
  .kks-rent-v77 .kks-mobile-checkout:not([hidden]){
    left:8px;
    right:8px;
    bottom:8px;
  }

  .kks-rent-v77 .kks-mobile-checkout-info small{
    display:none;
  }

  .kks-rent-v77 .kks-mobile-checkout-btn{
    padding-left:12px;
    padding-right:12px;
    font-size:.86rem;
  }
}

/* v7.9.5 – Edge/Chromium layout compatibility
   Explicit min-width:0 prevents intrinsic content width from breaking the inventory grid. */
.kks-rent-v77 .kks-main,
.kks-rent-v77 .kks-inventory,
.kks-rent-v77 .kks-cards,
.kks-rent-v77 .kks-card,
.kks-rent-v77 .kks-card > *,
.kks-rent-v77 .kks-item-info,
.kks-rent-v77 .kks-item-actions,
.kks-rent-v77 .kks-cart{
  min-width:0 !important;
}

.kks-rent-v77 .kks-card{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}

/* Give the text column an explicit flexible track. This avoids Edge resolving
   an implicit/intrinsic grid track to an unusably narrow width. */
@media (min-width:901px){
  .kks-rent-v77 .kks-card{
    grid-template-columns:minmax(130px,180px) minmax(220px,1fr) minmax(120px,auto) !important;
  }
}

.kks-rent-v77 .kks-item-info{
  width:auto !important;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
  white-space:normal;
}

.kks-rent-v77 .kks-item-info h3,
.kks-rent-v77 .kks-item-info strong,
.kks-rent-v77 .kks-item-info p,
.kks-rent-v77 .kks-item-info small{
  max-width:100%;
  word-break:normal !important;
  overflow-wrap:break-word;
  white-space:normal;
}

/* Tablet / narrow desktop: put actions under the text instead of squeezing text. */
@media (min-width:701px) and (max-width:1100px){
  .kks-rent-v77 .kks-card{
    grid-template-columns:minmax(120px,160px) minmax(0,1fr) !important;
  }
  .kks-rent-v77 .kks-item-actions{
    grid-column:2;
    width:100%;
  }
}

/* Phone layout remains one column and cannot inherit desktop grid tracks. */
@media (max-width:700px){
  .kks-rent-v77 .kks-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
  }
  .kks-rent-v77 .kks-item-image,
  .kks-rent-v77 .kks-item-info,
  .kks-rent-v77 .kks-item-actions{
    grid-column:1 !important;
    width:100%;
    max-width:100%;
  }
}

/* v7.9.7 – vasak inventariala veidi laiemaks
   Säilitab v7.9.5 kaardipaigutuse, kuid annab inventarile rohkem ruumi. */
@media (min-width:901px){
  .kks-rent-v77 .kks-layout{
    grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr) !important;
    gap:24px;
  }

  .kks-rent-v77 .kks-inventory{
    min-width:0;
  }

  .kks-rent-v77 .kks-cart{
    min-width:300px;
  }
}

/* Väga laial ekraanil veel veidi rohkem ruumi vasakule */
@media (min-width:1250px){
  .kks-rent-v77 .kks-layout{
    grid-template-columns:minmax(0,1.85fr) minmax(330px,.85fr) !important;
  }
}

/* v7.9.8 – veel laiem inventariala ja kompaktsemad kaardid */
@media (min-width:901px){
  .kks-rent-v77 .kks-layout{
    grid-template-columns:minmax(0,2.15fr) minmax(300px,.85fr) !important;
    gap:22px;
  }

  .kks-rent-v77 .kks-cart{
    min-width:285px;
  }

  .kks-rent-v77 .kks-card{
    grid-template-columns:minmax(125px,160px) minmax(260px,1fr) minmax(190px,220px) !important;
    gap:14px !important;
    align-items:center !important;
  }

  .kks-rent-v77 .kks-item-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    width:auto !important;
  }

  .kks-rent-v77 .kks-item-actions label{
    margin:0 !important;
    white-space:nowrap;
  }

  .kks-rent-v77 .kks-item-actions input[type="number"]{
    width:66px !important;
    min-width:66px !important;
    max-width:66px !important;
    margin:0 !important;
  }

  .kks-rent-v77 .kks-item-actions .kks-add{
    width:auto !important;
    min-width:88px !important;
    margin:0 !important;
    white-space:nowrap;
  }
}

/* Keskmisel arvutil jätame samuti koguse + Lisa samale reale,
   kuid pilt on veidi väiksem ja parempoolne vorm kitsam. */
@media (min-width:901px) and (max-width:1200px){
  .kks-rent-v77 .kks-layout{
    grid-template-columns:minmax(0,2fr) minmax(285px,.8fr) !important;
  }

  .kks-rent-v77 .kks-card{
    grid-template-columns:minmax(110px,140px) minmax(220px,1fr) minmax(180px,205px) !important;
  }

  .kks-rent-v77 .kks-item-actions input[type="number"]{
    width:60px !important;
    min-width:60px !important;
  }

  .kks-rent-v77 .kks-item-actions .kks-add{
    min-width:82px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

/* v7.9.9 – selgem väike kustutamisnupp "Sinu broneering" kastis */
.kks-rent-v77 .kks-cart button[data-remove],
.kks-rent-v77 .kks-cart .kks-remove,
.kks-rent-v77 .kks-cart .remove,
.kks-rent-v77 .kks-cart .kks-cart-remove{
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:8px !important;
  background:#0067B1 !important;
  color:#fff !important;
  display:inline-grid !important;
  place-items:center !important;
  font-size:0 !important;
  line-height:1 !important;
  cursor:pointer;
  flex:0 0 34px;
}

.kks-rent-v77 .kks-cart button[data-remove]::before,
.kks-rent-v77 .kks-cart .kks-remove::before,
.kks-rent-v77 .kks-cart .remove::before,
.kks-rent-v77 .kks-cart .kks-cart-remove::before{
  content:"🗑";
  font-size:17px;
  line-height:1;
  filter:grayscale(1) brightness(0) invert(1);
}

.kks-rent-v77 .kks-cart button[data-remove]:hover,
.kks-rent-v77 .kks-cart .kks-remove:hover,
.kks-rent-v77 .kks-cart .remove:hover,
.kks-rent-v77 .kks-cart .kks-cart-remove:hover{
  background:#004F8A !important;
}

.kks-rent-v77 .kks-cart button[data-remove]:focus-visible,
.kks-rent-v77 .kks-cart .kks-remove:focus-visible,
.kks-rent-v77 .kks-cart .remove:focus-visible,
.kks-rent-v77 .kks-cart .kks-cart-remove:focus-visible{
  outline:3px solid rgba(0,103,177,.25);
  outline-offset:2px;
}

.kks-rent-v77 .kks-cart button[data-rm]{
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:8px !important;
  background:#0067B1 !important;
  color:#fff !important;
  display:inline-grid !important;
  place-items:center !important;
  font-size:0 !important;
  line-height:1 !important;
  cursor:pointer;
  flex:0 0 34px;
}
.kks-rent-v77 .kks-cart button[data-rm]::before{
  content:"🗑";
  font-size:17px;
  line-height:1;
  filter:grayscale(1) brightness(0) invert(1);
}
.kks-rent-v77 .kks-cart button[data-rm]:hover{background:#004F8A !important;}
