@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&display=swap');

:root{
  --keif-cream:#FBF8EE;
  --keif-yellow:#FDE57F;
  --keif-line:#FFF5C7;
  --keif-red:#FF0000;
  --keif-black:#000000;
  --keif-white:#FFFFFF;
  --keif-check-icon:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/check.png');
  --keif-x-icon:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/menu-x.png');
  --keif-cart-icon:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/cart.png');
  --keif-close-icon:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/cart-drawer-close.png');
  --keif-arrow-icon:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/arrow.png');
}

.keif-menu-wrapper,
.keif-menu-wrapper *,
.keif-cart-icon,
.keif-cart-icon *,
.keif-cart-drawer,
.keif-cart-drawer *,
.keif-checkout-summary-card,
.keif-checkout-summary-card *{box-sizing:border-box}

.keif-menu-wrapper{display:grid;grid-template-columns:249px minmax(0,1fr);gap:58px;width:100%;font-family:'Bricolage Grotesque',Arial,sans-serif;color:var(--keif-black)}
.keif-section-tabs{display:flex;flex-direction:column;gap:22px;padding-top:4px;align-items:stretch}
.keif-section-tab{appearance:none;width:249px;min-height:40px;border:1px solid var(--keif-black);border-radius:60px;background:transparent;color:var(--keif-black);font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:15px;font-weight:600;line-height:20px;text-align:left;padding:10px 30px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;white-space:normal}
.keif-section-tab.is-active,.keif-section-tab:hover{background:var(--keif-yellow);border-color:var(--keif-yellow)}
.keif-section-tab:focus-visible{outline:2px solid var(--keif-black);outline-offset:3px}
.keif-section-panels{min-width:0}
.keif-section-panel{display:none}.keif-section-panel.is-active{display:block}

