/*
Theme Name: Koshiva
Theme URI: https://koshiva.in
Author: Koshiva
Description: Koshiva natural beauty theme. Cart, wishlist and WhatsApp ordering built in (no WooCommerce needed).
Version: 1.3.0
Text Domain: koshiva
*/

/* ===== 1. TOKENS (logo colours) ===== */
:root{
  --k-brown:#8a5512;      /* logo brown */
  --k-brown-dark:#4a2c0a; /* headings / text */
  --k-gold:#c9962f;       /* accents */
  --k-cream:#fbf6ec;      /* page background */
  --k-sand:#f1e6d0;       /* soft panels */
  --k-leaf:#5b7a34;       /* small natural accent */
  --k-white:#ffffff;
  --k-line:#e6d9bf;
  --k-wa:#25d366;
  --k-radius:12px;
  --k-font-head:'Cormorant Garamond',Georgia,serif;
  --k-font-body:'Jost',system-ui,sans-serif;
  --k-header-h:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--k-cream);color:var(--k-brown-dark);font-family:var(--k-font-body);font-size:16px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--k-font-head);font-weight:600;line-height:1.15;margin:0 0 .5em}
.k-container{width:min(1240px,92%);margin-inline:auto}
:focus-visible{outline:2px solid var(--k-gold);outline-offset:2px}
.screen-reader-text{position:absolute;left:-9999px}

/* =========================================
   KOSHIVA HEADER + NAVIGATION
   FULL UPDATED CSS
========================================= */

/* ===== 2. HEADER ===== */

.k-topbar {
    background: var(--k-brown-dark);
    color: #f3e4c2;
    font-size: 13px;
    text-align: center;
    padding: 8px 12px;
    letter-spacing: .04em;
}

.k-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: rgba(251,246,236,.97);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--k-line);
}

.k-header__in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: var(--k-header-h);
}

/* ===== LOGO - DESKTOP ===== */

.k-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
    line-height: 0;
}

.k-logo img {
    display: block;
    width: auto;
    height: 72px;
    max-width: 230px;
    object-fit: contain;
    object-position: center;
}

/* ===== DESKTOP NAVIGATION ===== */

.k-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.k-nav > li {
    position: relative;
}

.k-nav > li > a {
    display: block;
    padding: 26px 0;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: .03em;
}

.k-nav > li > a:hover,
.k-nav > li.current > a {
    color: var(--k-brown);
}

/* ===== DROPDOWN ===== */

.k-nav .has-sub > a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 3px 8px;
    border: solid currentColor;
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
}

.k-sub {
    position: absolute;
    left: -18px;
    top: 100%;
    min-width: 230px;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: var(--k-white);
    border: 1px solid var(--k-line);
    border-radius: var(--k-radius);
    box-shadow: 0 18px 40px rgba(74,44,10,.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: .2s;
}

.has-sub:hover > .k-sub,
.has-sub:focus-within > .k-sub {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.k-sub a {
    display: block;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 15px;
}

.k-sub a:hover {
    background: var(--k-sand);
    color: var(--k-brown);
}

/* ===== HEADER ACTIONS ===== */

.k-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.k-icon-btn {
    position: relative;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    transition: .2s;
    cursor: pointer;
}

.k-icon-btn:hover {
    background: var(--k-sand);
    color: var(--k-brown);
}

.k-icon-btn svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ===== COUNTERS ===== */

.k-count {
    position: absolute;
    top: 3px;
    right: 1px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--k-brown);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    display: grid;
    place-items: center;
}

.k-count[data-n="0"] {
    display: none;
}

.k-burger {
    display: none;
}

/* =========================================
   MOBILE NAVIGATION
========================================= */

.k-mnav {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(86vw,360px);
    background: var(--k-cream);
    z-index: 1100;
    transform: translateX(-100%);
    transition: transform .3s;
    padding: 20px;
    overflow: auto;
}

.k-mnav.is-open {
    transform: none;
}

.k-mnav ul {
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
}

.k-mnav li a {
    display: block;
    padding: 14px 4px;
    border-bottom: 1px solid var(--k-line);
    font-size: 17px;
}

.k-mnav .sub a {
    padding-left: 20px;
    font-size: 15px;
    color: var(--k-brown);
}

/* =========================================
   OVERLAY + DRAWERS
========================================= */

.k-overlay {
    position: fixed;
    inset: 0;
    background: rgba(40,24,6,.5);
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: .25s;
}

.k-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.k-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(100vw,430px);
    background: var(--k-white);
    z-index: 1100;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .3s;
}

