/* Product, basket and checkout share the storefront's square, warm surfaces. */
.kof-icon { display:inline-block; width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
.kof-coverage-note { margin:12px 0; font-size:13px; color:#75665a; }
.kof-coverage-status { padding:12px 16px; border-inline-start:3px solid var(--kof-red); background:#fff0e4; margin-block:12px; font-size:14px; }
.kof-coverage-status.is-covered { border-color:#46734e; background:#eef6ef; color:#315939; }
.kof-map-modal { z-index:1090; }
body:has(.kof-map-modal.show) .navbar-iphone { visibility:hidden; }
.kof-map-modal .modal-header .btn-close { margin:0 auto 0 0; }
.kof-map-modal .modal-content { border-radius:0; border:1px solid var(--kof-line); }
.kof-map-modal h2 { font-size:22px; margin:0; }
.kof-map-modal .modal-body > p { font-size:14px; }
.kof-map-search { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.kof-map-search input { flex:1; min-width:160px; border-radius:0; }
.kof-map-search button { min-height:44px; padding:8px 14px; }
.kof-map-locate { border:1px solid #ddcaba; background:#fff0e4; color:var(--kof-ink); font-size:13px; }
.kof-map-modal #map.kof-map-canvas { height:min(420px,45vh); min-height:250px; background:#f4efe9; }
.kof-map-status { margin:12px 0 0; font-size:14px; color:#315939; }
.kof-map-status.is-error { color:var(--kof-red); }
.kof-map-modal button:disabled { opacity:.45; cursor:not-allowed; }
.kof-pickup-map-link { display:flex; align-items:center; gap:12px; padding:22px; background:#fff0e4; color:var(--kof-red); }
.kof-faq-page { background:var(--kof-cream); padding:35px 0 70px; }
.kof-faq-page .kof-faq-list { max-width:900px; margin:auto; }
.kof-faq-page .accordion-item { background:#fff; border:1px solid var(--kof-line); border-radius:0; margin-bottom:12px; }
.kof-faq-page .kof-faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:right; padding:22px; border:0; background:#fff; color:var(--kof-ink); font:500 16px/1.8 'IBM Plex Sans Arabic',sans-serif; }
.kof-faq-question::after { content:'+'; font:24px/1 sans-serif; color:var(--kof-red); }
.kof-faq-question[aria-expanded=true]::after { content:'−'; }
.kof-faq-page .accordion-body { padding:0 22px 22px; color:#6b5c50; font-size:15px; line-height:2; }
.kof-add,.kof-add > span:not(.spinner-border),.kof-continue-menu,.kof-source-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.kof-add .kof-icon { width:20px; height:20px; }
.kof-delivery-card .kof-button { margin-top:auto; align-self:stretch; min-height:50px; border-radius:0; }
header .navbar .kof-account-button { align-items:center; justify-content:center; gap:10px; }
header .navbar .kof-account-button .kof-icon { margin:0; width:19px; height:19px; }
/* Keep the desktop logo and navigation compact in both scroll states. */
@media (min-width:992px) {
    header .navbar.nav-ce2 { height:84px; min-height:84px; padding-block:0; }
    header .navbar.nav-ce2 > .container { height:100%; }
    header .navbar.nav-ce2 .navbar-brand { display:flex; align-items:center; padding:0 !important; }
    header .navbar.nav-ce2 .navbar-brand img { height:60px; max-height:60px; width:auto; max-width:100px; padding:0 !important; object-fit:contain; }
    header .navbar.nav-ce2 .navbar-brand .default-logo { display:block; visibility:visible; opacity:1; }
    header .navbar.nav-ce2 .navbar-brand :is(.alt-logo,.mobile-logo) { display:none; }
    header.sticky.sticky-active .navbar.nav-ce2 .navbar-brand .default-logo { display:none; }
    header.sticky.sticky-active .navbar.nav-ce2 .navbar-brand .alt-logo { display:block; visibility:visible; opacity:1; width:auto; }
    header .navbar.nav-ce2 .navbar-nav .nav-link { padding-block:18px; }
}
/* Policy uses the same red, cream and warm ink as the storefront. */
.khouzama-policy-page { background:var(--kof-cream); }
.khouzama-policy-hero { background:linear-gradient(120deg,#891a25,var(--kof-red)); border-color:var(--kof-red); border-radius:0; box-shadow:none; }
.khouzama-policy-kicker,.khouzama-policy-badge i { color:#ffd9bb; }
.khouzama-policy-kicker::before { background:#ffd9bb; }
.khouzama-policy-badge { border-radius:0; }
.khouzama-policy-summary,.khouzama-policy-card,.khouzama-policy-contact { border-color:var(--kof-line); border-radius:0; box-shadow:none; }
.khouzama-policy-summary h2,.khouzama-policy-card h2,.khouzama-policy-contact h2 { color:var(--kof-ink); }
.khouzama-policy-summary li::before { background:var(--kof-red); border-radius:0; }
.khouzama-policy-number { color:var(--kof-red); background:#fff0e4; border-radius:0; }
.khouzama-policy-contact { background:#fff0e4; }
.khouzama-policy-contact .kof-button { flex-shrink:0; }
.kof-footer-contacts { display:grid; gap:10px; margin-top:14px; }
.kof-footer-contact { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; color:#514538; font:400 14px/1.5 'IBM Plex Sans Arabic',sans-serif; }
.kof-footer-contact > span:last-child { overflow-wrap:anywhere; }
.kof-contact-icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; background:#fff0e4; color:var(--kof-red); border:1px solid #edd6c6; transition:background .2s,color .2s; }
.kof-footer-contact:hover .kof-contact-icon { color:#fff; background:var(--kof-red); border-color:var(--kof-red); }
body:has(.kof-commerce) { background:var(--kof-cream); }
body .kof-commerce { margin-top:145px; padding-top:32px; padding-bottom:70px; color:var(--kof-ink); font-family:'IBM Plex Sans Arabic',sans-serif; font-size:14px; line-height:1.8; }
.kof-commerce :is(button,input,select,textarea,.btn,.card,.badge,.form-control,.form-select) { border-radius:0 !important; box-shadow:none; }
.kof-commerce :is(button,a,input,select,summary):focus-visible,.kof-footer-contact:focus-visible { outline:2px solid var(--kof-red); outline-offset:3px; }
.kof-commerce button:disabled { cursor:not-allowed; opacity:.4; }
.kof-commerce :is(h1,h2,h3,h4,h5) { color:var(--kof-ink); margin:0; }
.kof-commerce .kof-eyebrow { margin-bottom:8px; }
.kof-commerce-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.kof-commerce-heading p { color:#837462; margin:8px 0 0; font-size:14px; }
.kof-commerce .kof-text-link { gap:16px; white-space:nowrap; }
.kof-order-steps { padding:0 0 24px; margin:0 0 28px; display:flex; gap:0; list-style:none; border-bottom:1px solid var(--kof-line); }
.kof-order-steps li { display:flex; align-items:center; gap:12px; flex:1; color:#9b8e7e; font-size:13px; }
.kof-order-steps li > a { display:flex; align-items:center; gap:12px; color:inherit; }
.kof-order-steps li > span,.kof-order-steps a > span { width:32px; height:32px; display:grid; place-items:center; border:1px solid #d9cdbd; font-size:12px; }
.kof-order-steps li[aria-current] { color:var(--kof-red); }
.kof-order-steps li[aria-current] > span { background:var(--kof-red); border-color:var(--kof-red); color:#fff; }
.kof-order-steps .is-complete { color:#68734c; }
.kof-order-steps .is-complete .kof-icon { width:17px; height:17px; }
.kof-surface { border:1px solid var(--kof-line); background:#fff; padding:28px; }
.kof-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
body .kof-commerce .kof-panel-heading h2,body .kof-commerce .kof-options legend { font-size:21px; line-height:1.5; }
.kof-panel-heading > span,.kof-options legend span { color:#9c7960; font:400 12px/1.5 'IBM Plex Sans Arabic',sans-serif; }
.kof-commerce-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:52px; padding:13px 22px; border:1px solid var(--kof-red); background:var(--kof-red); color:#fff !important; font:500 14px/1.6 'IBM Plex Sans Arabic',sans-serif; text-align:center; text-decoration:none; transition:background .2s; }
.kof-commerce-button:hover { background:#951824; border-color:#951824; }
.kof-commerce-button > span:not(.spinner-border) { display:flex; align-items:center; justify-content:center; width:100%; gap:14px; }
.kof-commerce-button .kof-icon { width:20px; height:20px; }
.kof-quantity { display:flex; direction:ltr; align-items:center; width:max-content; height:48px; background:#fff; border:1px solid #dfd3c3; flex-shrink:0; }
.kof-quantity button { padding:0; margin:0; width:42px; height:100%; color:#4e3d2e; background:transparent; border:0; font:400 21px/1 sans-serif; }
.kof-quantity button:hover:not(:disabled) { background:#f5eadc; color:var(--kof-red); }
.kof-commerce .kof-quantity input { width:42px; min-width:0; padding:0; height:100%; margin:0; text-align:center; border:0; background:transparent; font:500 15px/1.5 'IBM Plex Sans Arabic',sans-serif; color:#30271f; }
.kof-quantity-small { height:38px; }
.kof-quantity-small button,.kof-commerce .kof-quantity-small input { width:32px; }
.kof-offer { display:inline-block; color:#4c6e44; background:#f0f5ea; padding:3px 8px; font-size:11px; line-height:1.8; }
.kof-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:12px; color:#91806f; margin-bottom:24px; }
.kof-breadcrumb a { color:#7f6149; }
.kof-breadcrumb > span:last-child { color:var(--kof-red); }
.kof-detail-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:0; background:#fff; border:1px solid var(--kof-line); align-items:start; }
.kof-detail-gallery { min-width:0; padding:24px; position:sticky; top:150px; }
.kof-detail-photo { position:relative; background:#f3f1e5; aspect-ratio:1/1; }
.kof-detail-photo > a { display:block; height:100%; }
.kof-detail-photo img { width:100%; height:100%; object-fit:contain; }
.kof-detail-calories { position:absolute; right:16px; bottom:16px; background:#fffdf6ef; border:1px solid #eee3d2; color:#7e674f; font-size:11px; padding:5px 10px; }
.kof-photo-placeholder { height:100%; display:flex; gap:20px; flex-direction:column; align-items:center; justify-content:center; color:#a8947c; }
.kof-photo-placeholder .kof-icon { width:64px; height:64px; }
.kof-photo-thumbs { display:flex; gap:10px; margin-top:12px; overflow-x:auto; padding:3px; }
.kof-photo-thumbs button { padding:0; background:none; border:1px solid var(--kof-line); width:64px; height:64px; flex:0 0 64px; }
.kof-photo-thumbs img { width:100%; height:100%; object-fit:cover; }
.kof-photo-thumbs button[aria-pressed=true] { border-color:var(--kof-red); outline:1px solid var(--kof-red); }
.kof-gallery-caption { font-size:12px; color:#a0876b; margin:18px 0 0; text-align:center; }
.kof-detail-info { min-width:0; padding:38px; border-inline-start:1px solid #eee4d7; }
.kof-detail-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.kof-detail-heading h1 { line-height:1.6; }
.kof-favorite { width:44px; height:44px; flex-shrink:0; display:grid; place-items:center; border:1px solid var(--kof-line); background:#fff; color:#8c7966; }
.kof-favorite[aria-pressed=true] { color:var(--kof-red); background:#fff0eb; }
.kof-favorite[aria-pressed=true] svg { fill:currentColor; }
.kof-detail-price { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:18px 0 24px; }
.kof-detail-price strong { color:var(--kof-red); font-size:29px; font-weight:600; }
.kof-detail-price small { font-size:13px; font-weight:400; }
.kof-detail-price del { font-size:13px; color:#9d8f80; }
.kof-detail-description { color:#806f5c; font-size:14px; line-height:2; margin-bottom:24px; }
.kof-detail-description p:last-child { margin-bottom:0; }
.kof-promotion-note { color:#996035; background:#fff2e1; padding:9px 12px; font-size:12px; }
.kof-ingredients { padding:16px 0; border-top:1px solid var(--kof-line); font-size:13px; }
.kof-ingredients summary { color:#5a4431; cursor:pointer; }
.kof-ingredients > div { padding-top:12px; color:#7f705e; line-height:2; }
.kof-commerce .kof-options { padding:22px 0 0; margin:0 0 20px; border:0; border-top:1px solid var(--kof-line); }
.kof-options .kof-panel-heading { margin-bottom:12px; }
.kof-options legend { float:none; width:100%; display:flex; justify-content:space-between; align-items:center; padding:0; margin-bottom:12px; font-family:'Thmanyah Serif Display',serif; }
.kof-option-row { display:flex; align-items:center; gap:12px; padding:12px; margin:8px 0 0; border:1px solid #e8dfd3; cursor:pointer; font-weight:400; font-size:14px; }
.kof-option-row:has(input:checked),.kof-extra-row:has(input:checked) { background:#fff7ef; border-color:#c69b7c; }
.kof-option-row > span { flex:1; }
.kof-option-row > small { color:#9c7251; font-size:12px; white-space:nowrap; }
.kof-commerce input:is([type=checkbox],[type=radio]) { accent-color:var(--kof-red); width:18px; height:18px; margin:0; padding:0; flex-shrink:0; cursor:pointer; }
.kof-extra-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; margin-top:8px; border:1px solid #e8dfd3; }
.kof-extra-label { display:flex; align-items:center; gap:10px; margin:0; cursor:pointer; font-weight:400; }
.kof-extra-label small { display:block; color:#9c7251; font-size:11px; }
.kof-purchase-panel { border-top:1px solid var(--kof-line); margin-top:28px; padding-top:22px; }
.kof-purchase-total { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; color:#8c7967; font-size:13px; }
.kof-purchase-total strong { color:#3b2e22; font-size:24px; font-weight:600; }
.kof-purchase-total strong small { font-size:12px; }
.kof-purchase-actions { display:flex; gap:12px; }
.kof-purchase-actions .kof-quantity { height:52px; }
.kof-add-product { flex:1; padding-inline:14px; }
.kof-add-product .kof-icon:last-child { margin-inline-start:auto; }
.kof-continue-menu { display:block; text-align:center; margin-top:18px; color:#927456; font-size:12px; }
.kof-related { padding-top:60px; }
.kof-cart-layout,.kof-checkout-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:28px; align-items:start; }
.kof-cart-items { background:#fff; border:1px solid var(--kof-line); }
.kof-cart-items > .kof-panel-heading { padding:24px; margin:0; border-bottom:1px solid var(--kof-line); }
.kof-cart-item { padding:24px; display:grid; grid-template-columns:112px minmax(0,1fr) 32px; column-gap:20px; row-gap:16px; border-bottom:1px solid var(--kof-line); }
.kof-cart-item:last-child { border-bottom:0; }
.kof-cart-photo { grid-row:span 2; align-self:start; background:#f4eee4; }
.kof-cart-photo img { width:112px; height:112px; object-fit:cover; }
.kof-cart-category { display:block; font-size:11px; color:#a48b6f; }
body .kof-cart-item h2 { font-size:20px; line-height:1.6; margin:4px 0 8px; }
.kof-cart-item h2 a { color:var(--kof-ink); }
.kof-unit-price { display:block; color:#8b7b69; font-size:12px; }
.kof-cart-extras { margin:8px 0 0; padding:0; list-style:none; font-size:12px; color:#7c6b58; }
.kof-cart-extras span { color:#a18263; }
.kof-remove-item { align-self:start; border:0; padding:5px; background:transparent; color:#b0a18f; }
.kof-remove-item:hover { color:var(--kof-red); }
.kof-cart-item-bottom { grid-column:2 / -1; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.kof-line-total { color:#4b3524; font-size:22px; font-weight:600; white-space:nowrap; }
.kof-line-total small { font-size:12px; font-weight:400; }
.kof-cart-summary { position:sticky; top:155px; border-top:3px solid var(--kof-red); }
.kof-totals { margin:0; }
.kof-totals > div { display:flex; justify-content:space-between; align-items:start; gap:14px; padding:10px 0; }
.kof-totals dt { font-weight:400; color:#84715e; font-size:13px; }
.kof-totals dd { margin:0; font-weight:500; font-size:14px; color:#4c3928; text-align:left; }
.kof-totals small { display:block; font-size:11px; font-weight:400; color:#a38b73; margin-top:3px; }
.kof-totals dd.kof-muted { font-size:11px; font-weight:400; color:#a08a73; }
.kof-totals .kof-grand-total { border-top:1px solid var(--kof-line); margin-top:16px; padding:20px 0; align-items:center; }
.kof-grand-total dt { font-size:17px; color:#4c3928; }
.kof-grand-total dd { font-size:27px; color:var(--kof-red); line-height:1.2; }
.kof-grand-total dd small { display:inline; color:var(--kof-red); }
.kof-cart-checkout { width:100%; justify-content:space-between; }
.kof-summary-note { margin:16px 0 0; text-align:center; color:#9b856e; font-size:12px; }
.kof-summary-note .kof-icon { width:15px; height:15px; margin-inline-end:5px; }
.kof-empty-cart { padding:64px 20px; text-align:center; background:#fff; border:1px solid var(--kof-line); }
.kof-empty-symbol { display:grid; place-items:center; background:#faf0e4; width:88px; height:88px; margin:0 auto 26px; color:#b88456; }
.kof-empty-symbol .kof-icon { width:42px; height:42px; }
.kof-empty-cart h2 { font-size:29px; }
.kof-empty-cart p { max-width:400px; margin:16px auto 24px; color:#8c7862; }
.kof-checkout-details > div > .kof-surface,.kof-checkout-details > .kof-surface { margin-bottom:20px; }
.kof-checkout-page .checkout-tab-buttons { display:flex; gap:10px; }
.kof-checkout-page .tab-btn { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; background:#faf6ef; border:1px solid #e5dbcc; color:#80654c; padding:14px 10px; font-size:13px; }
.kof-checkout-page .tab-btn.active { background:var(--kof-red); border-color:var(--kof-red); color:#fff; }
.kof-checkout-page .delivery-method-icon { display:inline-block; width:23px; height:23px; background:currentColor; -webkit-mask:var(--delivery-icon) center/contain no-repeat; mask:var(--delivery-icon) center/contain no-repeat; }
.kof-checkout-page .tab-btn:hover:not(.active) { background:#fff0e3; border-color:#caaa8b; }
.kof-branch-choices { display:grid; gap:10px; margin-bottom:22px; }
.kof-branch-choice { display:flex; align-items:center; gap:12px; padding:14px 16px; margin:0; border:1px solid #e7ddcf; cursor:pointer; color:#80664d; font-size:14px; }
.kof-branch-choice > span { flex:1; }
.kof-branch-choice small { display:block; font-size:11px; color:#97806b; margin-top:4px; }
.kof-branch-choice > svg { opacity:0; width:18px; }
.kof-branch-choice:has(input:checked) { background:#fff7ef; border-color:#b98c69; color:#583b25; }
.kof-branch-choice:has(input:checked) > svg { opacity:1; color:var(--kof-red); }
.kof-checkout-page label { font-weight:400; font-size:13px; color:#725b46; }
.kof-checkout-page :is(input.form-control,select.form-select) { min-height:48px; height:auto; width:100%; background:#fdfbf7; border:1px solid #e2d5c6; color:#503b29; padding:10px 12px; font-size:14px; margin:6px 0 0; }
.kof-checkout-page input[type=datetime-local] { direction:ltr; }
.kof-checkout-page input::placeholder { color:#ac9b89; font-size:12px; }
.kof-checkout-page :is(input,select):focus { border-color:#b98c69; box-shadow:none; }
.kof-pickup-info { margin-top:24px; border-top:1px solid #eee4d7; padding-top:20px; }
.kof-pickup-info #branchMap { height:210px; margin-bottom:16px; }
.kof-branch-details p { display:flex; align-items:center; gap:10px; margin:9px 0; color:#8d755e; font-size:12px; }
.kof-branch-details .kof-icon { width:17px; height:17px; color:#ac805b; }
.kof-branch-details .kof-text-link { margin-top:10px; font-size:12px; }
.kof-checkout-summary { border-top:3px solid var(--kof-red); }
.kof-checkout-item { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:12px; align-items:start; padding:17px 0; border-bottom:1px solid #eee4d7; }
.kof-checkout-item > img { width:58px; height:58px; object-fit:cover; background:#f5eee5; }
body .kof-checkout-item h3 { font-size:17px; line-height:1.6; margin:0 0 6px; }
.kof-checkout-item > strong { font-size:16px; color:#5d402a; font-weight:500; text-align:left; }
.kof-checkout-item > strong small { display:block; font-size:10px; font-weight:400; color:#9e8067; }
.kof-checkout-item .kof-unit-price { font-size:11px; }
.kof-checkout-extras { grid-column:2/-1; padding:0; margin:0; list-style:none; font-size:11px; color:#987c61; }
.kof-checkout-extras li { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.kof-coupon { margin:22px 0 16px; }
.kof-coupon-field { display:flex; margin-top:8px; }
.kof-checkout-page .kof-coupon input { flex:1; min-width:0; width:100%; padding:10px 12px; margin:0; border:1px solid #dfd2c0; min-height:46px; background:#fdfbf7; font-size:13px; }
.kof-coupon-button { min-width:75px; background:#f3e4d2; color:#775537; border:1px solid #dfd2c0; border-right:0; padding:8px 14px; font-size:13px; }
.kof-coupon-button:hover { background:#e8ceb0; }
.kof-coupon-success { font-size:12px; color:#527647; margin:10px 0 0; }
.kof-coupon-success svg { width:16px; }
.kof-payment { border-top:1px solid var(--kof-line); padding-top:18px; }
.kof-payment > p { font-size:12px; color:#907861; display:flex; align-items:center; justify-content:center; gap:8px; margin:0 0 12px; }
.kof-payment > p svg { width:15px; height:15px; }
.kof-payment-logos { width:260px; max-width:100%; display:block; margin:0 auto 20px; }
.kof-pay-button { width:100%; }
.kof-pay-button > span > span { margin-inline-start:auto; white-space:nowrap; }
.kof-discount-line dd { color:#527647; }
.kof-checkout-page .checkout-address-options { display:grid; gap:10px; margin-top:8px; }
.kof-checkout-page .checkout-address-card { display:block; position:relative; padding:0; margin:0; border:1px solid #e2d5c6; background:#fff; }
.kof-checkout-page .checkout-address-card-body { display:block; min-height:80px; padding:14px 42px 14px 74px; cursor:pointer; }
.kof-checkout-page .checkout-address-card:has(input:checked) { background:#fff7ef; border-color:#bc916d; }
.kof-checkout-page .checkout-address-card .checkmark-radio { top:18px; }
.kof-checkout-page .checkout-address-title { display:block; font-size:13px; color:#62472f; }
.kof-checkout-page .checkout-address-meta { display:block; font-size:11px; color:#a0856b; }
.kof-checkout-page .checkout-address-action { position:absolute; left:10px; top:18px; padding:6px 12px; color:#946240; border:1px solid #ddc3a9; background:#fff; font-size:12px; }
.kof-checkout-page .checkout-address-action:hover { background:#f3e5d4; }
.kof-checkout-page :is(.checkout-address-save,.checkout-address-cancel) { position:static; }
.kof-checkout-page .checkout-address-save { background:var(--kof-red); border-color:var(--kof-red); color:#fff; }
.kof-checkout-page .btn-khz-map { display:flex; justify-content:center; align-items:center; gap:8px; border:1px solid #d6b593; color:#916039; background:#fbefdf; min-height:48px; padding:10px; font-size:13px; margin-top:6px; }
.kof-checkout-page :is(.delivery-location-alert,.delivery-location-summary) { padding:12px 14px; color:#937650; background:#fff9ec; border:1px solid #ead9b9; font-size:11px; line-height:1.9; margin-top:12px; }
.kof-checkout-page .delivery-schedule-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 0; padding:14px; border:1px solid #e2d5c6; background:#fbf8f2; }
.kof-checkout-page .delivery-schedule-toggle .form-check-input { margin:0; }
.kof-checkout-page .invalid-feedback { font-size:12px; margin-top:7px; }
.kof-platform-choice h2 { font-size:22px; }
.kof-platform-choice p { color:#9d8066; font-size:13px; margin:12px 0 20px; }
@media (max-width:1199px) {
    .kof-detail-info { padding:26px; }
    .kof-cart-layout,.kof-checkout-layout { gap:20px; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
    .kof-surface { padding:22px; }
    .kof-cart-item { padding:20px; grid-template-columns:88px minmax(0,1fr) 28px; gap:14px; }
    .kof-cart-photo img { width:88px; height:88px; }
    .kof-purchase-actions { flex-wrap:wrap; }
    .kof-add-product { min-width:190px; }
}
@media (max-width:991px) {
    body .kof-commerce { margin-top:120px; padding-bottom:90px; }
    .kof-detail-grid { grid-template-columns:minmax(0,1fr); }
    .kof-detail-gallery { position:static; padding:20px; }
    .kof-detail-photo { aspect-ratio:4/3; }
    .kof-detail-info { border-inline-start:0; border-top:1px solid var(--kof-line); }
    .kof-cart-layout,.kof-checkout-layout { grid-template-columns:minmax(0,1fr); }
    .kof-cart-summary { position:static; }
    .kof-checkout-summary { margin-top:0; }
    .kof-cart-photo img { width:112px; height:112px; }
    .kof-cart-item { grid-template-columns:112px minmax(0,1fr) 32px; }
}
@media (max-width:767px) {
    body .kof-commerce { margin-top:76px; padding-top:24px; padding-inline:16px; }
    .kof-commerce-heading { align-items:start; flex-direction:column; gap:16px; margin-bottom:24px; }
    .kof-commerce-heading p { font-size:12px; }
    .kof-commerce-heading .kof-text-link { font-size:12px; }
    .kof-order-steps { margin-bottom:20px; padding-bottom:20px; }
    .kof-order-steps li { gap:7px; font-size:10px; }
    .kof-order-steps li > a { gap:7px; }
    .kof-order-steps li > span,.kof-order-steps a > span { width:24px; height:24px; font-size:10px; }
    .kof-detail-info { padding:22px 18px; }
    .kof-detail-gallery { padding:12px; }
    .kof-detail-photo { aspect-ratio:1/1; }
    .kof-gallery-caption { margin:12px 0 2px; font-size:11px; }
    .kof-detail-price { margin:14px 0 18px; }
    .kof-detail-description { font-size:13px; }
    .kof-breadcrumb { font-size:10px; gap:8px; margin-bottom:18px; }
    .kof-detail-calories { font-size:10px; bottom:10px; right:10px; }
    .kof-favorite { width:36px; height:36px; }
    .kof-favorite svg { width:18px; height:18px; }
    .kof-extra-row { padding:10px; gap:8px; }
    .kof-extra-label { font-size:12px; }
    .kof-purchase-actions .kof-quantity { height:44px; }
    .kof-purchase-actions { gap:10px; }
    .kof-add-product { flex-basis:100%; min-height:50px; }
    .kof-purchase-total strong { font-size:22px; }
    .kof-related { padding-top:40px; }
    .kof-surface { padding:20px; }
    .kof-panel-heading { margin-bottom:18px; }
    body .kof-commerce .kof-panel-heading h2 { font-size:20px; }
    .kof-cart-item { grid-template-columns:76px minmax(0,1fr) 26px; gap:12px; padding:18px; }
    .kof-cart-photo { grid-row:1; }
    .kof-cart-photo img { width:76px; height:80px; }
    body .kof-cart-item h2 { font-size:18px; margin:2px 0 4px; }
    .kof-cart-category,.kof-unit-price { font-size:10px; }
    .kof-cart-item-bottom { grid-column:1/-1; padding-top:12px; border-top:1px solid #f1e8dc; }
    .kof-cart-items > .kof-panel-heading { padding:18px; }
    .kof-line-total { font-size:22px; }
    .kof-checkout-item { grid-template-columns:48px minmax(0,1fr) auto; gap:10px; }
    .kof-checkout-item > img { width:48px; height:48px; }
    body .kof-checkout-item h3 { font-size:17px; }
    .kof-checkout-page .tab-btn { flex-direction:column; gap:7px; padding:12px 6px; font-size:11px; }
    .kof-totals .kof-grand-total dd { font-size:25px; }
    .kof-empty-cart { padding:44px 22px; }
    .kof-empty-cart p { font-size:13px; }
    .kof-checkout-page .kof-checkout-extras { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) {
    .kof-commerce *, .kof-contact-icon { transition:none !important; scroll-behavior:auto !important; }
}

/* Keep the quantity and order action together above the mobile navigation. */
body:has(.kof-product-page) { padding-bottom:calc(var(--kof-purchase-height,90px) + var(--kof-bottom-nav-height,0px)); }
.kof-purchase-dock { position:fixed; inset-inline:0; bottom:var(--kof-bottom-nav-height,0px); z-index:1040; padding:16px 24px; background:#fff; border-top:1px solid var(--kof-line); box-shadow:0 -8px 24px #5033200c; }
.kof-purchase-dock-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; width:100%; max-width:1190px; margin:auto; }
.kof-purchase-dock .kof-purchase-total { display:block; margin:0; min-width:170px; }
.kof-purchase-dock .kof-purchase-total > span { display:block; font-size:11px; }
.kof-purchase-dock .kof-purchase-total strong { display:block; font-size:23px; }
.kof-purchase-dock .kof-purchase-actions { flex:1; max-width:560px; flex-wrap:nowrap; align-items:center; }
.kof-purchase-dock .kof-add-product { min-width:0; flex:1 1 auto; }
body.modal-open .kof-purchase-dock { visibility:hidden; }
body .navbar-iphone a:not(.active) img { opacity:1 !important; filter:brightness(0) saturate(100%) invert(30%) sepia(8%) saturate(555%) hue-rotate(349deg) brightness(91%) contrast(88%) !important; }
@media(max-width:767px) {
    .kof-purchase-dock { padding:10px 16px 12px; bottom:var(--kof-bottom-nav-height,85px); }
    .kof-purchase-dock-inner { display:block; }
    .kof-purchase-dock .kof-purchase-total { display:flex; align-items:center; margin-bottom:8px; min-width:0; }
    .kof-purchase-dock .kof-purchase-total strong { font-size:20px; }
    .kof-purchase-dock .kof-purchase-actions { max-width:none; gap:10px; }
    .kof-purchase-dock .kof-quantity { height:48px; }
    .kof-purchase-dock .kof-quantity button,.kof-purchase-dock .kof-quantity input { width:34px; }
    .kof-purchase-dock .kof-add-product { min-height:48px; font-size:13px; padding:10px 12px; }
    .kof-purchase-dock .kof-add-product > span { gap:9px; }
    .kof-purchase-dock .kof-add-product .kof-icon { width:18px; }
}