.keif-menu-card{border:1px solid rgba(0,0,0,.20);border-radius:30px;background:var(--keif-cream);padding:28px 38px 28px;min-height:260px;font-family:'Bricolage Grotesque',Arial,sans-serif;overflow:hidden}
.keif-price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;color:var(--keif-black)}
.keif-price-row span{font-size:24px;font-weight:400;line-height:28px}.keif-price-row strong{font-size:30px;font-weight:800;line-height:54px;white-space:nowrap;color:var(--keif-black)}
.keif-items-list{width:100%}
.keif-menu-item-row{display:flex!important;align-items:center;justify-content:space-between;gap:22px;width:100%;border-bottom:1px solid var(--keif-yellow);padding:9px 0;margin:0!important;color:var(--keif-black);font-size:clamp(15px,1.1vw,24px);font-weight:400;line-height:1.25;cursor:pointer}
.keif-menu-item-row span{display:block;min-width:0}.keif-menu-item-row:hover span{text-decoration:none}
.keif-menu-checkbox{appearance:none;-webkit-appearance:none;width:14px!important;height:14px!important;min-width:14px!important;border:2px solid var(--keif-black);border-radius:4px;background:transparent;background-position:center;background-repeat:no-repeat;background-size:14px 14px;cursor:pointer;flex:0 0 14px;margin:0!important}
.keif-menu-checkbox:checked{border-color:transparent;background-image:var(--keif-check-icon)}
.keif-menu-checkbox:focus-visible{outline:2px solid var(--keif-black);outline-offset:3px}
.keif-item-heading{font-size:clamp(19px,1.35vw,30px)!important;font-weight:800!important;line-height:1.15!important;margin:24px 0 7px!important;color:var(--keif-black)!important}
.keif-card-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-top:48px}.keif-card-footer p{margin:0;color:var(--keif-black);font-size:clamp(13px,.9vw,17px);font-weight:400;line-height:1.4}.keif-add-action{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.keif-add-status{min-height:18px;color:#087a1d;font-size:14px;font-weight:700;opacity:0;transition:.18s ease}.keif-add-status.is-visible{opacity:1}
.keif-add-to-cart-btn,.keif-checkout-btn{appearance:none;background:var(--keif-red)!important;color:var(--keif-white)!important;border:none!important;border-radius:30px!important;min-width:155px!important;height:53px!important;padding:0 24px!important;font-family:'Bricolage Grotesque',Arial,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:19.5px!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:22px!important;cursor:pointer!important;transition:opacity .18s ease,transform .18s ease!important}
.keif-add-to-cart-btn:hover,.keif-checkout-btn:hover{transform:translateY(-1px)}.keif-add-to-cart-btn[disabled]{opacity:.65;cursor:not-allowed!important}.keif-add-to-cart-btn span:last-child,.keif-checkout-btn span:last-child{display:inline-block;width:18px;height:18px;overflow:hidden;text-indent:-999px;background-image:var(--keif-arrow-icon);background-position:center;background-repeat:no-repeat;background-size:contain;flex:0 0 18px}.keif-alert,.keif-empty-cart{font-family:'Bricolage Grotesque',Arial,sans-serif;padding:16px;border:1px solid rgba(0,0,0,.15);background:var(--keif-cream);border-radius:12px;color:#000}

.keif-cart-icon{position:relative;width:54px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,0,0,.55);border-radius:3px;background:transparent;cursor:pointer;padding:0}.keif-cart-symbol{display:block;width:22px;height:22px;background-image:var(--keif-cart-icon);background-repeat:no-repeat;background-size:contain;background-position:center}.keif-cart-count{display:none;position:absolute;right:7px;top:6px;width:18px;height:18px;border-radius:50%;background:#7b1111;color:#fff;font-size:10px;line-height:18px;align-items:center;justify-content:center;font-weight:700}.keif-cart-count.has-items{display:flex}
body.keif-drawer-open{overflow:hidden}.keif-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:99998}.keif-cart-drawer{position:fixed;right:0;top:0;bottom:0;width:min(560px,100vw);background:var(--keif-black);color:var(--keif-white);border-radius:30px 0 0 30px;padding:62px 56px 52px;z-index:99999;transform:translateX(104%);transition:transform .28s ease;overflow:auto;font-family:'Bricolage Grotesque',Arial,sans-serif}.keif-cart-drawer.is-open{transform:translateX(0)}.keif-cart-close{position:absolute;right:34px;top:34px;width:20px;height:20px;border:0!important;background:transparent!important;background-image:var(--keif-close-icon)!important;background-repeat:no-repeat!important;background-size:contain!important;background-position:center!important;color:transparent!important;font-size:0!important;line-height:0!important;cursor:pointer;padding:0!important}.keif-cart-drawer h2{font-size:48px;line-height:54px;font-weight:700;margin:0 0 42px;color:var(--keif-white)}.keif-cart-drawer h3{font-size:30px;line-height:54px;font-weight:700;margin:0;color:var(--keif-white)}.keif-divider{height:1px;background:var(--keif-line);margin:10px 0 24px}.keif-cart-menu-list{width:100%}.keif-cart-menu h4{font-size:24px;line-height:30px;font-weight:700;margin:0;color:var(--keif-white);padding:0 0 22px;border-bottom:1px solid rgba(255,245,199,.8)}.keif-cart-section-title,.keif-cart-item{display:flex;align-items:center;color:var(--keif-white);border-bottom:1px solid rgba(255,245,199,.8)}.keif-cart-section-title{gap:14px;padding:14px 0;font-size:18px;line-height:30px;font-weight:600;text-transform:uppercase}.keif-cart-item{gap:16px;padding:14px 0 14px 32px;font-size:16px;line-height:30px;font-weight:600}.keif-remove-cart-item,.keif-remove-section{appearance:none;background:transparent!important;border:0!important;width:14px;height:14px;min-width:14px;padding:0!important;margin:0!important;background-image:var(--keif-x-icon)!important;background-position:center!important;background-repeat:no-repeat!important;background-size:14px 14px!important;color:transparent!important;font-size:0!important;line-height:0!important;cursor:pointer}.keif-cart-total-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:72px 0 88px}.keif-cart-total-value{display:block;color:var(--keif-white);font-size:30px;line-height:36px;font-weight:700}.keif-cart-total-row span:not(.keif-cart-total-value){font-size:18px;line-height:19.5px;color:var(--keif-white);opacity:.78}.keif-checkout-btn.is-disabled{opacity:.45;pointer-events:none}.keif-important-note{text-align:center;margin-top:auto}.keif-important-note h3{font-size:24px;line-height:1.2;font-weight:700;margin:0 0 22px;color:var(--keif-white)}.keif-important-note p{font-size:17px;line-height:25.5px;font-weight:400;margin:0;color:var(--keif-white)}

.keif-checkout-summary-card{background:#FFF6D6;color:var(--keif-black);border-radius:22px;padding:42px 34px;max-width:360px;width:100%;font-family:'Bricolage Grotesque',Arial,sans-serif}.keif-checkout-summary-card h2{font-size:34px;line-height:1;margin:0 0 28px;color:var(--keif-black);font-weight:800}.keif-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;font-size:13px;margin-bottom:48px}.keif-detail-grid strong{text-align:right;font-weight:700}.keif-checkout-summary-card h3{font-size:24px;line-height:1.1;margin:0 0 12px;color:var(--keif-black);font-weight:800}.keif-summary-line{height:1px;background:rgba(0,0,0,.38);margin-bottom:22px}.keif-checkout-summary-card .keif-cart-menu h4{color:var(--keif-black);font-size:17px;border-color:rgba(0,0,0,.45)}.keif-checkout-summary-card .keif-cart-section-title,.keif-checkout-summary-card .keif-cart-item{color:var(--keif-black);border-color:rgba(0,0,0,.45);font-size:12px;line-height:1.3}.keif-checkout-summary-card .keif-empty-cart{background:transparent;border:0;padding:0}.keif-summary-estimate{margin-top:22px;font-weight:800}.keif-summary-important{margin-top:92px;text-align:center}.keif-summary-important h3{font-size:18px}.keif-summary-important p{font-size:12px;line-height:1.45;margin:0;color:var(--keif-black)}

@media (max-width:1024px){.keif-menu-wrapper{grid-template-columns:220px minmax(0,1fr);gap:28px}.keif-section-tab{width:220px}.keif-price-row strong{font-size:24px}.keif-price-row span{font-size:20px}.keif-cart-drawer{width:min(520px,100vw);padding:54px 44px 44px}.keif-cart-drawer h2{font-size:42px}}
@media (max-width:767px){.keif-menu-wrapper{grid-template-columns:1fr;gap:22px}.keif-section-tabs{flex-direction:column;overflow:visible;gap:20px;width:100%}.keif-section-tab{width:100%;min-height:40px;font-size:15px}.keif-menu-card{border-radius:24px;padding:24px 18px}.keif-price-row{align-items:flex-start}.keif-price-row strong{font-size:22px;line-height:1.2}.keif-price-row span{font-size:20px}.keif-card-footer{flex-direction:column;align-items:flex-start;margin-top:36px}.keif-add-action{align-self:flex-end}.keif-cart-drawer{right:0;left:0;top:0;bottom:0;width:auto;border-radius:0;padding:52px 30px 40px}.keif-cart-drawer h2{font-size:40px;line-height:46px}.keif-cart-drawer h3{font-size:26px;line-height:38px}.keif-cart-total-row{margin:56px 0 70px}.keif-checkout-summary-card{max-width:none;padding:34px 24px}.keif-detail-grid{font-size:12px}}


/* Mobile section dropdown tabs */
.keif-mobile-section-select{
  display:none;
  appearance:none;
  width:100%;
  min-height:56px;
  border:0;
  border-radius:60px;
  background:var(--keif-yellow);
  color:var(--keif-black);
  padding:10px 34px 10px 38px;
  font-family:'Bricolage Grotesque',Arial,sans-serif;
  font-size:20px;
  line-height:1;
  font-weight:700;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  text-align:left;
}
.keif-mobile-section-caret{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
  transition:transform .2s ease;
}
.keif-menu-wrapper.is-mobile-dropdown-open .keif-mobile-section-caret{
  transform:rotate(180deg);
}

@media (max-width:1024px){
  .keif-menu-wrapper{
    display:block;
  }
  .keif-mobile-section-select{
    display:flex;
    margin:0 0 28px;
  }
  .keif-section-tabs{
    display:none;
    position:relative;
    z-index:5;
    width:100%;
    background:var(--keif-cream);
    border:1px solid rgba(0,0,0,.16);
    border-radius:22px;
    padding:14px;
    margin:-14px 0 22px;
    box-shadow:0 18px 35px rgba(0,0,0,.08);
    gap:10px;
  }
  .keif-menu-wrapper.is-mobile-dropdown-open .keif-section-tabs{
    display:flex;
  }
  .keif-section-tab{
    justify-content:flex-start;
    text-align:left;
    width:100%;
    min-height:46px;
    border-radius:40px;
    padding:10px 24px;
    font-size:16px;
    border:1px solid #000;
  }
  .keif-section-tab.is-active{
    background:var(--keif-yellow);
    border-color:var(--keif-yellow);
  }
  .keif-section-panels{
    width:100%;
  }
}


/* v1.0.7: Tablet/mobile dropdown must stay hidden on desktop */
.keif-menu-wrapper > .keif-mobile-section-select{
  display:none!important;
}
@media (min-width:1025px){
  .keif-menu-wrapper > .keif-mobile-section-select{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    position:absolute!important;
  }
  .keif-menu-wrapper > .keif-section-tabs{
    display:flex!important;
    position:static!important;
    width:auto!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding-top:4px!important;
    margin:0!important;
    box-shadow:none!important;
  }
  .keif-menu-wrapper.is-mobile-dropdown-open > .keif-section-tabs{
    display:flex!important;
  }
}
@media (max-width:1024px){
  .keif-menu-wrapper > .keif-mobile-section-select{
    display:flex!important;
    visibility:visible!important;
    width:100%!important;
    height:auto!important;
    min-height:56px!important;
    pointer-events:auto!important;
    position:relative!important;
  }
}

/* v1.0.11: Client menu card styling */
.keif-section-tabs button.keif-section-tab {
    border: 1px solid #000000;
    border-radius: 60px;
    background: transparent;
    padding: 10px 30px;
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    font-family: 'Bricolage Grotesque', Arial, sans-serif;
    color: #000;
    text-align: left;
}

.keif-section-tabs button.keif-section-tab:hover,
.keif-section-tabs button.keif-section-tab.is-active {
    border: 1px solid #FDE57F;
    background: #FDE57F;
}

.keif-menu-card {
    padding: 30px;
    background: transparent;
}

.keif-menu-card .keif-items-list .keif-menu-item-row {
    border-bottom: 1px solid #FBD86E;
}

.keif-menu-card .keif-items-list .keif-menu-item-row span {
    font-size: 18px;
    line-height: 28px;
}

.keif-menu-card .keif-items-list h3.keif-item-heading {
    font-size: 24px !important;
    line-height: 28px !important;
    margin: 30px 0 10px 0 !important;
}

.keif-card-footer {
    margin-top: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

@media (max-width: 767px) {
    .keif-menu-card {
        padding: 22px 18px;
    }

    .keif-card-footer {
        margin-top: 40px;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .keif-add-action {
        align-items: stretch;
        align-self: stretch;
    }

    .keif-add-to-cart-btn {
        width: 100%;
    }

    .keif-section-tabs button.keif-section-tab {
        width: 100%;
        padding: 10px 24px;
    }
}

/* v1.0.11: Client mobile/tablet dropdown styling */
@media (max-width:1024px){
  .keif-menu-wrapper > .keif-mobile-section-select{
    display:flex!important;
    visibility:visible!important;
    width:100%!important;
    height:auto!important;
    min-height:56px!important;
    pointer-events:auto!important;
    position:relative!important;
    border:1px solid #FDE57F!important;
    border-radius:60px!important;
    background:#FDE57F!important;
    padding:10px 30px!important;
    font-weight:600!important;
    font-size:16px!important;
    line-height:20px!important;
    font-family:'Bricolage Grotesque', Arial, sans-serif!important;
    color:#000!important;
    text-align:left!important;
  }

  .keif-menu-wrapper > button.keif-mobile-section-select:hover,
  .keif-menu-wrapper > button.keif-mobile-section-select:focus{
    background:#FDE57F!important;
    color:#000!important;
  }
}

/* v1.0.11: Pixel-matched menu checkbox from Figma */
.keif-menu-card .keif-menu-item-row input[type="checkbox"].keif-menu-checkbox,
.keif-menu-checkbox{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  flex:0 0 14px!important;
  border:1px solid #000!important;
  border-radius:4px!important;
  background:transparent!important;
  background-image:none!important;
  position:relative!important;
  display:inline-block!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  outline:none;
  cursor:pointer;
}

.keif-menu-card .keif-menu-item-row input[type="checkbox"].keif-menu-checkbox:checked,
.keif-menu-checkbox:checked{
  border-color:#000!important;
  background:transparent!important;
  background-image:none!important;
}

.keif-menu-card .keif-menu-item-row input[type="checkbox"].keif-menu-checkbox:checked::after,
.keif-menu-checkbox:checked::after{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:7px;
  height:6px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='7' viewBox='0 0 8 7' fill='none'%3E%3Cpath d='M1 3.5L3 5.5L7 1' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:7px 6px;
  background-position:center;
  background-repeat:no-repeat;
  border:0!important;
  transform:none!important;
}

.keif-menu-card .keif-menu-item-row input[type="checkbox"].keif-menu-checkbox:focus-visible,
.keif-menu-checkbox:focus-visible{
  outline:2px solid #000;
  outline-offset:3px;
}

/* v1.0.12: Cart icon, drawer, image close button, and checkout summary styling */
button.keif-cart-icon,
button.keif-cart-icon:hover{
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

button.keif-cart-icon span.keif-cart-symbol{
    width:30px!important;
    height:30px!important;
    background-image:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}

button.keif-cart-icon .keif-cart-count.has-items{
    right:-5px!important;
    top:0!important;
}

.keif-cart-drawer{
    padding:40px!important;
}

button.keif-cart-close{
    display:block!important;
    position:absolute!important;
    right:34px!important;
    top:34px!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background-color:transparent!important;
    background-image:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/cart-drawer-close.png')!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:24px 24px!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    text-indent:-9999px!important;
    overflow:hidden!important;
    cursor:pointer!important;
    opacity:1!important;
}

button.keif-cart-close::before,
button.keif-cart-close::after{
    content:none!important;
    display:none!important;
}

.keif-cart-drawer h2{
    font-size:48px!important;
    line-height:54px!important;
    font-weight:700!important;
    margin:0 0 40px!important;
}

.keif-divider{
    background:#FFF5C7!important;
    margin:20px 0 0!important;
}

.keif-cart-menu h4{
    padding:20px 0 20px!important;
    border-bottom:1px solid #FFF5C7!important;
}

.keif-checkout-summary-card{
    background:#FFF6D6!important;
    color:#000!important;
    border-radius:40px!important;
    padding:60px 50px!important;
    max-width:500px!important;
    width:100%!important;
    font-family:'Bricolage Grotesque', Arial, sans-serif!important;
}

.keif-checkout-summary-card h2{
    font-size:48px!important;
    line-height:1!important;
    margin:0 0 20px!important;
}

.keif-detail-grid{
    grid-template-columns:1fr 1fr!important;
    gap:20px 20px!important;
    font-size:18px!important;
    margin-bottom:60px!important;
}

.keif-checkout-summary-card h3{
    font-size:24px!important;
    line-height:1.1!important;
    margin:0 0 20px!important;
}

.keif-summary-line{
    height:1px!important;
    background:#000!important;
    margin-bottom:0px!important;
}

.keif-checkout-summary-card .keif-cart-menu h4{
    color:var(--keif-black)!important;
    font-size:24px!important;
    border-bottom:1px solid #000!important;
    padding:20px 0 20px!important;
}

.keif-checkout-summary-card .keif-cart-section-title{
    font-size:18px!important;
    font-weight:600!important;
    line-height:18px!important;
    padding:20px 0!important;
}

.keif-cart-section-title{
    gap:10px!important;
}

.keif-cart-section-title .keif-remove-section{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
}

.keif-checkout-summary-card .keif-cart-item{
    font-size:16px!important;
    padding:10px 0 10px 32px!important;
    font-weight:400!important;
    gap:10px!important;
}

.keif-summary-important{
    margin-top:100px!important;
    text-align:left!important;
}

.keif-summary-important p{
    font-size:17px!important;
    line-height:1.45!important;
    margin:0!important;
    color:var(--keif-black)!important;
}

.keif-checkout-summary-card .keif-remove-section,
.keif-checkout-summary-card .keif-cart-item button.keif-remove-cart-item{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    background-image:url('https://koretechxdemo.link/Keifcatering/wp-content/uploads/2026/06/proicons_cancel.png')!important;
    background-size:18px 18px!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
}

@media (max-width:767px){
    .keif-cart-drawer{
        padding:40px 28px!important;
		width:100% !important;
    }

    .keif-checkout-summary-card{
        max-width:none!important;
        padding:42px 28px!important;
        border-radius:32px!important;
    }

    .keif-checkout-summary-card h2{
        font-size:40px!important;
    }

    .keif-detail-grid{
        font-size:15px!important;
        margin-bottom:42px!important;
    }
}


/* v1.0.17: Keep desktop section tabs stretched */
@media (min-width:1025px){
  .keif-section-tabs{
    align-items:stretch!important;
  }
}

/* Item-level per-person add-on pricing */
.keif-menu-item-row .keif-menu-item-name{
    flex:1 1 auto;
}
.keif-menu-item-row .keif-menu-item-price,
.keif-cart-item .keif-cart-item-price,
.keif-cart-section-title .keif-cart-section-price{
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:700!important;
    opacity:.82;
    white-space:nowrap;
    margin-left:auto;
}
.keif-cart-item .keif-cart-item-price{
    color:inherit;
}
.keif-cart-section-title .keif-cart-section-price{
    text-transform:none;
}
@media (max-width:767px){
    .keif-menu-item-row .keif-menu-item-price,
    .keif-cart-item .keif-cart-item-price,
    .keif-cart-section-title .keif-cart-section-price{
        font-size:12px!important;
        white-space:normal;
    }
}

.keif-menu-item-row.is-disabled{opacity:.45;cursor:not-allowed;}
.keif-menu-item-row.is-disabled .keif-menu-checkbox{cursor:not-allowed;}

/* v1.0.24: footer minimum note and Bon Appétit package/course rules */
.keif-footer-minimum-note{
    border-left:1px solid rgba(0,0,0,.65);
    padding-left:42px;
    margin-left:auto;
    margin-right:auto;
    min-width:220px;
    color:var(--keif-black);
    font-size:clamp(13px,.9vw,17px);
    font-weight:400;
    line-height:1.25;
}
.keif-footer-minimum-note span{display:block;}
.keif-course-limit-notice{
    margin:18px 0 0;
    padding:12px 14px;
    border-radius:12px;
    background:rgba(253,229,127,.55);
    color:var(--keif-black);
    font-size:14px;
    line-height:1.35;
    font-weight:700;
}
.keif-section-tab.is-disabled,
.keif-section-tab[disabled]{
    opacity:.45;
    cursor:not-allowed!important;
    pointer-events:none;
}
.keif-menu-wrapper[data-is-bon-appetit="1"] .keif-section-tab.is-course-locked{
    opacity:.45;
    cursor:not-allowed!important;
}
.keif-menu-wrapper[data-is-bon-appetit="1"] .keif-section-panel.is-course-locked .keif-menu-card{
    opacity:.58;
}
@media (max-width:767px){
    .keif-footer-minimum-note{
        width:100%;
        margin:0;
        padding-left:18px;
        min-width:0;
    }
}

/* v1.0.25: Bon Appétit course package is a selector only, not an add-to-cart section. */
.keif-menu-wrapper[data-is-bon-appetit="1"] .keif-section-panel[data-is-package-section="1"] .keif-add-action{
    display:none!important;
}
.keif-card-footer.keif-card-footer-no-action{
    justify-content:flex-start;
    gap:clamp(42px,9vw,160px);
}
.keif-card-footer.keif-card-footer-no-action .keif-footer-minimum-note{
    margin-left:0;
    margin-right:0;
}
@media (max-width:767px){
    .keif-card-footer.keif-card-footer-no-action{
        gap:16px;
    }
}

/* v1.0.28: common section price display */
.keif-checkout-minimum-notice{
    margin:-28px 0 34px;
    padding:10px 12px;
    border-radius:10px;
    background:rgba(255,255,255,.55);
    color:var(--keif-black);
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}
.keif-checkout-minimum-notice.is-error{
    background:rgba(255,0,0,.08);
    color:#c40000;
}


/* v1.0.32: Event location autocomplete/current-location inline icon */
.keif-location-field-wrap{
  position:relative;
  display:block;
}
.keif-location-field-wrap > input,
.keif-location-field-wrap > textarea,
.keif-location-field-wrap > select{
  padding-right:56px !important;
}
.keif-current-location-btn{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease, background-color .2s ease;
}
.keif-current-location-btn--inline{
  position:absolute;
  top:50%;
  right:12px;
  width:36px;
  height:36px;
  margin:0;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-50%);
  color:inherit;
  z-index:3;
}
.keif-current-location-btn--inline:hover{
  background:rgba(255,255,255,.08);
}
.keif-current-location-btn--inline:focus{
  outline:none;
}
.keif-current-location-btn--inline:focus-visible{
  box-shadow:0 0 0 2px rgba(255,255,255,.18), 0 0 0 4px rgba(0,0,0,.25);
}
.keif-current-location-btn:disabled,
.keif-current-location-btn.is-loading{
  opacity:.65;
  cursor:wait;
}
.keif-current-location-icon{
  width:22px;
  height:22px;
  display:block;
  fill:currentColor;
}
.keif-current-location-btn.is-loading .keif-current-location-icon{
  animation:keifLocationSpin 1s linear infinite;
}
.keif-screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
@keyframes keifLocationSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}
.pac-container{
  z-index:999999!important;
}


/* v1.0.35: inline location icon visual refinements */
.keif-location-field-wrap{
  width:100% !important;
}
.keif-current-location-btn,
.keif-current-location-btn--inline{
  color:#dcad2b !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.keif-current-location-btn:hover,
.keif-current-location-btn--inline:hover,
.keif-current-location-btn:focus,
.keif-current-location-btn--inline:focus{
  background:transparent !important;
}
.keif-current-location-icon{
  width:30px !important;
  height:30px !important;
  fill:#dcad2b !important;
}


/* v1.0.36: Geoapify autocomplete suggestions and location error */
.keif-location-feedback{
  display:block;
  width:100%;
  margin:6px 0 0;
  font-size:12px;
  line-height:1.35;
}
.keif-location-feedback[hidden]{
  display:none !important;
}
.keif-location-feedback.is-error{
  color:#ff3b5c !important;
}
.keif-location-feedback.is-info{
  color:#dcad2b !important;
}
.keif-location-has-error{
  border-color:#ff3b5c !important;
}
.keif-geoapify-suggestions{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:999999;
  background:#111;
  border:1px solid rgba(220,173,43,.45);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(0,0,0,.35);
}
.keif-geoapify-suggestion{
  width:100%;
  display:block;
  text-align:left;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#111;
  color:#fff;
  padding:11px 14px;
  font-size:13px;
  line-height:1.35;
  cursor:pointer;
}
.keif-geoapify-suggestion:hover,
.keif-geoapify-suggestion:focus{
  background:#1f1f1f;
  color:#dcad2b;
  outline:none;
}
.keif-geoapify-suggestion:last-child{
  border-bottom:0;
}


/* v1.0.37: improved Geoapify suggestion UI and service-area error */
.keif-geoapify-suggestions{
  display:block !important;
  width:100% !important;
  max-height:260px;
  overflow-y:auto;
  padding:6px !important;
  background:#050505 !important;
  border:1px solid rgba(220,173,43,.65) !important;
  border-radius:14px !important;
  box-shadow:0 16px 38px rgba(0,0,0,.45) !important;
}
.keif-geoapify-suggestion{
  width:100% !important;
  max-width:100% !important;
  display:block !important;
  box-sizing:border-box !important;
  margin:0 0 5px !important;
  padding:12px 14px !important;
  border:1px solid rgba(220,173,43,.18) !important;
  border-radius:10px !important;
  background:#0b0b0b !important;
  color:#fff !important;
  text-align:left !important;
  white-space:normal !important;
  word-break:normal !important;
  font-size:14px !important;
  line-height:1.35 !important;
  cursor:pointer !important;
}
.keif-geoapify-suggestion:hover,
.keif-geoapify-suggestion:focus{
  background:rgba(220,173,43,.12) !important;
  color:#dcad2b !important;
  border-color:rgba(220,173,43,.55) !important;
}
.keif-geoapify-suggestion:last-child{
  margin-bottom:0 !important;
}
.keif-location-feedback.is-error{
  color:#ff3b5c !important;
  margin-top:7px !important;
  font-size:13px !important;
  font-weight:500 !important;
}


/* v1.0.39: final cost note below checkout estimated total */
.keif-final-cost-note{
  margin:8px 0 28px !important;
  color:#ff0000 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}


/* v1.0.41: Box Lunch sandwich descriptions */
.keif-menu-item-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.keif-menu-item-name{
  display:block !important;
}
.keif-menu-item-description{
  display:block !important;
  max-width:720px !important;
  color:rgba(0,0,0,.72) !important;
  font-size:clamp(12px,.9vw,15px) !important;
  line-height:1.35 !important;
  font-style:normal !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.keif-cart-item .keif-menu-item-description,
.keif-cart-section .keif-menu-item-description{
  display:none !important;
}


.keif-menu-item-note {
    padding: 6px 0 10px 14px;
    font-size: 15px;
    line-height: 1.55;
    color: #111;
    position: relative;
}
.keif-menu-item-note::before {
    content: "•";
    color: #ff0000;
    font-weight: 900;
    position: absolute;
    left: 0;
}
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-item-heading,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-item-heading {
    margin-top: 22px;
}
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-menu-item-row:first-of-type,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-item-row:first-of-type {
    font-weight: 800;
    font-size: 22px;
}




/* Wedding Packages custom package-card layout */
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-menu-card.keif-wedding-package-card,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-card.keif-wedding-package-card {
    border-width: 1px 1px 1px 6px;
    border-color: #ff0000;
    border-style: solid;
    border-radius: 20px;
    padding: 44px 48px 40px;
    background: #fff9df;
    min-height: 420px;
}
.keif-wedding-package-card-top {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: flex-start;
    margin-bottom: 46px;
}
.keif-wedding-package-title {
    margin: 0 0 18px;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.12;
    font-weight: 900;
    letter-spacing: 4px;
    color: #000;
}
.keif-wedding-package-intro {
    margin: 0;
    font-size: 18px;
    line-height: 1.55;
    color: #000;
}
.keif-wedding-package-price {
    width: 124px;
    height: 124px;
    border-radius: 50%;
    background: #ff0000;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 124px;
    text-align: center;
}
.keif-wedding-package-price strong {
    font-size: 32px;
    line-height: 1;
    font-weight: 900;
}
.keif-wedding-package-price span {
    font-size: 14px;
    font-weight: 700;
    margin-top: 4px;
}
.keif-wedding-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px;
    margin-bottom: 46px;
}
.keif-wedding-package-group h3 {
    margin: 0 0 18px;
    font-size: 21px;
    font-weight: 900;
    color: #000;
}
.keif-wedding-package-detail {
    position: relative;
    padding-left: 16px;
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.45;
    color: #000;
}
.keif-wedding-package-detail::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff0000;
    position: absolute;
    left: 0;
    top: .72em;
}
.keif-wedding-package-action {
    margin-top: 20px;
}
.keif-wedding-package-checkout-btn {
    border: 0 !important;
    border-radius: 999px !important;
    background: #ff0000 !important;
    color: #fff !important;
    font-weight: 800 !important;
    padding: 15px 28px !important;
    min-width: 180px;
    display: inline-flex !important;
    gap: 16px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
}
.keif-wedding-package-checkout-btn:hover,
.keif-wedding-package-checkout-btn:focus {
    background: #e60000 !important;
    color: #fff !important;
}
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-card-footer,
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-price-row,
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] input[type="checkbox"],
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-card-footer,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-price-row,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] input[type="checkbox"] {
    display: none !important;
}
@media (max-width: 900px) {
    .keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-menu-card.keif-wedding-package-card,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-card.keif-wedding-package-card {
        padding: 28px 24px;
    }
    .keif-wedding-package-card-top {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .keif-wedding-package-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}


.keif-cart-package-details {
    margin: 8px 0 12px 34px;
    padding: 10px 12px;
    border-left: 2px solid rgba(0,0,0,.22);
    font-size: 13px;
    line-height: 1.5;
}
.keif-cart-package-details p {
    margin: 0 0 8px;
}
.keif-cart-package-details strong {
    display: block;
    margin: 8px 0 3px;
    font-weight: 800;
}
.keif-cart-package-details ul {
    margin: 0 0 6px 18px;
    padding: 0;
}
.keif-cart-package-details li {
    margin: 2px 0;
}


.keif-wedding-package-title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.keif-wedding-package-title-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
}
.keif-wedding-package-title-icon svg {
    display: block;
    width: 36px;
    height: 36px;
}


.keif-cart-package-details--wedding {
    margin: 10px 0 14px 34px;
    padding: 12px 0 0;
    border-left: 0;
    font-size: 14px;
    line-height: 1.55;
}
.keif-cart-package-details--wedding .keif-cart-package-intro {
    margin-bottom: 10px;
    color: #111;
}
.keif-cart-package-details--wedding .keif-cart-package-group {
    margin: 10px 0;
}
.keif-cart-package-details--wedding .keif-cart-package-group strong {
    display: block;
    margin-bottom: 5px;
    font-size: 15px;
    font-weight: 800;
    color: #000;
}
.keif-cart-package-details--wedding .keif-cart-package-group span {
    display: block;
    position: relative;
    padding-left: 14px;
    margin: 4px 0;
}
.keif-cart-package-details--wedding .keif-cart-package-group span::before {
    content: "•";
    color: #ff0000;
    position: absolute;
    left: 0;
    font-weight: 900;
}


/* v1.0.59 - Wedding Packages Figma merged layout */
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-menu-card.keif-wedding-package-card,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-card.keif-wedding-package-card {
    position: relative;
    border-width: 1px 1px 1px 6px !important;
    border-color: #ff0000 !important;
    border-style: solid !important;
    border-radius: 16px !important;
    padding: 36px 44px 34px !important;
    background: #fff8df !important;
    min-height: 354px;
    color: #000;
    overflow: hidden;
}

.keif-wedding-package-card-top {
    display: block !important;
    margin: 0 !important;
    padding-right: 150px;
}

.keif-wedding-package-copy {
    max-width: 760px;
}

.keif-wedding-package-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    font-size: clamp(25px, 2.4vw, 30px) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    color: #000 !important;
}

.keif-wedding-package-title-icon {
    width: 22px !important;
    height: 26px !important;
    flex: 0 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.keif-wedding-package-title-icon svg {
    width: 22px !important;
    height: 26px !important;
}

.keif-wedding-package-intro {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: #000 !important;
}

.keif-wedding-package-price {
    position: absolute !important;
    top: 28px !important;
    right: 46px !important;
    width: 108px !important;
    height: 108px !important;
    flex: 0 0 108px !important;
    border-radius: 50% !important;
    background: #ff0000 !important;
    color: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.keif-wedding-package-price strong {
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.keif-wedding-package-price span {
    margin-top: 5px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

.keif-wedding-package-grid {
    display: grid !important;
    margin: 76px 0 0 !important;
    gap: 40px !important;
}

.keif-wedding-package-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.keif-wedding-package-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.keif-wedding-package-card--platinum .keif-wedding-package-grid {
    margin-top: 64px !important;
}

.keif-wedding-package-group h3 {
    margin: 0 0 16px !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #000 !important;
}

.keif-wedding-package-detail {
    position: relative !important;
    margin: 0 0 10px !important;
    padding-left: 16px !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    color: #000 !important;
}

.keif-wedding-package-detail::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .78em !important;
    width: 5px !important;
    height: 5px !important;
    transform: translateY(-50%);
    background: #ff0000 !important;
    border-radius: 50% !important;
}

.keif-wedding-package-action {
    margin-top: 42px !important;
}

.keif-wedding-package-checkout-btn {
    min-width: 134px !important;
    height: 38px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ff0000 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.keif-wedding-package-checkout-btn:hover,
.keif-wedding-package-checkout-btn:focus {
    background: #e60000 !important;
    color: #fff !important;
}

.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-card-footer,
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-price-row,
.keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] input[type="checkbox"],
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-card-footer,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-price-row,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] input[type="checkbox"] {
    display: none !important;
}

@media (max-width: 1100px) {
    .keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-menu-card.keif-wedding-package-card,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-card.keif-wedding-package-card {
        padding: 32px 34px !important;
    }

    .keif-wedding-package-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .keif-wedding-package-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .keif-menu-wrapper[data-menu-slug="wedding-packages-menu"] .keif-menu-card.keif-wedding-package-card,
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-card.keif-wedding-package-card {
        padding: 28px 22px !important;
        min-height: 0;
        border-radius: 14px !important;
    }

    .keif-wedding-package-card-top {
        padding-right: 105px !important;
        min-height: 96px;
    }

    .keif-wedding-package-title {
        font-size: 23px !important;
    }

    .keif-wedding-package-intro {
        font-size: 14px !important;
    }

    .keif-wedding-package-price {
        top: 24px !important;
        right: 22px !important;
        width: 84px !important;
        height: 84px !important;
    }

    .keif-wedding-package-price strong {
        font-size: 24px !important;
    }

    .keif-wedding-package-price span {
        font-size: 11px !important;
    }

    .keif-wedding-package-grid,
    .keif-wedding-package-grid--3,
    .keif-wedding-package-grid--4,
    .keif-wedding-package-card--platinum .keif-wedding-package-grid {
        grid-template-columns: 1fr !important;
        margin-top: 34px !important;
        gap: 22px !important;
    }

    .keif-wedding-package-action {
        margin-top: 28px !important;
    }
}

@media (max-width: 480px) {
    .keif-wedding-package-card-top {
        padding-right: 0 !important;
        min-height: 0;
    }

    .keif-wedding-package-price {
        position: static !important;
        margin: 22px 0 0 auto !important;
    }
}


/* v1.0.64 - Easter Packages */
.keif-menu-wrapper[data-menu-slug="easter-packages-menu"] .keif-menu-card.keif-wedding-package-card {
    background: #fff8df !important;
}
.keif-easter-package-card .keif-wedding-package-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.keif-easter-package-card .keif-wedding-package-title-icon {
    width: 24px !important;
    height: 28px !important;
    flex-basis: 24px !important;
}
.keif-easter-package-card .keif-wedding-package-title-icon svg {
    width: 24px !important;
    height: 28px !important;
}
@media (max-width: 1100px) {
    .keif-easter-package-card .keif-wedding-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 767px) {
    .keif-easter-package-card .keif-wedding-package-grid {
        grid-template-columns: 1fr !important;
    }
}