.k-drawer.is-open {
    transform: none;
}

.k-drawer__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid var(--k-line);
}

.k-drawer__head h3 {
    margin: 0;
    font-size: 26px;
}

.k-drawer__body {
    flex: 1;
    overflow: auto;
    padding: 8px 20px;
}

.k-drawer__foot {
    padding: 16px 20px;
    border-top: 1px solid var(--k-line);
    background: var(--k-cream);
}

.k-empty {
    text-align: center;
    padding: 50px 10px;
    color: var(--k-brown);
}

/* ===== CART PRODUCTS ===== */

.k-line {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--k-line);
    align-items: center;
}

.k-line img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 10px;
    background: var(--k-sand);
}

.k-line h4 {
    font-family: var(--k-font-body);
    font-size: 15px;
    font-weight: 500;
    margin: 0 0 2px;
}

.k-line small {
    color: var(--k-brown);
}

.k-qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--k-line);
    border-radius: 30px;
    margin-top: 6px;
}

.k-qty button {
    width: 30px;
    height: 30px;
    font-size: 18px;
}

.k-qty span {
    min-width: 22px;
    text-align: center;
    font-size: 14px;
}

.k-rm {
    font-size: 12px;
    color: #a33;
    text-decoration: underline;
    display: block;
    margin-top: 6px;
}

/* ===== TOTAL + INPUTS ===== */

.k-total {
    display: flex;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
}

.k-field {
    width: 100%;
    padding: 11px 12px;
    margin-bottom: 8px;
    border: 1px solid var(--k-line);
    border-radius: 8px;
    font: inherit;
    background: #fff;
}

/* ===== BUTTONS ===== */

.k-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: 40px;
    background: var(--k-brown);
    color: #fff;
    font-weight: 500;
    letter-spacing: .03em;
    transition: .2s;
}

.k-btn:hover {
    background: var(--k-brown-dark);
}

.k-btn--wa {
    background: var(--k-wa);
    color: #073b1b;
    width: 100%;
}

.k-btn--wa:hover {
    background: #1ebe5b;
}

.k-btn--sm {
    padding: 9px 18px;
    font-size: 14px;
}

/* =========================================
   SEARCH
========================================= */

.k-search {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    background: var(--k-white);
    z-index: 1100;
    padding: 24px 0 30px;
    transform: translateY(-110%);
    transition: transform .3s;
    max-height: 90vh;
    overflow: auto;
}

.k-search.is-open {
    transform: none;
}

.k-search input {
    width: 100%;
    padding: 16px 18px;
    font: inherit;
    font-size: 18px;
    border: 1px solid var(--k-line);
    border-radius: 40px;
    background: var(--k-cream);
}

.k-search__res {
    margin-top: 12px;
}

/* =========================================
   TOAST
========================================= */

.k-toast {
    position: fixed;
    left: 50%;
    bottom: 90px;
    transform: translate(-50%,20px);
    background: var(--k-brown-dark);
    color: #fff;
    padding: 11px 20px;
    border-radius: 30px;
    font-size: 14px;
    opacity: 0;
    pointer-events: none;
    transition: .25s;
    z-index: 1200;
}

.k-toast.is-show {
    opacity: 1;
    transform: translate(-50%,0);
}

/* =========================================
   PRODUCT CARDS
========================================= */

.k-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 22px;
}

