:root{--kk-brand:#8c56ac;--kk-brand-dark:#684082;--kk-bg:#f7f4f9;--kk-text:#241d29;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--kk-topbar-height:72px}
html,body{background:var(--kk-bg);color:var(--kk-text);min-height:100%;overscroll-behavior-y:none}html{scroll-padding-top:calc(var(--kk-topbar-height) + var(--safe-top) + 1rem)}body{padding-bottom:calc(76px + var(--safe-bottom))}.kk-topbar{position:sticky;top:0;z-index:1050;min-height:calc(var(--kk-topbar-height) + var(--safe-top));padding-top:var(--safe-top);background:linear-gradient(135deg,var(--kk-brand),var(--kk-brand-dark));color:#fff;box-shadow:0 .25rem 1rem rgba(45,23,59,.14)}.kk-topbar>.container{min-height:var(--kk-topbar-height)}.kk-logo{width:40px;height:40px;border-radius:12px;background:#fff2;color:#fff;display:grid;place-items:center;font-weight:800}.kk-hero{background:linear-gradient(135deg,#8c56ac,#5b2e70);color:white;border-radius:1.5rem;overflow:hidden}.kk-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1040;background:#fff;border-top:1px solid #e8e2ec;padding-bottom:var(--safe-bottom)}.kk-bottom-nav .nav-link{color:#776d7d;font-size:.75rem;padding:.6rem .25rem}.kk-bottom-nav .nav-link.active{color:var(--kk-brand);font-weight:700}.kk-bottom-nav i{display:block;font-size:1.35rem}.product-card{border:0;border-radius:1rem;overflow:hidden;box-shadow:0 .3rem 1.1rem #2d173b0d}.product-card img,.product-placeholder{aspect-ratio:1/1;object-fit:cover;background:#eee7f1}.campaign-card{border:0;border-radius:1rem;overflow:hidden}.price{font-weight:800;color:var(--kk-brand)}.section-title{font-weight:800}.empty-state{padding:4rem 1rem;text-align:center;color:#7d7382}.empty-state i{font-size:3rem;display:block;margin-bottom:1rem}.skeleton{background:linear-gradient(90deg,#eee 25%,#f7f7f7 37%,#eee 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}.qty-control{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:999px;overflow:hidden}.qty-control button{border:0;background:white;width:34px;height:34px}.qty-control span{min-width:32px;text-align:center}.app-modal .modal-content{border:0;border-radius:1.25rem}.badge-soft{background:#efe7f4;color:#684082}.checkout-bar{position:fixed;left:0;right:0;bottom:calc(68px + var(--safe-bottom));z-index:1030}.toast{border:0;box-shadow:0 .5rem 2rem #0002}.form-control,.form-select,.btn{border-radius:.8rem}.btn-primary{--bs-btn-bg:var(--kk-brand);--bs-btn-border-color:var(--kk-brand);--bs-btn-hover-bg:var(--kk-brand-dark);--bs-btn-hover-border-color:var(--kk-brand-dark)}@media(min-width:992px){body{padding-bottom:0}.kk-bottom-nav{position:sticky;top:calc(var(--kk-topbar-height) + var(--safe-top));bottom:auto}.kk-bottom-nav .container{justify-content:flex-end}.kk-bottom-nav .nav-link{font-size:.9rem;padding:1rem}.kk-bottom-nav i{display:inline;margin-right:.35rem}.checkout-bar{bottom:0;left:auto;width:420px}}

.place-items-center{place-items:center}.brand-bg{background:var(--kk-brand)}

/* Home category cards */
.homepage-category-section{scroll-margin-top:1rem}
.category-card{border:0;border-radius:1.15rem;overflow:hidden;color:var(--kk-text);box-shadow:0 .35rem 1.1rem rgba(45,23,59,.08);transition:transform .18s ease,box-shadow .18s ease;background:#fff}
.category-card:hover,.category-card:focus-visible{color:var(--kk-text);transform:translateY(-3px);box-shadow:0 .75rem 1.8rem rgba(45,23,59,.14)}
.category-card-media{position:relative;aspect-ratio:1.18/1;overflow:hidden;background:linear-gradient(145deg,#f2e9f7,#e8d8f0)}
.category-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.category-card:hover .category-card-media img{transform:scale(1.045)}
.category-card-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--kk-brand);font-size:2.6rem;background:radial-gradient(circle at 35% 30%,#fff 0,#f3e9f8 38%,#e7d4f0 100%)}
.category-card-count-badge{position:absolute;right:.65rem;top:.65rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--kk-brand);font-size:.78rem;font-weight:800;line-height:1;box-shadow:0 .25rem .8rem rgba(0,0,0,.12)}
.category-card-title{font-size:1rem;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:575.98px){.category-card .card-body{padding:.85rem!important}.category-card-media{aspect-ratio:1.35/1}.category-card-placeholder{font-size:2.2rem}.category-card-count-badge{width:1.8rem;height:1.8rem;right:.5rem;top:.5rem;font-size:.72rem}}

/* Client pages: remove structural outer card frames */
.page-heading,
.page-form,
.page-auth,
.page-detail,
.account-profile,
.points-summary,
.page-list {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.page-heading,
.page-detail,
.page-form,
.page-auth { padding: 0; }
.account-profile { padding: 1rem 0 .5rem; }
.points-summary { padding: 1.25rem 0; }
.page-list { overflow: visible; }
.page-list .list-group { background: transparent; }
.page-list .list-group-item {
  background: transparent;
  border-left: 0;
  border-right: 0;
  padding-left: 0;
  padding-right: 0;
}
.page-list .list-group-item:first-child { border-top: 0; }
.page-list .list-group-item:last-child { border-bottom: 0; }
.page-list .list-group-item-action:hover,
.page-list .list-group-item-action:focus {
  background: rgba(140,86,172,.055);
}
.checkout-bar {
  background: #fff;
  border-top: 1px solid #e8e2ec;
  box-shadow: 0 -.35rem 1.1rem rgba(45,23,59,.08);
}
.checkout-bar-inner { padding: .85rem 0; }
@media(min-width:992px){
  .page-auth { max-width: 34rem; margin-inline: auto; }
  .checkout-bar { border-left: 1px solid #e8e2ec; }
}

/* i18n legal and policy pages */
.legal-page{max-width:860px;margin:0 auto;padding-bottom:2rem}
.legal-back{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;margin-bottom:1rem;color:var(--kk-brand);font-weight:700}
.legal-header{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem 0;border-bottom:1px solid #e7e0eb}
.legal-header h1{font-size:clamp(1.65rem,4vw,2.35rem);font-weight:850;margin:0 0 .55rem}
.legal-header p{margin:0;color:#6f6575;line-height:1.75}
.legal-icon{flex:0 0 auto;width:54px;height:54px;border-radius:1rem;display:grid;place-items:center;background:#efe5f4;color:var(--kk-brand);font-size:1.55rem}
.legal-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;color:#7a707f;font-size:.88rem;padding:1rem 0}
.legal-section{padding:1.15rem 0;border-top:1px solid #eee8f1}
.legal-section:first-of-type{border-top:0}
.legal-section h2{font-size:1.1rem;font-weight:800;margin-bottom:.7rem}
.legal-section p,.legal-section li{line-height:1.78;color:#403847}
.legal-section ul{padding-left:1.25rem;margin-bottom:.25rem}
.legal-section li+li{margin-top:.4rem}
.legal-contact{margin-top:1rem;padding:1rem 0;border-top:1px solid #e7e0eb;border-bottom:1px solid #e7e0eb;line-height:1.7}
.legal-contact a{color:var(--kk-brand);text-decoration:none}
.legal-notice{margin-top:1rem;border-radius:.85rem}
@media(max-width:575.98px){.legal-header{gap:.75rem}.legal-icon{width:46px;height:46px;border-radius:.85rem}.legal-section{padding:1rem 0}}

/* Google + WhatsApp sign-in */
.auth-mark{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:rgba(140,86,172,.12);color:#8c56ac;font-size:1.75rem}
.google-login-root{min-height:44px;display:flex;justify-content:center;align-items:center}
.google-login-root>div{max-width:100%}
.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:#6c757d;font-size:.85rem}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#dee2e6;flex:1}
.auth-divider span{white-space:nowrap}
.whatsapp-auth{padding:.25rem 0}
.whatsapp-auth .input-group>.form-control{min-width:0}
.whatsapp-auth .input-group .btn{white-space:nowrap}
@media(max-width:420px){.whatsapp-auth .input-group{display:grid;grid-template-columns:auto 1fr}.whatsapp-auth .input-group .btn{grid-column:1/-1;border-radius:.5rem!important;margin-top:.5rem}.whatsapp-auth .input-group-text{border-radius:.5rem 0 0 .5rem}.whatsapp-auth .form-control{border-radius:0 .5rem .5rem 0!important}}

/* Product card detail links and product detail page */
.product-card-image-link{display:block;overflow:hidden;background:#eee7f1;text-decoration:none}
.product-card-image-link img{width:100%;display:block;transition:transform .22s ease}
.product-card-image-link:hover img,.product-card-image-link:focus-visible img{transform:scale(1.035)}
.product-card-image-link:focus-visible{outline:3px solid rgba(140,86,172,.35);outline-offset:-3px}
.product-detail-main-image{aspect-ratio:1/1;border-radius:1rem;overflow:hidden;background:#eee7f1}
.product-detail-main-image img{width:100%;height:100%;display:block;object-fit:cover}
.product-detail-thumbnails{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.25rem}
.product-detail-thumb{width:72px;height:72px;flex:0 0 72px;padding:0;border:2px solid transparent;border-radius:.75rem;overflow:hidden;background:#fff}
.product-detail-thumb.active{border-color:var(--kk-brand)}
.product-detail-thumb img{width:100%;height:100%;object-fit:cover}
.product-detail-description{white-space:pre-line;line-height:1.75}


/* Fixed client header */
#page,[id]{scroll-margin-top:calc(var(--kk-topbar-height) + var(--safe-top) + 1rem)}


/* Header language dropdown */
.kk-language-dropdown .dropdown-toggle::after{margin-left:.15rem}
.kk-language-dropdown .dropdown-menu{min-width:11.5rem;padding:.45rem;border-radius:.9rem;z-index:1080}
.kk-language-dropdown .dropdown-item{border-radius:.65rem;padding:.7rem .8rem;color:var(--kk-text)}
.kk-language-dropdown .dropdown-item:hover,
.kk-language-dropdown .dropdown-item:focus{background:rgba(140,86,172,.09);color:var(--kk-brand)}
.kk-language-dropdown .dropdown-item.active,
.kk-language-dropdown .dropdown-item:active{background:var(--kk-brand);color:#fff}
@media(max-width:420px){
  .kk-language-dropdown .dropdown-toggle{padding-inline:.55rem}
  .kk-language-dropdown .dropdown-menu{min-width:10.75rem}
}


/* School lunch module */
.school-lunch-hero{background:linear-gradient(135deg,#5b8f5b,#315f43);color:#fff;border-radius:1.1rem;padding:1.4rem;box-shadow:0 .8rem 2rem rgba(49,95,67,.16)}
.school-lunch-day{background:#fff;border:1px solid rgba(140,86,172,.12);border-radius:1rem;padding:1rem}
.school-lunch-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}
.school-lunch-product-option{position:relative;cursor:pointer}.school-lunch-product-option>input{position:absolute;opacity:0;pointer-events:none}
.school-lunch-product-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:2px solid transparent;border-radius:.9rem;background:#f8f6fa;transition:.18s ease}
.school-lunch-product-card img,.school-lunch-product-placeholder{aspect-ratio:1/1;width:100%;object-fit:cover;background:#ece6f0;display:grid;place-items:center;font-size:2rem;color:#8b7e92}
.school-lunch-product-copy{display:flex;flex-direction:column;gap:.2rem;padding:.75rem}.school-lunch-product-copy small{color:#766b7c}
.school-lunch-product-option>input:checked+.school-lunch-product-card{border-color:var(--kk-brand);box-shadow:0 0 0 .22rem rgba(140,86,172,.12)}
.school-lunch-no-meal>span{min-height:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;border:2px dashed #cfc5d4;border-radius:.9rem;padding:1rem;color:#766b7c;background:#fff}
.school-lunch-no-meal>input:checked+span{border-style:solid;border-color:var(--kk-brand);color:var(--kk-brand);background:rgba(140,86,172,.06)}
.school-lunch-cart-panel{background:#fff;border-radius:1rem;padding:1rem;border:1px solid rgba(140,86,172,.12)}.school-lunch-cart-group+.school-lunch-cart-group{margin-top:1rem}
.school-lunch-cart-thumb{width:48px;height:48px;border-radius:.65rem;object-fit:cover}.school-lunch-empty-cart{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:1px dashed #d8d0dc;border-radius:.8rem}
@media(max-width:575.98px){.school-lunch-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-lunch-day{padding:.85rem}}


/* School lunch selection and split-cart refinements */
.cart-section{overflow:hidden;background:#fff;border:1px solid rgba(140,86,172,.12);border-radius:1rem}
.cart-section-header{padding:1rem;border-bottom:1px solid rgba(140,86,172,.1)}
.cart-section-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-top:1px solid rgba(140,86,172,.1);background:#fbfafc}
.school-lunch-cart-section{border-color:rgba(49,95,67,.2)}
.school-lunch-cart-section .cart-section-header{background:rgba(49,95,67,.045)}
.school-lunch-product-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}

@media(max-width:575.98px){
  .school-lunch-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.35rem;
  }
  .school-lunch-product-card{
    border-radius:.55rem;
  }
  .school-lunch-product-copy{
    gap:.08rem;
    padding:.32rem;
  }
  .school-lunch-product-copy strong{
    display:-webkit-box;
    overflow:hidden;
    min-height:2.15em;
    font-size:.68rem;
    line-height:1.08;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  .school-lunch-product-description{
    min-height:2.05em;
    font-size:.58rem;
    line-height:1.05;
  }
  .school-lunch-product-copy .price{
    margin-top:.12rem;
    font-size:.66rem;
    line-height:1.05;
    white-space:nowrap;
  }
  .school-lunch-day{
    padding:.65rem;
  }
  .cart-section-footer{
    align-items:flex-end;
    padding:.85rem;
  }
}


/* Self-operated groupbuy */
.groupbuy-hero{
  padding:1.35rem;
  color:#fff;
  border-radius:1.1rem;
  background:linear-gradient(135deg,#f59f24,#b65b18);
  box-shadow:0 .8rem 2rem rgba(125,65,14,.18)
}
.groupbuy-progress .progress{height:.72rem;background:rgba(255,255,255,.24)}
.groupbuy-progress .progress-bar{background:#fff}
.groupby-cart-section{border-color:rgba(245,159,36,.32)}
.groupby-cart-section .cart-section-header{background:rgba(245,159,36,.07)}
.groupby-quote{padding:1rem;border:1px solid rgba(140,86,172,.12);border-radius:.85rem;background:#faf9fb}
.groupby-fulfillment-card{padding:1rem;border:1px solid rgba(245,159,36,.3);border-radius:.9rem;background:rgba(245,159,36,.06)}
.pickup-code{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px dashed #b65b18;border-radius:.75rem;background:#fff}
.pickup-code strong{font-size:1.4rem;letter-spacing:.15em;color:#8a4814}
.min-w-0{min-width:0}
@media(max-width:575.98px){
  .groupbuy-hero{padding:1rem;border-radius:.9rem}
  .groupbuy-cart-section .cart-section-footer{align-items:flex-end}
}

/* Groupbuy V3: visible variant rows and multi-variant quantities */
.product-variant-section{
  border-top:1px solid rgba(140,86,172,.12);
  padding-top:1rem
}
.product-variant-list{
  overflow:hidden;
  border:1px solid rgba(140,86,172,.14);
  border-radius:.9rem;
  background:#fff
}
.product-variant-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
  border-bottom:1px solid rgba(140,86,172,.1)
}
.product-variant-row:last-child{
  border-bottom:0
}
.product-variant-row.is-sold-out{
  background:#f7f7f7;
  opacity:.72
}
.product-variant-info{
  min-width:0;
  flex:1 1 auto
}
.product-variant-name{
  font-weight:700;
  line-height:1.25
}
.product-variant-price{
  margin-top:.35rem
}
.product-variant-quantity{
  display:grid;
  grid-template-columns:2.4rem 3.25rem 2.4rem;
  align-items:center;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(140,86,172,.22);
  border-radius:.75rem;
  background:#fff
}
.variant-quantity-button{
  width:2.4rem;
  height:2.55rem;
  border:0;
  background:transparent;
  color:#6c3483
}
.variant-quantity-button:disabled{
  color:#b9b9b9;
  cursor:not-allowed
}
.variant-quantity-input{
  width:3.25rem;
  height:2.55rem;
  padding:0 .2rem;
  border:0;
  border-right:1px solid rgba(140,86,172,.14);
  border-left:1px solid rgba(140,86,172,.14);
  outline:0;
  text-align:center;
  font-weight:700;
  appearance:textfield
}
.variant-quantity-input::-webkit-inner-spin-button,
.variant-quantity-input::-webkit-outer-spin-button{
  margin:0;
  appearance:none
}
.product-variant-selection-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:2.6rem;
  padding:.7rem .9rem;
  border-radius:.75rem;
  background:rgba(140,86,172,.06)
}
@media(max-width:575.98px){
  .product-variant-row{
    gap:.65rem;
    padding:.85rem .75rem
  }
  .product-variant-quantity{
    grid-template-columns:2.15rem 2.85rem 2.15rem
  }
  .variant-quantity-button{
    width:2.15rem;
    height:2.4rem
  }
  .variant-quantity-input{
    width:2.85rem;
    height:2.4rem
  }
}

/* Groupbuy V4: sold-out presentation without SKU/stock text */
.product-detail-image-wrap{
  position:relative;
  overflow:hidden
}
.product-image-sold-out-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  pointer-events:none;
  background:rgba(20,20,20,.28)
}
.product-image-sold-out-overlay span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:7rem;
  min-height:3.3rem;
  padding:.55rem 1.15rem;
  border:2px solid rgba(255,255,255,.9);
  border-radius:.75rem;
  background:rgba(30,30,30,.72);
  color:#fff;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.16em;
  text-indent:.16em
}
.product-variant-row.is-sold-out{
  background:#f3f3f3;
  opacity:1
}
.product-variant-row.is-sold-out .product-variant-name,
.product-variant-row.is-sold-out .product-variant-price,
.product-variant-row.is-sold-out .product-variant-price strong{
  color:#a2a2a2!important
}
.product-variant-row.is-sold-out .product-variant-quantity{
  border-color:#d8d8d8;
  background:#ececec
}
.product-variant-row.is-sold-out .variant-quantity-button,
.product-variant-row.is-sold-out .variant-quantity-input{
  color:#b5b5b5;
  background:#ececec;
  cursor:not-allowed
}
.product-variant-row.is-sold-out .variant-quantity-input{
  border-right-color:#d8d8d8;
  border-left-color:#d8d8d8
}

/* Groupbuy V5: grouped All Categories catalogue */
.catalog-category-section{
  scroll-margin-top:6rem
}
.catalog-category-heading{
  min-height:2.25rem
}
.catalog-category-more{
  display:inline-flex;
  align-items:center;
  gap:.15rem;
  border-radius:999px
}
.catalog-category-section:last-child{
  margin-bottom:0!important
}
@media(max-width:575.98px){
  .catalog-category-heading{
    align-items:center!important
  }
  .catalog-category-more{
    padding:.3rem .55rem
  }
}

/* V7 loyalty, referral and coupon */
.checkout-benefits{padding:1rem;border:1px solid rgba(140,86,172,.14);border-radius:1rem;background:rgba(140,86,172,.035)}
.checkout-benefit-summary{padding:.85rem;border-radius:.8rem;background:#fff}
.coupon-wallet{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem
}
.coupon-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-width:0;
  padding:1.1rem;
  border:1px dashed rgba(140,86,172,.45);
  border-radius:1rem;
  background:#fff
}
.coupon-card>div:first-child{min-width:0}
.coupon-card h2{overflow-wrap:anywhere}
@media(max-width:991.98px){
  .coupon-wallet{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:575.98px){
  .coupon-wallet{
    grid-template-columns:1fr
  }
}
.coupon-card.is-disabled{filter:grayscale(1);opacity:.58}.coupon-value{flex:0 0 auto;color:#8c56ac;font-size:1.45rem;font-weight:800}
.invite-card{padding:1.5rem;border-radius:1.2rem;background:#fff;box-shadow:0 .35rem 1.5rem rgba(35,20,45,.08)}
.stat-box{display:grid;gap:.2rem;height:100%;padding:1rem .5rem;border-radius:.9rem;background:rgba(140,86,172,.07)}
.stat-box strong{color:#8c56ac;font-size:1.4rem}.stat-box span{color:#6c757d;font-size:.85rem}
/* KKFOODDELI V7 multi-channel share chooser */
body.kk-share-open{overflow:hidden}
.kk-share-overlay{
  position:fixed;inset:0;z-index:1090;display:flex;align-items:flex-end;
  justify-content:center;padding:1rem;background:rgba(20,12,28,.48);
  backdrop-filter:blur(2px)
}
.kk-share-sheet{
  width:min(100%,34rem);padding:1rem;border-radius:1.25rem 1.25rem .9rem .9rem;
  background:#fff;box-shadow:0 -1rem 3rem rgba(20,12,28,.22);
  animation:kkShareUp .2s ease-out
}
.kk-share-handle{
  width:2.8rem;height:.3rem;margin:0 auto 1rem;border-radius:999px;background:#d8d1dc
}
.kk-share-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem
}
.kk-share-option{
  display:flex;align-items:center;gap:.75rem;min-height:4.5rem;padding:.8rem;
  border:1px solid rgba(140,86,172,.16);border-radius:1rem;background:#fff;
  color:#2f2933;font-weight:700;text-align:left;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}
.kk-share-option:active{transform:scale(.98)}
.kk-share-option:focus-visible{
  outline:3px solid rgba(140,86,172,.2);outline-offset:2px
}
.kk-share-icon{
  display:inline-grid;place-items:center;flex:0 0 2.65rem;width:2.65rem;height:2.65rem;
  border-radius:.85rem;color:#fff;font-size:1.35rem;font-weight:900
}
.kk-share-whatsapp{background:#25d366}
.kk-share-wechat{background:#07c160}
/* KKFOODDELI V7 KakaoTalk share */
.kk-share-kakaotalk{background:#fee500;color:#191919}
.kk-share-line{background:#06c755}
@keyframes kkShareUp{
  from{transform:translateY(1.5rem);opacity:0}
  to{transform:translateY(0);opacity:1}
}
@media(min-width:768px){
  .kk-share-overlay{align-items:center}
  .kk-share-sheet{border-radius:1.25rem}
}

/* KKFOODDELI_MY_CONTACT_MULTILINGUAL_PAGE_PATCH_20260805 */
.contact-page{max-width:860px;margin:0 auto;padding-bottom:2rem}
.contact-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1rem;color:var(--kk-brand);font-weight:700;text-decoration:none}
.contact-hero{display:flex;align-items:center;gap:1rem;padding:1.35rem;border-radius:1.25rem;background:linear-gradient(135deg,var(--kk-brand),var(--kk-brand-dark));color:#fff;box-shadow:0 .8rem 2rem rgba(104,64,130,.18)}
.contact-hero-icon{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:1rem;background:rgba(255,255,255,.16);font-size:1.65rem}
.contact-hero h1{margin:0 0 .4rem;font-size:clamp(1.55rem,4vw,2.15rem);font-weight:850}
.contact-hero p{margin:0;line-height:1.65;opacity:.88}
.contact-section{padding:1.4rem 0}
.contact-section>h2,.contact-prepare>h2,.contact-company>h2{font-size:1.05rem;font-weight:800;margin-bottom:.85rem}
.contact-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}
.contact-channel-card{display:flex;flex-direction:column;gap:.85rem;padding:1rem;border:1px solid rgba(140,86,172,.14);border-radius:1rem;background:#fff;box-shadow:0 .35rem 1rem rgba(45,23,59,.05)}
.contact-channel-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:.85rem;font-size:1.3rem}
.contact-channel-whatsapp{background:#e4f8eb;color:#168a45}
.contact-channel-email{background:#efe6f5;color:var(--kk-brand)}
.contact-channel-phone{background:#e7f1ff;color:#0d6efd}
.contact-channel-copy{flex:1}
.contact-channel-copy h3{font-size:1rem;font-weight:800;margin:0 0 .3rem}
.contact-channel-copy p{min-height:2.8em;margin:0 0 .5rem;color:#756b7a;font-size:.9rem;line-height:1.45}
.contact-channel-copy strong{font-size:.92rem}
.contact-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.contact-facts>div{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:1rem;background:rgba(140,86,172,.065)}
.contact-fact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:.8rem;background:#fff;color:var(--kk-brand);font-size:1.15rem}
.contact-facts small,.contact-facts strong{display:block}
.contact-facts small{color:#756b7a;margin-bottom:.15rem}
.contact-order-support{display:flex;align-items:center;gap:1rem;padding:1.15rem;margin:1rem 0;border:1px solid rgba(140,86,172,.16);border-radius:1rem;background:#fff}
.contact-order-icon{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:.9rem;background:#f0e7f5;color:var(--kk-brand);font-size:1.3rem}
.contact-order-support h2{font-size:1.05rem;font-weight:800;margin:0 0 .35rem}
.contact-order-support p{margin:0;color:#706675;line-height:1.55}
.contact-prepare{padding:1.1rem 0}
.contact-prepare ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;padding:0;margin:0}
.contact-prepare li{display:flex;align-items:flex-start;gap:.55rem;padding:.8rem;border-radius:.8rem;background:#fff}
.contact-prepare li i{color:#198754;margin-top:.1rem}
.contact-company{padding:1rem 0;border-top:1px solid #e8e1eb}
.contact-company-name{font-size:1.05rem;font-weight:850;margin-bottom:.5rem}
.contact-company>div:not(.contact-company-name){display:grid;grid-template-columns:minmax(100px,150px) 1fr;gap:.75rem;padding:.4rem 0}
.contact-company span{color:#756b7a}
.contact-company strong{font-weight:650}
.contact-privacy-note{margin-top:1rem;border-radius:.9rem}
@media(max-width:575.98px){
  .contact-hero{align-items:flex-start;padding:1.1rem}
  .contact-hero-icon{width:50px;height:50px;flex-basis:50px}
  .contact-facts{grid-template-columns:1fr}
  .contact-order-support{align-items:flex-start;flex-wrap:wrap}
  .contact-order-support .btn{width:100%}
  .contact-prepare ul{grid-template-columns:1fr}
  .contact-company>div:not(.contact-company-name){grid-template-columns:1fr;gap:.15rem}
}

/* KKFOODDELI_HOME_BRAND_BANNER_SCHOOL_LUNCH_PATCH_20260805 */
.kk-logo-image{overflow:hidden;background:rgba(255,255,255,.16)}
/* KKFOODDELI_HEADER_LOGO_WHITE_INVERT_HOTFIX_20260805 */
.kk-logo-image img{width:100%;height:100%;display:block;object-fit:contain;filter:brightness(0) invert(1);opacity:1}
.kk-brand-copy{min-width:0;line-height:1.15}
.kk-brand-copy strong,.kk-brand-copy .small{display:block;max-width:min(52vw,28rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-banner-carousel{overflow:hidden;border-radius:1.5rem;background:#5b2e70;box-shadow:0 .75rem 2rem rgba(45,23,59,.14)}
.home-banner-carousel .carousel-inner,.home-banner-slide{min-height:240px}
.home-banner-slide{position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}
.home-banner-image,.home-banner-gradient{position:absolute;inset:0;width:100%;height:100%}
.home-banner-image{object-fit:cover}
.home-banner-gradient{background:linear-gradient(135deg,#8c56ac,#5b2e70)}
.home-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(39,19,50,.82) 0%,rgba(39,19,50,.46) 55%,rgba(39,19,50,.12) 100%)}
.home-banner-content{position:relative;z-index:1;max-width:720px;padding:2.3rem 3.2rem 2.8rem}
.home-banner-eyebrow{display:inline-flex;padding:.32rem .68rem;margin-bottom:1rem;border-radius:999px;background:#fff;color:#241d29;font-size:.76rem;font-weight:850;line-height:1}
.home-banner-content h1{margin:0 0 .7rem;font-size:clamp(2rem,5vw,3.35rem);font-weight:900;line-height:1.08;text-shadow:0 .15rem .55rem rgba(0,0,0,.18)}
.home-banner-content p{max-width:620px;margin:0 0 1rem;font-size:clamp(.95rem,2vw,1.15rem);line-height:1.65;opacity:.9}
.home-banner-link{font-weight:800}
.home-banner-carousel .carousel-indicators{margin-bottom:.75rem}
.home-banner-carousel .carousel-control-prev,.home-banner-carousel .carousel-control-next{width:7%}
@media(max-width:767.98px){
  .home-banner-carousel,.home-banner-slide{border-radius:1.1rem}
  .home-banner-carousel .carousel-inner,.home-banner-slide{min-height:205px}
  .home-banner-content{padding:1.55rem 2.2rem 2.3rem}
  .home-banner-content h1{font-size:clamp(1.75rem,8vw,2.45rem)}
  .home-banner-overlay{background:linear-gradient(90deg,rgba(39,19,50,.83),rgba(39,19,50,.42))}
  .home-banner-carousel .carousel-control-prev,.home-banner-carousel .carousel-control-next{display:none}
}


/* KKFOODDELI_QUICK_ACCOUNT_WHATSAPP_BINDING_PATCH_20260805 */
.quick-account-auth{padding:.95rem;border:1px solid #e7dced;border-radius:1rem;background:linear-gradient(180deg,#fff 0%,#fbf8fd 100%)}
.quick-account-auth .form-control:focus{border-color:rgba(140,86,172,.65);box-shadow:0 0 0 .2rem rgba(140,86,172,.13)}
.quick-account-auth .form-text{line-height:1.45}
.quick-account-auth .alert{line-height:1.55}
@media(max-width:420px){.quick-account-auth{padding:.8rem}}

/* ==========================================================
   KKFOODDELI SCHOOL LUNCH DETAIL V1.1
   ========================================================== */

.school-lunch-product-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.35rem;
  width:100%;
  margin-top:.18rem
}

.school-lunch-product-footer .price{
  margin-top:0!important;
  min-width:0
}

.school-lunch-detail-btn{
  flex:0 0 auto;
  border:1px solid rgba(140,86,172,.45);
  border-radius:.45rem;
  padding:.18rem .42rem;
  background:#fff;
  color:var(--kk-brand);
  font-size:.68rem;
  font-weight:700;
  line-height:1.05;
  white-space:nowrap;
  cursor:pointer
}

.school-lunch-detail-btn:hover,
.school-lunch-detail-btn:focus-visible{
  background:rgba(140,86,172,.08);
  border-color:var(--kk-brand);
  color:var(--kk-brand-dark)
}

.school-lunch-detail-btn:focus-visible{
  outline:2px solid rgba(140,86,172,.28);
  outline-offset:1px
}


body.school-lunch-detail-open{
  overflow:hidden
}


.school-lunch-detail-modal[hidden]{
  display:none!important
}

.school-lunch-detail-modal{
  position:fixed;
  inset:0;
  z-index:2000;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:
    calc(1rem + var(--safe-top))
    1rem
    calc(1rem + var(--safe-bottom));

  background:rgba(24,16,29,.62);

  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px)
}


.school-lunch-detail-dialog{
  position:relative;

  width:min(92vw,430px);
  max-height:min(84vh,720px);

  overflow:auto;

  border-radius:1.15rem;

  background:#fff;

  color:var(--kk-text);

  box-shadow:
    0 1.2rem 3.4rem
    rgba(20,10,27,.3);

  cursor:pointer;

  -webkit-overflow-scrolling:touch
}


.school-lunch-detail-close{
  position:absolute;
  top:.55rem;
  right:.55rem;
  z-index:2;

  width:2rem;
  height:2rem;

  display:grid;
  place-items:center;

  border:0;
  border-radius:50%;

  background:rgba(255,255,255,.94);

  color:#2a202f;

  font-size:1.35rem;
  line-height:1;

  box-shadow:0 .2rem .7rem rgba(0,0,0,.15)
}


.school-lunch-detail-image{
  width:100%;
  aspect-ratio:4/3;

  overflow:hidden;

  border-radius:
    1.15rem
    1.15rem
    0
    0;

  background:#ece6f0
}

.school-lunch-detail-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover
}


.school-lunch-detail-copy{
  padding:1.1rem 1.15rem
}


.school-lunch-detail-title{
  margin:0;

  font-size:1.25rem;
  font-weight:800;
  line-height:1.3
}


.school-lunch-detail-variant{
  margin-top:.32rem;

  color:#756b7b;

  font-size:.86rem
}


.school-lunch-detail-price{
  margin-top:.65rem;

  color:var(--kk-brand);

  font-size:1.08rem;
  font-weight:800
}


.school-lunch-detail-section-title{
  margin-top:1rem;

  font-size:.8rem;
  font-weight:800;

  color:#665b6c
}


.school-lunch-detail-description-full{
  margin-top:.35rem;

  font-size:.95rem;
  line-height:1.65;

  white-space:pre-line;

  overflow-wrap:anywhere
}


.school-lunch-detail-close-hint{
  padding:
    .75rem
    1rem
    .9rem;

  border-top:
    1px solid
    rgba(140,86,172,.12);

  color:#786e7d;

  font-size:.75rem;
  text-align:center
}


@media(max-width:575.98px){

  .school-lunch-product-footer{
    gap:.12rem;
    margin-top:.1rem
  }

  .school-lunch-detail-btn{
    padding:.11rem .22rem;

    border-radius:.32rem;

    font-size:.53rem;
    line-height:1
  }

  .school-lunch-product-footer .price{
    font-size:.62rem!important
  }

  .school-lunch-detail-modal{
    padding:
      calc(.65rem + var(--safe-top))
      .65rem
      calc(.65rem + var(--safe-bottom))
  }

  .school-lunch-detail-dialog{
    width:min(94vw,430px);
    max-height:88vh
  }

  .school-lunch-detail-copy{
    padding:.9rem
  }

  .school-lunch-detail-title{
    font-size:1.12rem
  }

}

/* KKFOODDELI SCHOOL LUNCH DETAIL V1.2.1 */

.school-lunch-detail-summary{
  margin-top:.35rem;
  color:#554b5b;
  font-size:.94rem;
  line-height:1.6;
  white-space:pre-line;
  overflow-wrap:anywhere
}

.school-lunch-detail-description-full{
  white-space:pre-line;
}

.school-lunch-detail-empty{
  margin-top:1rem;
  color:#817685
}

/* ==========================================================
   KKFOODDELI SCHOOL LUNCH V1.3A ADD-ONS + FREE DRINK
   ========================================================== */
.school-lunch-customizer{
  border:1px solid rgba(140,86,172,.18);
  border-radius:.9rem;
  padding:.9rem;
  background:#fbf9fc
}
.school-lunch-customizer-title{
  margin-bottom:.7rem;
  font-weight:800;
  color:var(--kk-brand)
}
.school-lunch-addon-group+.school-lunch-addon-group{margin-top:.9rem}
.school-lunch-addon-option{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-height:2.55rem;
  padding:.48rem .6rem;
  margin-top:.35rem;
  border:1px solid rgba(140,86,172,.13);
  border-radius:.65rem;
  background:#fff;
  cursor:pointer
}
.school-lunch-addon-option input{flex:0 0 auto}
.school-lunch-addon-option span{flex:1 1 auto;min-width:0}
.school-lunch-addon-option strong{flex:0 0 auto;color:var(--kk-brand);font-size:.88rem}
.school-lunch-complimentary{
  margin-top:1rem;
  padding:.8rem;
  border:1px solid rgba(25,135,84,.22);
  border-radius:.75rem;
  background:rgba(25,135,84,.055)
}
.school-lunch-complimentary small{line-height:1.35}
.school-lunch-day-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:.9rem;
  padding-top:.75rem;
  border-top:1px dashed rgba(140,86,172,.24)
}
.school-lunch-cart-addon-list{line-height:1.45}
@media(max-width:575.98px){
  .school-lunch-customizer{padding:.72rem}
  .school-lunch-addon-option{padding:.45rem .5rem}
}

/* KKFOODDELI SCHOOL LUNCH SIDE DISH UI V1.3A.2 */
.school-lunch-customizer{
  border:1px solid rgba(13,110,253,.22);
  border-radius:1rem;
  background:#fff;
  padding:1rem;
  box-shadow:0 .35rem 1.1rem rgba(25,33,45,.07)
}
.school-lunch-customizer-head{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding-bottom:.85rem;
  margin-bottom:.85rem;
  border-bottom:1px solid rgba(0,0,0,.08)
}
.school-lunch-step-badge{
  display:inline-flex;
  width:2rem;
  height:2rem;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:var(--bs-primary,#0d6efd);
  color:#fff;
  font-weight:700
}
.school-lunch-no-addons{
  padding:.8rem .9rem;
  margin-bottom:.85rem;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:.75rem;
  color:#6c757d;
  font-size:.9rem
}
.school-lunch-complimentary{
  margin-top:1rem;
}
@media (max-width:575.98px){
  .school-lunch-customizer{padding:.8rem;border-radius:.85rem}
  .school-lunch-customizer-head{gap:.6rem}
}