.k-card {
    background: var(--k-white);
    border: 1px solid var(--k-line);
    border-radius: var(--k-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.k-card__img {
    position: relative;
    aspect-ratio: 1/1;
    background: var(--k-sand);
}

.k-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.k-wish {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.k-wish svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: var(--k-brown);
    stroke-width: 1.8;
}

.k-wish.is-active svg {
    fill: #c0392b;
    stroke: #c0392b;
}

.k-card__body {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.k-card__body h3 {
    font-family: var(--k-font-body);
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}

.k-card__size {
    font-size: 13px;
    color: var(--k-brown);
}

.k-card__price {
    font-weight: 600;
    font-size: 18px;
    margin: 4px 0 10px;
}

.k-card .k-btn {
    margin-top: auto;
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .k-nav {
        display: none;
    }

    .k-burger {
        display: grid;
    }

    .k-header__in {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 10px;
    }

    .k-logo {
        justify-self: center;
    }

    .k-logo img {
        height: 54px;
        max-width: 190px;
    }

    .k-actions {
        justify-self: end;
    }

    .k-grid {
        grid-template-columns: repeat(2,1fr);
        gap: 14px;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 600px) {

    .k-topbar {
        font-size: 11px;
        padding: 7px 5px;
    }

    .k-header__in {
        gap: 5px;
    }

    .k-logo img {
        height: 48px;
        max-width: 160px;
    }

    .k-icon-btn {
        width: 38px;
        height: 38px;
    }

    .k-icon-btn svg {
        width: 20px;
        height: 20px;
    }

    .k-actions {
        gap: 1px;
    }

    .k-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px;
    }

    .k-line {
        grid-template-columns: 60px 1fr auto;
        gap: 10px;
    }

    .k-line img {
        width: 60px;
        height: 60px;
    }

}

/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }

}



/* ===== 3. HERO SLIDER — FULLY CORRECTED CSS ===== */

.k-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: var(--k-sand);
}

/* SLIDER TRACK */

.k-hero__track {
  display: flex;
  width: 100%;
  transform: translateX(0);
  transition: transform .7s cubic-bezier(.65,0,.35,1);
  will-change: transform;
}

/* SLIDER ITEMS */

.k-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  position: relative;
  overflow: hidden;
}

/* SLIDER IMAGE */

.k-slide__img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* SLIDER CAPTION */

.k-slide__cap {
  position: absolute;
  left: max(4%, calc((100% - 1240px)/2));
  bottom: 12%;
  max-width: 440px;
  background: rgba(251,246,236,.95);
  padding: 30px 34px;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(40,24,6,.18);
}

.k-slide__cap h2 {
  font-size: clamp(30px,3.4vw,44px);
  color: var(--k-brown);
  margin-bottom: 8px;
}

.k-slide__cap p {
  margin: 0 0 8px;
}

.k-slide__price {
  font-size: 22px;
  font-weight: 600;
}

.k-slide__price small {
  font-size: 13px;
  font-weight: 400;
  color: var(--k-brown);
}

.k-slide__btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

/* BUTTONS */

.k-btn--ghost {
  background: transparent;
  color: var(--k-brown);
  box-shadow: inset 0 0 0 1.5px var(--k-brown);
}

.k-btn--ghost:hover {
  background: var(--k-brown);
  color: #fff;
}

.k-btn--light {
  background: #fff;
  color: var(--k-brown);
}

.k-btn--light:hover {
  background: var(--k-sand);
  color: var(--k-brown-dark);
}

/* SLIDER ARROWS — DESKTOP */

.k-hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(251,246,236,.92);
  display: grid;
  place-items: center;
  z-index: 5;
  border: none;
  cursor: pointer;
  padding: 0;
}

.k-hero__arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--k-brown-dark);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.k-hero__arrow--prev {
  left: 16px;
}

.k-hero__arrow--next {
  right: 16px;
}

/* SLIDER DOTS */

.k-hero__dots {
  position: absolute;
  right: max(4%, calc((100% - 1240px)/2));
  bottom: 20px;
  display: flex;
  gap: 8px;
  z-index: 5;
}

.k-hero__dots button {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: rgba(255,255,255,.7);
  transition: .3s;
  border: none;
  padding: 0;
  cursor: pointer;
}

.k-hero__dots button.on {
  width: 30px;
  background: var(--k-gold);
}

/* ===== MOBILE RESPONSIVE ===== */

@media (max-width: 767px) {

  /* MOBILE IMAGE */

  .k-slide__img {
    aspect-ratio: 4 / 5;
    min-height: 430px;
  }

  /* MOBILE CAPTION */

  .k-slide__cap {
    left: 15px;
    right: 15px;
    bottom: 55px;
    max-width: none;
    padding: 20px;
  }

  .k-slide__cap h2 {
    font-size: 27px;
  }

  /* MOBILE ARROWS — MOVED DOWN */

  .k-hero__arrow {
    top: 57%;
    width: 36px;
    height: 36px;
  }

  .k-hero__arrow--prev {
    left: 8px;
  }

  .k-hero__arrow--next {
    right: 8px;
  }

  /* MOBILE DOTS */

  .k-hero__dots {
    right: 50%;
    transform: translateX(50%);
    bottom: 15px;
  }
}


/* KOSHIVA — FORCE MOBILE SLIDER ARROW POSITION */

@media screen and (max-width: 767px) {

  #k-hero .k-hero__arrow,
  .k-hero .k-hero__arrow {
    top: 60% !important;
    transform: translateY(-50%) !important;
    position: absolute !important;
    z-index: 99 !important;
  }

  #k-hero .k-hero__arrow--prev,
  .k-hero .k-hero__arrow--prev {
    left: 8px !important;
  }

  #k-hero .k-hero__arrow--next,
  .k-hero .k-hero__arrow--next {
    right: 8px !important;
  }

}


/* ===== 4. SECTIONS ===== */
.k-section{padding:70px 0}
.k-section--sand{background:var(--k-sand)}
.k-title{font-size:clamp(30px,3.4vw,42px);text-align:center;color:var(--k-brown);margin-bottom:34px}
.k-center{text-align:center;margin-top:34px}
.k-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.k-cat{text-align:center}
.k-cat img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:3px solid var(--k-gold);padding:4px;background:#fff;transition:transform .3s}
.k-cat:hover img{transform:scale(1.04)}
.k-cat span{display:block;margin-top:12px;font-weight:500;font-size:16px}
.k-why{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.k-why h3{font-size:26px;color:var(--k-brown)}
.k-why p{margin:0;max-width:34ch;margin-inline:auto}
.k-banner{background:var(--k-brown);color:#fff;text-align:center;padding:64px 0}
.k-banner h2{font-size:clamp(30px,3.4vw,42px)}
.k-banner p{margin:0 0 22px;color:#f3e4c2}

/* product card extras */
.k-card__img a{display:block;height:100%}
.k-card__body h3 a:hover{color:var(--k-brown)}
.k-card__img.is-ph img,.k-pdp__img.is-ph img{object-fit:contain;padding:18%}

/* ===== 5. SHOP / PRODUCT / PAGES ===== */
.k-pagehead{background:var(--k-sand);text-align:center;padding:44px 0}
.k-pagehead h1{font-size:clamp(34px,4vw,50px);color:var(--k-brown);margin:0}
.k-pagehead p{margin:6px 0 0}
.k-filter{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.k-pills{display:flex;gap:8px;flex-wrap:wrap}
.k-pills a{padding:8px 18px;border:1px solid var(--k-line);border-radius:30px;background:#fff;font-size:14px}
.k-pills a.on,.k-pills a:hover{background:var(--k-brown);color:#fff;border-color:var(--k-brown)}
.k-sort select{margin-left:8px;padding:9px 12px;border:1px solid var(--k-line);border-radius:8px;background:#fff;font:inherit}
.k-crumb{font-size:14px;color:var(--k-brown);margin-bottom:24px}
.k-pdp{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.k-pdp__img{border-radius:var(--k-radius);overflow:hidden;background:var(--k-sand);aspect-ratio:1/1}
.k-pdp__img img{width:100%;height:100%;object-fit:cover}
.k-pdp__info h1{font-size:clamp(32px,3.6vw,46px);margin-bottom:4px}
.k-pdp__price{font-size:30px;font-weight:600;margin:10px 0}
.k-pdp__price small{font-size:13px;font-weight:400;color:var(--k-brown)}
.k-pdp__qty{display:flex;align-items:center;gap:14px;margin:24px 0 18px}
.k-pdp__btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.k-pdp__btns .k-btn--wa{width:auto}
.k-wish--inline{position:static;border:1px solid var(--k-line);box-shadow:none}
.k-about,.k-contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.k-about img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--k-radius)}
.k-about h2,.k-contact h2{font-size:36px;color:var(--k-brown)}
.k-cform{background:#fff;border:1px solid var(--k-line);border-radius:var(--k-radius);padding:26px}
.k-footer{background:var(--k-brown-dark);color:#e9d9b8;padding-top:56px}
.k-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:34px}
.k-footer__logo{height:70px;width:auto;background:var(--k-cream);padding:6px 10px;border-radius:10px;margin-bottom:12px}
.k-footer h4{font-family:var(--k-font-body);font-size:16px;color:#fff;letter-spacing:.04em}
.k-footer ul{list-style:none;margin:0;padding:0}
.k-footer li{margin-bottom:8px}
.k-footer a:hover{color:#fff}
.k-footer p{margin:0 0 12px}
.k-footer__bar{margin-top:40px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:14px}

@media (max-width:991px){
  .k-slide{display:flex;flex-direction:column}
  .k-slide__img{aspect-ratio:4/3}
  .k-slide__cap{position:static;max-width:none;border-radius:0;box-shadow:none;padding:22px 20px 56px;background:var(--k-cream)}
  .k-hero__dots{right:auto;left:50%;transform:translateX(-50%);bottom:18px}
  .k-hero__dots button{background:var(--k-line)}
  .k-hero__arrow{top:28%}
  .k-section{padding:48px 0}
  .k-cats{grid-template-columns:repeat(3,1fr)}
  .k-why,.k-pdp,.k-about,.k-contact{grid-template-columns:1fr;gap:26px}
  .k-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .k-cats{grid-template-columns:repeat(2,1fr)}
  .k-footer__grid{grid-template-columns:1fr}
}
.k-line img.ph{object-fit:contain;padding:8px}

/* ===== 6. ICON SIZES (medium, clearly visible) ===== */
.k-icon-btn{width:48px;height:48px}
.k-icon-btn svg{width:26px;height:26px;stroke-width:1.8}
.k-count{top:4px;right:2px;min-width:19px;height:19px;font-size:11px}
.k-actions{gap:6px}
.k-wish{width:42px;height:42px}
.k-wish svg{width:22px;height:22px}
.k-hero__arrow{width:50px;height:50px}
.k-hero__arrow svg{width:24px;height:24px}
.k-btn svg{width:20px;height:20px;flex:none}
.k-mnav .k-icon-btn svg,.k-drawer__head .k-icon-btn svg{width:26px;height:26px}
@media (max-width:991px){
  .k-icon-btn{width:44px;height:44px}
  .k-icon-btn svg{width:25px;height:25px}
  .k-actions{gap:2px}
}

/* ===== 7. LOGO SIZE — FULL HEADER HEIGHT ===== */

/* Header height remains controlled by the existing variable */
.k-header {
  --k-logo-max-width: 260px;
}

.k-header .k-header__in {
  height: var(--k-header-h);
  min-height: var(--k-header-h);
}

.k-header .k-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex: 0 1 auto;
  min-width: 0;
  height: var(--k-header-h);
  min-height: var(--k-header-h);
  max-height: var(--k-header-h);
  line-height: 0;
  text-decoration: none;
  overflow: visible;
}

.k-header .k-logo img {
  display: block;
  width: auto !important;
  height: var(--k-header-h) !important;
  max-height: var(--k-header-h) !important;
  max-width: var(--k-logo-max-width);
  object-fit: contain;
  object-position: center;
}

/* Tablet */
@media (max-width: 1024px) {
  .k-header {
    --k-logo-max-width: 230px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .k-header {
    --k-logo-max-width: 205px;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  .k-header {
    --k-logo-max-width: 175px;
  }
}

/* ===== 8. FLOATING CALL (LEFT) + WHATSAPP (RIGHT) ===== */
.k-float{
  --btn:#25d366;
  --btn-dark:#1ebe5b;
  position:fixed;
  bottom:22px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:var(--btn);
  display:grid;
  place-items:center;
  z-index:9999;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(0,0,0,.2);
  transition:transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.k-float--wa{right:22px;left:auto}
.k-float--call{left:22px;right:auto;--btn:#8a5512;--btn-dark:#4a2c0a}

.k-float svg{
  position:relative;
  z-index:2;
  display:block;
  width:30px;
  height:30px;
  fill:#fff;
  stroke:none;
  transition:transform .3s ease;
}

/* soft pulse ring */
.k-float::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:var(--btn);
  z-index:1;
  animation:kPulse 2s ease-out infinite;
}
.k-float--call::before{animation-delay:1s}

@keyframes kPulse{
  0%{transform:scale(1);opacity:.55}
  70%,100%{transform:scale(1.7);opacity:0}
}

/* gentle floating bounce */
.k-float{animation:kBob 3s ease-in-out infinite}
.k-float--call{animation-delay:.5s}
@keyframes kBob{
  0%,100%{translate:0 0}
  50%{translate:0 -4px}
}

/* hover: lift + grow */
.k-float:hover{
  transform:translateY(-6px) scale(1.12);
  background:var(--btn-dark);
  box-shadow:0 12px 26px rgba(0,0,0,.3);
}
.k-float--wa:hover svg{transform:rotate(-12deg) scale(1.1)}
.k-float--call:hover svg{animation:kRing .7s ease-in-out infinite}

@keyframes kRing{
  0%,100%{transform:rotate(0)}
  15%{transform:rotate(-18deg)}
  30%{transform:rotate(16deg)}
  45%{transform:rotate(-14deg)}
  60%{transform:rotate(12deg)}
  75%{transform:rotate(-6deg)}
}
.k-float:active{transform:scale(.94)}

/* tooltip */
.k-float__tip{
  position:absolute;
  top:50%;
  white-space:nowrap;
  background:var(--k-brown-dark);
  color:#fff;
  font-size:13px;
  padding:6px 12px;
  border-radius:20px;
  opacity:0;
  pointer-events:none;
  transition:.25s;
  z-index:3;
}
.k-float--wa .k-float__tip{right:72px;transform:translate(8px,-50%)}
.k-float--call .k-float__tip{left:72px;transform:translate(-8px,-50%)}
.k-float:hover .k-float__tip{opacity:1;transform:translate(0,-50%)}

@media (max-width:767px){
  .k-float{width:52px;height:52px;bottom:16px}
  .k-float--wa{right:14px}
  .k-float--call{left:14px}
  .k-float svg{width:27px;height:27px}
  .k-float__tip{display:none}
}

@media (prefers-reduced-motion:reduce){
  .k-float,.k-float::before,.k-float--call:hover svg{animation:none}
}


/* KOSHIVA - FORCE SHOW FLOATING BUTTONS ON MOBILE */

html body a#callFloat,
html body a#waFloat {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;

    width: 55px !important;
    height: 55px !important;
    min-width: 55px !important;
    min-height: 55px !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;

    z-index: 2147483647 !important;
    transform: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html body a#callFloat {
    left: 15px !important;
    right: auto !important;
    bottom: calc(20px + env(safe-area-inset-bottom)) !important;
    background: #6b451c !important;
}

html body a#waFloat {
    right: 15px !important;
    left: auto !important;
    bottom: calc(20px + env(safe-area-inset-bottom)) !important;
    background: #25D366 !important;
}

html body a#callFloat svg,
html body a#waFloat svg {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
    fill: #ffffff !important;
    flex-shrink: 0 !important;
}

html body a#callFloat .k-float__tip,
html body a#waFloat .k-float__tip {
    display: none !important;
}

@media screen and (max-width: 767px) {
    html body a#callFloat,
    html body a#waFloat {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
    }
}
