/* ========================================================================== */
/* 1) Core / storefront */
/* ========================================================================== */
:root {
    --s724-primary: #e94b24;
    --s724-primary-hover: #d8401c;
    --s724-primary-soft: rgba(233, 75, 36, .10);
    --s724-primary-ring: rgba(233, 75, 36, .22);
    --s724-bg: #f2f3f4;
    --s724-surface: #ffffff;
    --s724-surface-2: #f7f7f8;
    --s724-text: #17191c;
    --s724-muted: #6f747b;
    --s724-line: rgba(18, 22, 28, .10);
    --s724-line-strong: rgba(18, 22, 28, .16);
    --s724-header: rgba(255, 255, 255, .92);
    --s724-shadow: 0 18px 50px rgba(21, 25, 31, .08);
    --s724-shadow-sm: 0 8px 24px rgba(21, 25, 31, .07);
    --s724-radius: 8px;
    --s724-radius-lg: 14px;
    --s724-shell: 1440px;
    --s724-header-height: 76px;
    --s724-action-line-height: 1.25;
    --bs-primary: var(--s724-primary);
    --bs-primary-rgb: 233, 75, 36;
}
html[data-s724-theme="dark"] {
    --s724-bg: #111315;
    --s724-surface: #171a1e;
    --s724-surface-2: #1d2025;
    --s724-text: #f3f4f5;
    --s724-muted: #a0a5ad;
    --s724-line: rgba(255, 255, 255, .09);
    --s724-line-strong: rgba(255, 255, 255, .15);
    --s724-header: rgba(17, 19, 21, .92);
    --s724-shadow: 0 18px 55px rgba(0, 0, 0, .30);
    --s724-shadow-sm: 0 8px 28px rgba(0, 0, 0, .24);
}
html {
    scroll-behavior: smooth;
    background: var(--s724-bg);
}
body {
    margin: 0;
    overflow-x: hidden;
    color: var(--s724-text);
    background: var(--s724-bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body,
button,
input,
select,
textarea {
    font-size: 16px;
}
a {
    color: inherit;
    text-decoration: none;
}
a:hover {
    color: inherit;
}
:where(a, button, .btn, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]) {
    line-height: var(--s724-action-line-height) !important;
}
:where(a, button, .btn, [role="button"])> :where(i, svg) {
    line-height: 1 !important;
}
:where(.btn-close, .s724-modal-close, .s724-product-modal-close, .s724-icon-btn, .s724-cart-remove-action, .s724-discount-remove) {
    line-height: 1 !important;
}
img {
    max-width: 100%;
}
::selection {
    color: #fff;
    background: var(--s724-primary);
}
:focus-visible {
    outline: 3px solid var(--s724-primary-ring);
    outline-offset: 2px;
}
.s724-shell {
    width: min(100%, var(--s724-shell));
    margin-inline: auto;
    padding-inline: 28px;
}
@media (max-width: 767.98px) {
    .s724-shell {
        padding-inline: 16px;
    }
}
.btn {
    --bs-btn-border-radius: 6px;
    --bs-btn-font-weight: 700;
    min-height: 44px;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--s724-primary);
    --bs-btn-border-color: var(--s724-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--s724-primary-hover);
    --bs-btn-hover-border-color: var(--s724-primary-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--s724-primary-hover);
    --bs-btn-active-border-color: var(--s724-primary-hover);
    --bs-btn-disabled-bg: var(--s724-primary);
    --bs-btn-disabled-border-color: var(--s724-primary);
}
.btn-outline-primary {
    --bs-btn-color: var(--s724-primary);
    --bs-btn-border-color: rgba(233, 75, 36, .45);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--s724-primary);
    --bs-btn-hover-border-color: var(--s724-primary);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--s724-primary);
    --bs-btn-active-border-color: var(--s724-primary);
}
.btn-outline-secondary {
    --bs-btn-color: var(--s724-text);
    --bs-btn-border-color: var(--s724-line-strong);
    --bs-btn-hover-color: var(--s724-text);
    --bs-btn-hover-bg: var(--s724-surface-2);
    --bs-btn-hover-border-color: var(--s724-line-strong);
}
.form-control,
.form-select,
.input-group-text {
    min-height: 48px;
    color: var(--s724-text);
    background-color: var(--s724-surface-2);
    border-color: var(--s724-line);
    border-radius: 6px;
}
.form-control::placeholder {
    color: var(--s724-muted);
    opacity: .82;
}
.form-control:focus,
.form-select:focus {
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border-color: var(--s724-primary);
    box-shadow: 0 0 0 .22rem var(--s724-primary-ring);
}
.form-check-input:checked {
    background-color: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-kicker {
    display: inline-block;
    color: var(--s724-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.1;
    text-transform: uppercase;
}
.s724-kicker-light {
    color: rgba(255, 255, 255, .72);
}
/* Header */
.s724-header {
    z-index: 1035;
    min-height: var(--s724-header-height);
    background: var(--s724-header);
    border-bottom: 1px solid var(--s724-line);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: box-shadow .2s ease, background-color .2s ease;
}
.s724-header.is-scrolled {
    box-shadow: var(--s724-shadow-sm);
}
.s724-navbar {
    min-height: var(--s724-header-height);
    padding: 0;
}
.s724-platform-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    height: 66px;
    margin: 0;
    padding: 6px 0;
    color: var(--s724-text);
}
.s724-platform-brand:hover {
    color: var(--s724-text);
}
.s724-platform-copy {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.s724-platform-copy strong {
    color: var(--s724-text);
    font-size: 1.28rem;
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: 1;
    white-space: nowrap;
}
.s724-platform-copy strong span {
    color: var(--s724-primary);
}
.s724-platform-brand-offcanvas {
    height: auto;
    padding: 0;
}
.s724-nav-links {
    gap: 4px;
}
.s724-nav-links .nav-link {
    position: relative;
    padding: 11px 13px !important;
    color: var(--s724-muted);
    border-radius: 6px;
    font-size: .86rem;
    font-weight: 750;
    letter-spacing: .02em;
    text-transform: uppercase;
    transition: color .15s ease, background-color .15s ease;
}
.s724-nav-links .nav-link:hover,
.s724-nav-links .nav-link.active {
    color: var(--s724-text);
    background: var(--s724-surface-2);
}
.s724-nav-links .nav-link.active::after {
    position: absolute;
    right: 14px;
    bottom: 5px;
    left: 14px;
    height: 2px;
    content: "";
    background: var(--s724-primary);
    border-radius: 10px;
}
.s724-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.s724-header-btn,
.s724-icon-btn,
.s724-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 6px;
    font-size: .88rem;
    font-weight: 750;
    box-shadow: none;
    transition: transform .15s ease, border-color .15s ease, background-color .15s ease;
}
.s724-icon-btn {
    padding: 0;
    font-size: 1.18rem;
}
.s724-header-btn:hover,
.s724-icon-btn:hover,
.s724-cart-btn:hover {
    color: var(--s724-text);
    background: var(--s724-surface);
    border-color: var(--s724-line-strong);
    transform: translateY(-1px);
}
.s724-account-btn i {
    color: var(--s724-primary);
    font-size: 1.05rem;
}
.s724-cart-btn {
    position: relative;
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
    font-size: 1.05rem;
}
.s724-cart-btn:hover {
    color: #fff;
    background: var(--s724-primary-hover);
    border-color: var(--s724-primary-hover);
}
.s724-cart-count {
    position: absolute;
    top: -6px;
    right: -6px;
    display: grid;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    place-items: center;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line-strong);
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 850;
}
.s724-dropdown-menu {
    margin-top: 10px !important;
    padding: 6px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-dropdown-menu .dropdown-item {
    min-height: 42px;
    color: var(--s724-text);
    border-radius: 5px;
    font-size: .9rem;
}
.s724-dropdown-menu .dropdown-item:hover,
.s724-dropdown-menu .dropdown-item.active {
    color: var(--s724-text);
    background: var(--s724-surface-2);
}
.s724-offcanvas {
    width: min(86vw, 360px) !important;
    color: var(--s724-text);
    background: var(--s724-surface);
}
.s724-offcanvas-brand {
    width: 170px;
    height: 52px;
}
.s724-offcanvas-brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 1199.98px) {
    .s724-offcanvas .s724-nav-links {
        margin: 16px 0 0;
        gap: 2px;
    }
    .s724-offcanvas .s724-nav-links .nav-link {
        padding: 14px 10px !important;
        border-bottom: 1px solid var(--s724-line);
        border-radius: 0;
    }
    .s724-offcanvas .s724-nav-links .nav-link.active::after {
        top: 50%;
        right: 0;
        bottom: auto;
        left: auto;
        width: 3px;
        height: 24px;
        transform: translateY(-50%);
    }
}
@media (max-width: 575.98px) {
    :root {
        --s724-header-height: 68px;
    }
    .s724-brand {
        width: 142px;
        height: 50px;
    }
    .s724-header-actions {
        gap: 5px;
    }
    .s724-header-actions .dropdown {
        display: none;
    }
    .s724-header-btn,
    .s724-icon-btn,
    .s724-cart-btn {
        min-width: 40px;
        min-height: 40px;
        padding: 0 10px;
    }
    .s724-platform-brand {
        gap: 8px;
        height: 58px;
    }
    .s724-platform-mark {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }
    .s724-platform-mark i {
        font-size: 20px;
    }
    .s724-platform-copy strong {
        font-size: 1.12rem;
    }
}
/* Order stage */
.s724-order-stage {
    position: relative;
    min-height: min(760px, calc(100vh - var(--s724-header-height)));
    overflow: hidden;
    background: #17191c;
}
.s724-order-stage-media,
.s724-order-stage-media img,
.s724-order-stage-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.s724-order-stage-media img {
    object-fit: cover;
    transform: scale(1.015);
}
.s724-order-stage-overlay {
    background:
        linear-gradient(90deg, rgba(10, 12, 14, .82) 0%, rgba(10, 12, 14, .58) 43%, rgba(10, 12, 14, .30) 100%),
        linear-gradient(180deg, rgba(10, 12, 14, .12) 0%, rgba(10, 12, 14, .38) 100%);
}
.s724-order-stage-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(460px, 580px);
    gap: clamp(48px, 8vw, 120px);
    align-items: center;
    min-height: min(760px, calc(100vh - var(--s724-header-height)));
    padding-block: 70px;
}
.s724-restaurant-heading {
    max-width: 720px;
    color: #fff;
}
.s724-restaurant-heading h1 {
    max-width: 700px;
    margin: 12px 0 16px;
    font-size: clamp(3rem, 7vw, 6.8rem);
    font-weight: 850;
    letter-spacing: -.055em;
    line-height: .92;
    text-wrap: balance;
}
.s724-restaurant-heading p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(1.02rem, 1.5vw, 1.25rem);
    line-height: 1.6;
}
.s724-order-card {
    padding: 26px;
    color: var(--s724-text);
    background: color-mix(in srgb, var(--s724-surface) 94%, transparent);
    border: 1px solid color-mix(in srgb, var(--s724-line) 74%, transparent);
    border-radius: var(--s724-radius-lg);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .24);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.s724-order-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.s724-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 10px;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.s724-live-pill span {
    width: 7px;
    height: 7px;
    background: #9ca3af;
    border-radius: 50%;
}
.s724-live-pill.is-open span {
    background: #27b46e;
    box-shadow: 0 0 0 4px rgba(39, 180, 110, .12);
}
.s724-live-pill.is-closed span {
    background: var(--s724-primary);
    box-shadow: 0 0 0 4px var(--s724-primary-soft);
}
.s724-order-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.s724-order-type {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 24px;
    gap: 12px;
    align-items: center;
    min-height: 88px;
    padding: 14px;
    cursor: pointer;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    transition: transform .15s ease, border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.s724-order-type:hover {
    transform: translateY(-1px);
    border-color: var(--s724-line-strong);
}
.s724-order-type.is-active {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .45);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .08);
}
.s724-order-type.is-disabled {
    cursor: not-allowed;
    opacity: .5;
}
.s724-order-type input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.s724-order-type-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 7px;
    font-size: 1.25rem;
}
.s724-order-type-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.s724-order-type-copy strong {
    font-size: .95rem;
}
.s724-order-type-copy small {
    color: var(--s724-muted);
    font-size: .76rem;
}
.s724-order-type-check {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: transparent;
    border: 1px solid var(--s724-line-strong);
    border-radius: 50%;
}
.s724-order-type.is-active .s724-order-type-check {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-postal-field {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 7px 7px 7px 15px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-postal-field>i {
    color: var(--s724-primary);
    font-size: 1.15rem;
}
.s724-postal-field input {
    width: 100%;
    min-width: 0;
    height: 46px;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1rem;
    font-weight: 700;
}
.s724-postal-field input::placeholder {
    color: var(--s724-muted);
    font-weight: 550;
}
.s724-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 112px;
}
@media (max-width: 575.98px) {
    .s724-search-submit {
        width: 48px;
        min-width: 48px;
        padding: 0;
        gap: 0;
        justify-content: center;
    }
}
.s724-field-help {
    display: block;
    margin: 9px 4px 0;
    color: var(--s724-muted);
    font-size: .74rem;
}
.s724-pickup-submit {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-inline: 18px;
}
@media (max-width: 991.98px) {
    .s724-order-stage-content {
        grid-template-columns: 1fr;
        gap: 32px;
        min-height: auto;
        padding-block: 64px;
    }
    .s724-restaurant-heading {
        max-width: 600px;
    }
    .s724-restaurant-heading h1 {
        font-size: clamp(3.2rem, 10vw, 5.5rem);
    }
    .s724-order-card {
        width: min(100%, 620px);
    }
}
@media (max-width: 575.98px) {
    .s724-order-stage-overlay {
        background: linear-gradient(180deg, rgba(10, 12, 14, .52) 0%, rgba(10, 12, 14, .78) 100%);
    }
    .s724-order-stage-content {
        gap: 24px;
        padding-block: 44px;
    }
    .s724-restaurant-heading h1 {
        margin-top: 8px;
        font-size: clamp(2.6rem, 14vw, 4rem);
    }
    .s724-restaurant-heading p {
        font-size: .95rem;
    }
    .s724-order-card {
        padding: 17px;
        border-radius: 10px;
    }
    .s724-order-card-head {
        margin-bottom: 16px;
    }
    .s724-order-card-head .h4 {
        font-size: 1.12rem;
    }
    .s724-order-type-grid {
        grid-template-columns: 1fr;
    }
    .s724-order-type {
        min-height: 76px;
    }
}
/* Main sections */
.s724-main {
    background: var(--s724-bg);
}
.s724-section {
    padding: 84px 0;
}
.s724-section-soft {
    background: var(--s724-surface-2);
    border-block: 1px solid var(--s724-line);
}
.s724-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 34px;
}
.s724-section-heading h2 {
    margin: 8px 0 0;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 820;
    letter-spacing: -.045em;
    line-height: 1;
}
.s724-section-heading>p {
    max-width: 530px;
    margin: 0;
    color: var(--s724-muted);
    line-height: 1.7;
}
.s724-panel {
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: var(--s724-radius-lg);
    box-shadow: var(--s724-shadow-sm);
}
.s724-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-panel-head>div:first-child {
    display: flex;
    align-items: center;
    gap: 12px;
}
.s724-panel-head>i,
.s724-text-link {
    color: var(--s724-muted);
}
.s724-panel-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 7px;
    font-size: 1.08rem;
}
.s724-hours-list,
.s724-zone-list {
    padding: 8px 22px 14px;
}
.s724-hours-row,
.s724-zone-row {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-hours-row:last-child,
.s724-zone-row:last-child {
    border-bottom: 0;
}
.s724-hours-row>strong {
    font-size: .9rem;
}
.s724-hours-value {
    color: var(--s724-muted);
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
}
.s724-hours-value span span {
    margin-inline: 5px;
    color: var(--s724-line-strong);
}
.s724-zone-row {
    padding-block: 12px;
}
.s724-zone-names {
    color: var(--s724-muted);
    font-size: .89rem;
    line-height: 1.55;
}
.s724-zone-names strong {
    color: var(--s724-text);
}
.s724-zone-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}
.s724-zone-price strong {
    font-size: 1.15rem;
}
.s724-zone-price small {
    color: var(--s724-muted);
    font-size: .68rem;
    font-weight: 800;
}
.s724-richtext {
    color: var(--s724-muted);
    line-height: 1.75;
}
.s724-panel>.s724-richtext {
    padding: 22px;
}
.s724-richtext> :last-child {
    margin-bottom: 0;
}
.s724-richtext a {
    color: var(--s724-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.s724-contact-list {
    display: grid;
    gap: 0;
    padding: 8px 22px 14px;
}
.s724-contact-list>div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 52px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-contact-list>div:last-child {
    border-bottom: 0;
}
.s724-contact-list i {
    color: var(--s724-primary);
}
.s724-contact-list span {
    color: var(--s724-muted);
    overflow-wrap: anywhere;
}
.s724-contact-list strong {
    color: var(--s724-text);
}
.s724-empty-state {
    display: flex;
    min-height: 240px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    color: var(--s724-muted);
}
.s724-empty-state i {
    color: var(--s724-primary);
    font-size: 1.6rem;
}
@media (max-width: 767.98px) {
    .s724-section {
        padding: 58px 0;
    }
    .s724-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 24px;
    }
    .s724-section-heading h2 {
        font-size: 2.25rem;
    }
    .s724-panel-head {
        padding: 17px;
    }
    .s724-hours-list,
    .s724-zone-list,
    .s724-contact-list {
        padding-inline: 17px;
    }
}
.s724-info-grid {
    --bs-gutter-y: 1rem;
}
.s724-panel-head .h5 {
    font-size: 1.06rem;
    font-weight: 780;
}
.s724-panel-head .s724-kicker {
    margin-bottom: 4px;
}
.s724-panel-head .s724-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
}
.s724-zone-row,
.s724-contact-list>div,
.s724-hours-row {
    font-variant-numeric: tabular-nums;
}
.s724-richtext ul,
.s724-richtext ol {
    padding-left: 1.2rem;
    margin-bottom: .75rem;
}
.s724-richtext p,
.s724-richtext li {
    margin-bottom: .48rem;
}
@media (max-width: 767.98px) {
    .s724-hours-row,
    .s724-zone-row {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        padding-block: 11px;
    }
    .s724-zone-price {
        margin-top: 2px;
    }
}
/* Benefit strip */
.s724-benefit-strip {
    position: relative;
    z-index: 2;
    padding: 20px 0;
    background: var(--s724-surface);
    border-bottom: 1px solid var(--s724-line);
}
.s724-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.s724-benefit-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 76px;
    padding: 8px 28px;
    border-right: 1px solid var(--s724-line);
}
.s724-benefit-item:first-child {
    padding-left: 0;
}
.s724-benefit-item:last-child {
    padding-right: 0;
    border-right: 0;
}
.s724-benefit-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 8px;
    font-size: 1.18rem;
}
.s724-benefit-item div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.s724-benefit-item strong {
    color: var(--s724-text);
    font-size: .92rem;
    font-weight: 800;
}
.s724-benefit-item span:not(.s724-benefit-icon) {
    color: var(--s724-muted);
    font-size: .78rem;
    line-height: 1.45;
}
@media (max-width: 991.98px) {
    .s724-benefit-grid {
        grid-template-columns: 1fr;
    }
    .s724-benefit-item,
    .s724-benefit-item:first-child,
    .s724-benefit-item:last-child {
        min-height: 68px;
        padding: 12px 0;
        border-right: 0;
        border-bottom: 1px solid var(--s724-line);
    }
    .s724-benefit-item:last-child {
        border-bottom: 0;
    }
}
/* App */
.s724-app-section {
    padding: 88px 0;
    background: var(--s724-bg);
}
.s724-app-card {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .12), transparent 28%),
        radial-gradient(circle at 63% 82%, rgba(255, 170, 120, .17), transparent 30%),
        linear-gradient(135deg, #e94b24 0%, #cf3f1c 52%, #a92f13 100%);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--s724-radius-lg);
    box-shadow: 0 32px 90px rgba(157, 45, 18, .24);
}
.s724-app-copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 650px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(42px, 6vw, 86px);
}
.s724-app-brandline {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, .82);
    font-size: .82rem;
    font-weight: 750;
    letter-spacing: .02em;
}
.s724-app-brandline strong {
    color: #fff;
}
.s724-app-brandmark {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-primary);
    background: #fff;
    border-radius: 7px;
    font-size: 1rem;
}
.s724-app-copy h2 {
    max-width: 620px;
    margin: 12px 0 18px;
    font-size: clamp(2.6rem, 5.2vw, 5.2rem);
    font-weight: 850;
    letter-spacing: -.055em;
    line-height: .92;
    text-wrap: balance;
}
.s724-app-copy>p {
    max-width: 590px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .76);
    font-size: 1.02rem;
    line-height: 1.65;
}
.s724-app-features {
    display: grid;
    max-width: 650px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 30px;
}
.s724-app-feature {
    display: flex;
    min-height: 116px;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    background: rgba(17, 19, 21, .16);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    backdrop-filter: blur(12px);
}
.s724-app-feature>i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    background: rgba(255, 255, 255, .12);
    border-radius: 7px;
    font-size: 1rem;
}
.s724-app-feature span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.s724-app-feature strong {
    color: #fff;
    font-size: .82rem;
}
.s724-app-feature small {
    color: rgba(255, 255, 255, .62);
    font-size: .7rem;
    line-height: 1.45;
}
.s724-store-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.s724-store-links a {
    display: grid;
    min-width: 202px;
    min-height: 62px;
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    gap: 10px;
    align-items: center;
    padding: 9px 13px;
    color: #fff;
    background: #111315;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    transition: transform .16s ease, background-color .16s ease, border-color .16s ease;
}
.s724-store-links a:hover {
    color: #fff;
    background: #191c20;
    border-color: rgba(255, 255, 255, .30);
    transform: translateY(-2px);
}
.s724-store-links a>i:first-child {
    font-size: 1.5rem;
}
.s724-store-links a span {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}
.s724-store-links a small {
    margin-bottom: 4px;
    color: rgba(255, 255, 255, .60);
    font-size: .64rem;
}
.s724-store-links a strong {
    font-size: .9rem;
}
.s724-store-arrow {
    color: rgba(255, 255, 255, .48);
    font-size: .86rem !important;
}
.s724-app-showcase {
    position: relative;
    display: flex;
    min-height: 650px;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    padding: 60px 40px 0;
    background:
        linear-gradient(180deg, rgba(15, 17, 19, .06), rgba(15, 17, 19, .20));
}
.s724-app-showcase::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .34;
    background-image:
        linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 75%, transparent);
}
.s724-app-glow {
    position: absolute;
    top: 30%;
    left: 50%;
    width: 520px;
    height: 520px;
    background: rgba(255, 255, 255, .15);
    border-radius: 50%;
    filter: blur(80px);
    transform: translate(-50%, -50%);
}
.s724-phone {
    position: relative;
    z-index: 2;
    width: min(390px, 88%);
    min-height: 570px;
    padding: 13px;
    color: #191b1e;
    background: #f7f7f8;
    border: 8px solid #121416;
    border-bottom: 0;
    border-radius: 38px 38px 0 0;
    box-shadow: 0 38px 70px rgba(0, 0, 0, .30);
    transform: translateY(12px) rotate(-1deg);
}
.s724-phone::before {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 82px;
    height: 20px;
    content: "";
    background: #121416;
    border-radius: 999px;
    transform: translateX(-50%);
}
.s724-phone-top {
    display: flex;
    height: 30px;
    align-items: center;
    justify-content: space-between;
    padding: 0 6px;
    font-size: .62rem;
    font-weight: 800;
}
.s724-phone-top div {
    display: flex;
    gap: 5px;
}
.s724-phone-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 4px 14px;
}
.s724-phone-restaurant {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}
.s724-phone-logo {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 8px;
    font-size: 1rem;
}
.s724-phone-restaurant div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.s724-phone-restaurant small {
    color: #8b9097;
    font-size: .58rem;
}
.s724-phone-restaurant strong {
    overflow: hidden;
    max-width: 190px;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-phone-action {
    position: relative;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    background: #fff;
    border: 1px solid rgba(18, 22, 28, .08);
    border-radius: 8px;
}
.s724-phone-action b {
    position: absolute;
    top: -5px;
    right: -5px;
    display: grid;
    width: 17px;
    height: 17px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 50%;
    font-size: .5rem;
}
.s724-phone-search {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    color: #92979d;
    background: #fff;
    border: 1px solid rgba(18, 22, 28, .08);
    border-radius: 8px;
    font-size: .65rem;
}
.s724-phone-chips {
    display: flex;
    gap: 7px;
    padding: 14px 0 12px;
}
.s724-phone-chips span {
    padding: 7px 11px;
    color: #777d84;
    background: #eceef0;
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 750;
}
.s724-phone-chips .active {
    color: #fff;
    background: var(--s724-primary);
}
.s724-phone-products {
    display: grid;
    gap: 9px;
}
.s724-phone-product {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 28px;
    gap: 10px;
    align-items: center;
    min-height: 78px;
    padding: 9px;
    background: #fff;
    border: 1px solid rgba(18, 22, 28, .07);
    border-radius: 10px;
}
.s724-product-symbol {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    color: var(--s724-primary);
    background: rgba(233, 75, 36, .09);
    border-radius: 8px;
    font-size: 1.45rem;
}
.s724-phone-product div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.s724-phone-product strong {
    font-size: .68rem;
}
.s724-phone-product small {
    margin: 2px 0 5px;
    color: #9b9fa5;
    font-size: .54rem;
}
.s724-phone-product b {
    color: var(--s724-primary);
    font-size: .65rem;
}
.s724-phone-product>i {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #fff;
    background: #17191c;
    border-radius: 7px;
    font-size: .7rem;
}
.s724-phone-orderbar {
    position: absolute;
    right: 13px;
    bottom: 14px;
    left: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 11px 10px 14px;
    color: #fff;
    background: #17191c;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}
.s724-phone-orderbar>span {
    display: flex;
    flex-direction: column;
}
.s724-phone-orderbar small {
    color: rgba(255, 255, 255, .52);
    font-size: .5rem;
}
.s724-phone-orderbar strong {
    font-size: .65rem;
}
.s724-phone-orderbar button {
    min-height: 34px;
    padding: 0 11px;
    color: #fff;
    background: var(--s724-primary);
    border: 0;
    border-radius: 7px;
    font-size: .58rem;
    font-weight: 800;
}
.s724-app-float-card {
    position: absolute;
    z-index: 3;
    display: grid;
    min-width: 190px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 11px 13px;
    color: #17191c;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .50);
    border-radius: 9px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .20);
    backdrop-filter: blur(14px);
}
.s724-app-float-card>i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-primary);
    background: rgba(233, 75, 36, .09);
    border-radius: 7px;
}
.s724-app-float-card span {
    display: flex;
    flex-direction: column;
}
.s724-app-float-card small {
    color: #92979d;
    font-size: .55rem;
}
.s724-app-float-card strong {
    font-size: .68rem;
}
.s724-app-float-card-top {
    top: 122px;
    right: 22px;
}
.s724-app-float-card-bottom {
    bottom: 95px;
    left: 12px;
}
@media (max-width: 1199.98px) {
    .s724-app-features {
        grid-template-columns: 1fr;
    }
    .s724-app-feature {
        min-height: 0;
        flex-direction: row;
        align-items: flex-start;
    }
}
@media (max-width: 991.98px) {
    .s724-app-section {
        padding: 58px 0;
    }
    .s724-app-copy {
        min-height: 0;
        padding: 46px 34px;
    }
    .s724-app-showcase {
        min-height: 590px;
        padding-top: 46px;
    }
}
@media (max-width: 575.98px) {
    .s724-app-copy {
        padding: 38px 22px;
    }
    .s724-app-copy h2 {
        font-size: clamp(2.45rem, 13vw, 3.6rem);
    }
    .s724-store-links {
        display: grid;
        grid-template-columns: 1fr;
    }
    .s724-store-links a {
        width: 100%;
        min-width: 0;
    }
    .s724-app-showcase {
        min-height: 530px;
        padding: 35px 8px 0;
    }
    .s724-phone {
        width: min(340px, 96%);
        min-height: 520px;
    }
    .s724-app-float-card {
        display: none;
    }
}
/* Footer */
.s724-footer {
    padding: 62px 0 26px;
    color: #eceff2;
    background: #101214;
    border-top: 1px solid rgba(255, 255, 255, .06);
}
.s724-platform-brand-footer {
    width: fit-content;
    height: auto;
    padding: 0;
    color: #fff;
}
.s724-platform-brand-footer .s724-platform-copy strong {
    color: #fff;
    font-size: 1.2rem;
}
.s724-platform-brand-footer:hover,
.s724-platform-brand-footer:hover .s724-platform-copy strong {
    color: #fff;
}
.s724-footer-brand p {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .54);
    font-size: .9rem;
}
.s724-social-links {
    display: flex;
    gap: 8px;
    margin-top: 22px;
}
.s724-social-links a {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 6px;
}
.s724-social-links a:hover {
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-footer-title {
    margin: 0 0 16px;
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.s724-footer-links {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.s724-footer-links a,
.s724-footer-links button {
    padding: 0;
    color: rgba(255, 255, 255, .56);
    background: transparent;
    border: 0;
    font-size: .88rem;
    text-align: left;
}
.s724-footer-links a:hover,
.s724-footer-links button:hover {
    color: #fff;
}
.s724-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 52px;
    padding-top: 22px;
    color: rgba(255, 255, 255, .38);
    border-top: 1px solid rgba(255, 255, 255, .07);
    font-size: .8rem;
}
.s724-footer-bottom a:hover {
    color: #fff;
}
@media (max-width: 767.98px) {
    .s724-footer {
        padding-top: 46px;
    }
    .s724-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 38px;
    }
}
/* Modals / forms */
.s724-modal-card {
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow);
}
.s724-modal-card .btn-close {
    opacity: .75;
}
html[data-s724-theme="dark"] .s724-modal-card .btn-close,
html[data-s724-theme="dark"] .s724-offcanvas .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}
.s724-input-group .input-group-text {
    min-width: 48px;
    justify-content: center;
    color: var(--s724-primary);
    border-right: 0;
}
.s724-input-group .form-control {
    border-left: 0;
}
.s724-form-alert {
    margin-top: 7px;
    color: #d63f20;
    font-size: .78rem;
    font-weight: 650;
}
.s724-inline-panel {
    padding: 14px;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 7px;
}
.s724-success-panel {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 18px;
    color: #167d4b;
    background: rgba(32, 170, 101, .10);
    border: 1px solid rgba(32, 170, 101, .18);
    border-radius: 8px;
}
.s724-success-panel>i {
    font-size: 1.35rem;
}
.s724-popup-media {
    max-height: 430px;
    overflow: hidden;
    background: #101214;
}
.s724-popup-media a,
.s724-popup-media picture {
    display: block;
    width: 100%;
    height: 100%;
}
.s724-popup-media img {
    display: block;
    width: 100%;
    max-height: 430px;
    object-fit: cover;
}
.s724-popup-copy {
    padding: 26px;
}
.s724-floating-close {
    padding: 11px;
    background-color: rgba(255, 255, 255, .92);
    border-radius: 50%;
    opacity: 1 !important;
}
/* Cookie */
.s724-cookie {
    position: fixed;
    z-index: 1080;
    right: 20px;
    bottom: 20px;
    left: 20px;
    display: flex;
    max-width: 1180px;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin: auto;
    padding: 18px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow);
}
.s724-cookie[hidden] {
    display: none !important;
}
.s724-cookie-copy {
    color: var(--s724-muted);
    font-size: .84rem;
    line-height: 1.55;
}
.s724-cookie-copy strong {
    display: block;
    margin-bottom: 4px;
    color: var(--s724-text);
    font-size: .9rem;
}
.s724-cookie-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}
@media (max-width: 767.98px) {
    .s724-cookie {
        right: 10px;
        bottom: 10px;
        left: 10px;
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        padding: 15px;
    }
    .s724-cookie-actions>* {
        flex: 1;
    }
}
/* Back to top / toast */
.s724-back-top {
    position: fixed;
    z-index: 1025;
    right: 18px;
    bottom: 18px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #fff;
    background: #181b1f;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 6px;
    box-shadow: var(--s724-shadow-sm);
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
}
.s724-back-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.s724-back-top:hover {
    background: var(--s724-primary);
}
.s724-toast-stack {
    position: fixed;
    z-index: 1090;
    top: calc(var(--s724-header-height) + 14px);
    right: 14px;
    display: grid;
    width: min(390px, calc(100vw - 28px));
    gap: 8px;
}
.s724-toast-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px 14px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-left: 3px solid var(--s724-primary);
    border-radius: 7px;
    box-shadow: var(--s724-shadow-sm);
    animation: s724ToastIn .2s ease both;
}
.s724-toast-item i {
    color: var(--s724-primary);
}
@keyframes s724ToastIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
/* ========================================================================
   Compact storefront refinements
   ======================================================================== */
.s724-platform-mark {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
}
.s724-platform-mark i {
    font-size: 24px;
}
.s724-platform-copy strong {
    font-size: 1.42rem;
}
.s724-order-stage {
    min-height: clamp(500px, 68vh, 620px);
}
.s724-order-stage-content {
    min-height: clamp(500px, 68vh, 620px);
    gap: clamp(28px, 5vw, 72px);
    padding-block: 42px;
}
.s724-restaurant-heading h1 {
    margin: 10px 0 12px;
    font-size: clamp(2.7rem, 5.8vw, 5.4rem);
}
.s724-restaurant-heading p {
    font-size: clamp(.95rem, 1.15vw, 1.08rem);
}
.s724-order-card {
    padding: 20px;
}
.s724-order-card-head {
    margin-bottom: 16px;
}
.s724-order-card-head h2 {
    font-size: 1.1rem !important;
}
.s724-order-type {
    min-height: 76px;
    padding: 12px;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
}
.s724-order-type-icon {
    width: 42px;
    height: 42px;
}
.s724-postal-field input {
    height: 42px;
}
.s724-benefit-strip {
    padding: 14px 0;
}
.s724-benefit-grid {
    gap: 8px;
}
.s724-benefit-item {
    min-height: 68px;
    padding: 11px 13px;
}
.s724-benefit-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
}
.s724-benefit-item strong {
    font-size: .84rem;
}
.s724-benefit-item span:not(.s724-benefit-icon) {
    font-size: .72rem;
    line-height: 1.4;
}
.s724-section {
    padding: 56px 0;
}
.s724-section-heading {
    gap: 28px;
    margin-bottom: 24px;
}
.s724-section-heading h2 {
    font-size: clamp(1.9rem, 3.1vw, 2.75rem);
}
.s724-section-heading>p {
    max-width: 480px;
    line-height: 1.55;
}
.s724-info-grid {
    --bs-gutter-x: 14px;
    --bs-gutter-y: 14px;
}
.s724-panel {
    box-shadow: 0 8px 24px rgba(20, 24, 28, .055);
}
html[data-s724-theme="dark"] .s724-panel {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}
.s724-panel-head {
    padding: 16px 18px;
}
.s724-panel-head h3 {
    font-size: 1rem;
    font-weight: 760;
}
.s724-panel-icon {
    width: 38px;
    height: 38px;
}
.s724-hours-list,
.s724-zone-list,
.s724-contact-list {
    padding: 4px 18px 10px;
}
.s724-hours-row,
.s724-zone-row {
    min-height: 48px;
}
.s724-zone-row {
    padding-block: 9px;
}
.s724-hours-row>strong,
.s724-hours-value,
.s724-zone-names,
.s724-contact-list {
    font-size: .84rem;
}
.s724-zone-price strong {
    font-size: 1rem;
}
.s724-panel>.s724-richtext {
    padding: 18px;
}
.s724-richtext {
    font-size: .88rem;
    line-height: 1.6;
}
.s724-contact-list>div {
    min-height: 44px;
}
.s724-empty-state {
    min-height: 180px;
}
.s724-app-section {
    padding: 62px 0;
}
.s724-app-copy,
.s724-app-showcase {
    min-height: 540px;
}
.s724-app-copy {
    padding: clamp(32px, 4.6vw, 58px);
}
.s724-app-brandline {
    margin-bottom: 20px;
}
.s724-app-copy h2 {
    margin: 10px 0 14px;
    font-size: clamp(2.25rem, 4.2vw, 4.2rem);
}
.s724-app-copy>p,
.s724-app-features {
    margin-bottom: 22px;
}
.s724-app-feature {
    min-height: 96px;
    padding: 14px;
}
.s724-app-showcase {
    padding: 38px 34px 0;
}
.s724-phone {
    min-height: 500px;
}
@media (max-width: 991.98px) {
    .s724-order-stage,
    .s724-order-stage-content {
        min-height: auto;
    }
    .s724-order-stage-content {
        gap: 24px;
        padding-block: 38px;
    }
    .s724-app-copy,
    .s724-app-showcase {
        min-height: 0;
    }
}
@media (max-width: 767.98px) {
    .s724-platform-mark {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }
    .s724-platform-copy strong {
        font-size: 1.18rem;
    }
    .s724-section {
        padding: 42px 0;
    }
    .s724-section-heading {
        margin-bottom: 18px;
    }
    .s724-section-heading h2 {
        font-size: 2rem;
    }
    .s724-benefit-strip {
        padding: 10px 0;
    }
}
/* ========================================================================== 
   Index mosaic / compact static refresh
   ========================================================================== */
.s724-order-stage {
    min-height: 570px;
}
.s724-order-stage-content {
    min-height: 570px;
    padding-block: 48px;
    gap: clamp(34px, 6vw, 86px);
}
.s724-restaurant-heading h1 {
    font-size: clamp(2.8rem, 5.8vw, 5.6rem);
}
.s724-order-card {
    padding: 22px;
}
.s724-order-type {
    min-height: 80px;
    padding: 12px;
}
.s724-order-type-icon {
    width: 44px;
    height: 44px;
}
.s724-benefit-strip {
    padding: 12px 0;
}
.s724-benefit-item {
    min-height: 62px;
    padding-block: 5px;
}
.s724-info-mosaic-section {
    position: relative;
    overflow: hidden;
    padding: 66px 0 72px;
    background:
        radial-gradient(circle at 9% 17%, color-mix(in srgb, var(--s724-primary) 8%, transparent), transparent 25%),
        var(--s724-bg);
}
.s724-info-mosaic-section::before {
    position: absolute;
    top: 40px;
    right: -120px;
    width: 340px;
    height: 340px;
    content: "";
    pointer-events: none;
    opacity: .55;
    background-image:
        linear-gradient(var(--s724-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--s724-line) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle, #000 15%, transparent 68%);
}
.s724-section-heading-compact {
    position: relative;
    z-index: 1;
    margin-bottom: 24px;
}
.s724-section-heading-compact h2 {
    max-width: 760px;
    font-size: clamp(2rem, 3.4vw, 3.1rem);
}
.s724-info-mosaic {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
}
.s724-mosaic-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-mosaic-visual {
    grid-column: span 5;
    min-height: 430px;
    color: #fff;
    background: #17191c;
}
.s724-mosaic-media,
.s724-mosaic-media img,
.s724-mosaic-visual-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.s724-mosaic-media {
    overflow: hidden;
}
.s724-mosaic-media img {
    top: -7%;
    height: 114%;
    object-fit: cover;
    transform: scale(1.02);
    will-change: auto;
}
.s724-mosaic-visual-shade {
    background:
        linear-gradient(180deg, rgba(12, 14, 16, .05) 12%, rgba(12, 14, 16, .2) 48%, rgba(12, 14, 16, .88) 100%),
        linear-gradient(90deg, rgba(12, 14, 16, .36), transparent 70%);
}
.s724-mosaic-visual-copy {
    position: absolute;
    right: 26px;
    bottom: 25px;
    left: 26px;
    z-index: 2;
}
.s724-mosaic-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, .72);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.s724-mosaic-visual-copy h3 {
    max-width: 430px;
    margin: 0 0 17px;
    color: #fff;
    font-size: clamp(2rem, 3.4vw, 3.65rem);
    font-weight: 850;
    letter-spacing: -.05em;
    line-height: .96;
}
.s724-mosaic-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.s724-mosaic-badges span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    color: #fff;
    background: rgba(17, 19, 21, .46);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 7px;
    font-size: .72rem;
    font-weight: 750;
    backdrop-filter: blur(10px);
}
.s724-mosaic-hours {
    grid-column: span 7;
    min-height: 430px;
    padding-bottom: 9px;
}
.s724-mosaic-head {
    display: flex;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 19px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-mosaic-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
}
.s724-mosaic-title>div {
    min-width: 0;
}
.s724-mosaic-title h3 {
    margin: 3px 0 0;
    color: var(--s724-text);
    font-size: 1.03rem;
    font-weight: 770;
    letter-spacing: -.018em;
}
.s724-mosaic-icon {
    display: grid;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 8px;
    font-size: 1rem;
}
.s724-mosaic-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--s724-muted);
    font-size: .67rem;
    font-weight: 800;
    text-transform: uppercase;
}
.s724-mosaic-status i {
    color: #9ca3af;
    font-size: .42rem;
}
.s724-mosaic-status.is-open i {
    color: #27b46e;
    filter: drop-shadow(0 0 5px rgba(39, 180, 110, .45));
}
.s724-mosaic-hours-list {
    padding: 5px 19px 8px;
}
.s724-mosaic-hours-row {
    display: grid;
    grid-template-columns: minmax(120px, .75fr) minmax(0, 1.25fr);
    min-height: 47px;
    align-items: center;
    gap: 18px;
    padding: 4px 10px;
    border-bottom: 1px solid var(--s724-line);
    border-radius: 7px;
}
.s724-mosaic-hours-row:last-child {
    border-bottom-color: transparent;
}
.s724-mosaic-hours-row.is-today {
    margin: 3px 0;
    background: var(--s724-primary-soft);
    border-bottom-color: transparent;
}
.s724-mosaic-day {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--s724-text);
    font-size: .82rem;
    font-weight: 750;
}
.s724-mosaic-day small {
    padding: 3px 6px;
    color: var(--s724-primary);
    background: var(--s724-surface);
    border-radius: 999px;
    font-size: .55rem;
    font-weight: 850;
    text-transform: uppercase;
}
.s724-mosaic-time {
    text-align: right;
    color: var(--s724-muted);
    font-size: .81rem;
    font-variant-numeric: tabular-nums;
}
.s724-mosaic-time em {
    margin-inline: 8px;
    color: var(--s724-line-strong);
    font-style: normal;
}
.s724-mosaic-minimum {
    grid-column: span 4;
    min-height: 235px;
    padding: 21px;
    color: #fff;
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 255, 255, .15), transparent 26%),
        linear-gradient(140deg, var(--s724-primary), #c83a18 62%, #9f2b12);
    border-color: transparent;
    box-shadow: 0 20px 50px rgba(180, 49, 18, .18);
}
.s724-mosaic-minimum-top {
    display: flex;
    align-items: center;
    gap: 10px;
}
.s724-mosaic-icon-invert {
    color: var(--s724-primary);
    background: #fff;
}
.s724-mosaic-amount {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 24px 0 5px;
}
.s724-mosaic-amount small,
.s724-mosaic-amount span {
    color: rgba(255, 255, 255, .68);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.s724-mosaic-amount strong {
    color: #fff;
    font-size: clamp(2.75rem, 5vw, 4.55rem);
    font-weight: 880;
    letter-spacing: -.065em;
    line-height: .9;
}
.s724-mosaic-amount-text strong {
    font-size: 2.2rem;
}
.s724-mosaic-minimum p {
    max-width: 330px;
    margin: 8px 0 18px;
    color: rgba(255, 255, 255, .72);
    font-size: .74rem;
    line-height: 1.5;
}
.s724-mosaic-mini-meta {
    display: flex;
    gap: 8px;
    margin-top: auto;
}
.s724-mosaic-mini-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, .8);
    font-size: .68rem;
    font-weight: 750;
}
.s724-mosaic-zones {
    grid-column: span 8;
    min-height: 235px;
}
.s724-mosaic-link {
    display: grid;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    place-items: center;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-mosaic-link:hover {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-mosaic-zone-list {
    position: relative;
    z-index: 2;
    padding: 4px 19px 10px;
}
.s724-mosaic-zone-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 52px;
    align-items: center;
    gap: 18px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-mosaic-zone-row:last-child {
    border-bottom: 0;
}
.s724-mosaic-zone-places {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 4px 7px;
    color: var(--s724-muted);
    font-size: .79rem;
    line-height: 1.45;
}
.s724-mosaic-zone-places span {
    white-space: nowrap;
}
.s724-mosaic-zone-places b {
    color: var(--s724-text);
}
.s724-mosaic-zone-places i {
    color: var(--s724-line-strong);
    font-style: normal;
}
.s724-mosaic-zone-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}
.s724-mosaic-zone-price small {
    color: var(--s724-muted);
    font-size: .58rem;
    font-weight: 750;
    text-transform: uppercase;
}
.s724-mosaic-zone-price strong {
    color: var(--s724-text);
    font-size: 1.04rem;
}
.s724-mosaic-zone-price span {
    color: var(--s724-muted);
    font-size: .59rem;
    font-weight: 800;
}
.s724-zone-decoration {
    position: absolute;
    right: -9px;
    bottom: -28px;
    color: var(--s724-primary);
    font-size: 8.5rem;
    opacity: .035;
    transform: rotate(9deg);
}
.s724-mosaic-empty {
    display: flex;
    min-height: 145px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    color: var(--s724-muted);
}
.s724-mosaic-empty i {
    color: var(--s724-primary);
    font-size: 1.5rem;
}
.s724-mosaic-declaration {
    grid-column: span 7;
    min-height: 250px;
}
.s724-mosaic-richtext {
    padding: 18px 19px 21px;
    color: var(--s724-muted);
    font-size: .83rem;
    line-height: 1.65;
}
.s724-mosaic-richtext> :last-child {
    margin-bottom: 0;
}
.s724-mosaic-contact {
    grid-column: span 5;
    min-height: 250px;
}
.s724-mosaic-contact.is-wide {
    grid-column: span 12;
}
.s724-mosaic-contact-list {
    display: grid;
    grid-template-columns: 1fr;
    padding: 5px 19px 11px;
}
.s724-mosaic-contact-list>div {
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 45px;
    color: var(--s724-muted);
    border-bottom: 1px solid var(--s724-line);
    font-size: .78rem;
}
.s724-mosaic-contact-list>div:last-child {
    border-bottom: 0;
}
.s724-mosaic-contact-list>div>i {
    color: var(--s724-primary);
}
.s724-mosaic-contact-list span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow-wrap: anywhere;
}
.s724-mosaic-contact-list small {
    margin-bottom: 1px;
    color: var(--s724-muted);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.s724-mosaic-contact-list strong {
    color: var(--s724-text);
    font-size: .82rem;
}
@media (max-width: 1199.98px) {
    .s724-mosaic-visual,
    .s724-mosaic-hours {
        grid-column: span 6;
    }
    .s724-mosaic-minimum {
        grid-column: span 4;
    }
    .s724-mosaic-zones {
        grid-column: span 8;
    }
}
@media (max-width: 991.98px) {
    .s724-order-stage,
    .s724-order-stage-content {
        min-height: auto;
    }
    .s724-order-stage-content {
        padding-block: 48px;
    }
    .s724-info-mosaic-section {
        padding: 52px 0 58px;
    }
    .s724-mosaic-visual,
    .s724-mosaic-hours,
    .s724-mosaic-minimum,
    .s724-mosaic-zones,
    .s724-mosaic-declaration,
    .s724-mosaic-contact,
    .s724-mosaic-contact.is-wide {
        grid-column: span 12;
    }
    .s724-mosaic-visual {
        min-height: 370px;
    }
    .s724-mosaic-hours {
        min-height: 0;
    }
    .s724-mosaic-minimum,
    .s724-mosaic-zones,
    .s724-mosaic-declaration,
    .s724-mosaic-contact {
        min-height: 0;
    }
}
@media (max-width: 767.98px) {
    .s724-info-mosaic-section {
        padding: 44px 0 48px;
    }
    .s724-section-heading-compact {
        margin-bottom: 18px;
    }
    .s724-info-mosaic {
        gap: 10px;
    }
    .s724-mosaic-card {
        border-radius: 10px;
    }
    .s724-mosaic-visual {
        min-height: 315px;
    }
    .s724-mosaic-visual-copy {
        right: 19px;
        bottom: 18px;
        left: 19px;
    }
    .s724-mosaic-head {
        min-height: 74px;
        padding: 14px 15px;
    }
    .s724-mosaic-hours-list,
    .s724-mosaic-zone-list,
    .s724-mosaic-contact-list {
        padding-inline: 15px;
    }
    .s724-mosaic-hours-row {
        grid-template-columns: 1fr auto;
        min-height: 44px;
        gap: 8px;
        padding-inline: 7px;
    }
    .s724-mosaic-day {
        font-size: .76rem;
    }
    .s724-mosaic-day small {
        display: none;
    }
    .s724-mosaic-time {
        font-size: .72rem;
    }
    .s724-mosaic-minimum {
        padding: 18px;
    }
    .s724-mosaic-zone-row {
        grid-template-columns: 1fr;
        gap: 5px;
        padding: 10px 0;
    }
    .s724-mosaic-zone-price {
        justify-content: flex-start;
    }
    .s724-mosaic-richtext {
        padding: 15px;
    }
}
/* ========================================================================== 
   Header/mobile navigation + section rhythm hotfix
   ========================================================================== */
.s724-language-flag {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: block;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--s724-line-strong);
}
.s724-header-actions .dropdown {
    display: block;
}
.s724-header-actions .dropdown-toggle {
    min-width: 46px;
}
.s724-header-actions .dropdown-toggle::after {
    margin-left: 3px;
    vertical-align: .12em;
}
.s724-menu-toggle {
    flex: 0 0 auto;
    margin-left: 2px;
    padding: 0 !important;
    border-color: var(--s724-line) !important;
    box-shadow: none !important;
}
.s724-menu-toggle i {
    font-size: 1.35rem;
}
.s724-offcanvas {
    z-index: 1046;
    border-left: 1px solid var(--s724-line) !important;
    box-shadow: -20px 0 55px rgba(0, 0, 0, .15);
}
.offcanvas-backdrop {
    z-index: 1040;
    background: #111315;
}
.offcanvas-backdrop.show {
    opacity: .58;
}
.s724-offcanvas .offcanvas-header {
    min-height: 76px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-offcanvas .offcanvas-body {
    display: flex;
    flex-direction: column;
    padding: 14px 18px 22px;
}
.s724-mobile-menu-tools {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--s724-line);
}
.s724-mobile-menu-label {
    margin-bottom: 8px;
    color: var(--s724-muted);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.s724-mobile-menu-action {
    display: flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    gap: 11px;
    padding: 0 2px;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--s724-line);
    text-align: left;
    font-size: .88rem;
    font-weight: 700;
}
.s724-mobile-menu-action>i:first-child {
    color: var(--s724-primary);
    font-size: 1rem;
}
.s724-mobile-menu-action>i:last-child {
    color: var(--s724-muted);
    font-size: .75rem;
}
/* Keep sections visually connected instead of stacking top+bottom whitespace. */
.s724-info-mosaic-section {
    padding-bottom: 40px;
}
.s724-section {
    padding-block: 44px;
}
.s724-app-section {
    padding: 10px 0 48px;
}
.s724-app-card {
    width: 100%;
}
.s724-app-copy,
.s724-app-showcase {
    min-height: 520px;
}
@media (max-width: 1199.98px) {
    .s724-navbar>.s724-shell {
        flex-wrap: nowrap;
    }
    .s724-header-actions {
        margin-left: auto !important;
        flex: 0 0 auto;
    }
    .s724-menu-toggle {
        order: 99;
    }
}
@media (max-width: 767.98px) {
    .s724-desktop-utility {
        display: none !important;
    }
    .s724-header-actions {
        gap: 5px;
    }
    .s724-header-actions .dropdown {
        display: block !important;
    }
    .s724-header-actions .s724-header-btn,
    .s724-header-actions .s724-icon-btn,
    .s724-header-actions .s724-cart-btn,
    .s724-menu-toggle {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
        padding: 0;
    }
    .s724-header-actions .dropdown-toggle {
        width: 42px;
        min-width: 42px;
        padding: 0 5px;
        gap: 2px;
    }
    .s724-language-flag {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
    }
    .s724-app-section {
        padding: 6px 0 38px;
    }
    .s724-info-mosaic-section {
        padding-bottom: 32px;
    }
    .s724-section {
        padding-block: 36px;
    }
}
@media (max-width: 575.98px) {
    .s724-platform-copy strong {
        font-size: 1.05rem;
    }
    .s724-platform-mark {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
    .s724-platform-brand {
        gap: 7px;
        height: 56px;
    }
    .s724-header-actions {
        gap: 4px;
    }
    .s724-menu-toggle {
        margin-left: 0;
    }
    .s724-app-copy {
        padding: 32px 20px;
    }
    .s724-app-showcase {
        min-height: 500px;
    }
}
/* ========================================================================== 
   Motion, typography rhythm, header/logo and footer refresh - 1.0.4
   ========================================================================== */
:root {
    --s724-leading: 1.62;
    --s724-leading-relaxed: 1.72;
}
body {
    line-height: var(--s724-leading);
}
p,
.s724-richtext,
.s724-mosaic-richtext,
.s724-section-heading>p,
.s724-benefit-item span:not(.s724-benefit-icon),
.s724-app-copy>p,
.s724-footer-intro {
    line-height: var(--s724-leading-relaxed);
}
.s724-mosaic-contact-list,
.s724-mosaic-zone-places,
.s724-footer-links {
    line-height: 1.58;
}
/* Header must inherit the selected theme; Bootstrap navbar stays transparent. */
.s724-header {
    background: var(--s724-header) !important;
}
.s724-navbar,
.s724-navbar>.s724-shell,
.s724-nav-links,
.s724-nav-links .nav-item {
    background: transparent !important;
}
html[data-s724-theme="dark"] .s724-header {
    background: rgba(17, 19, 21, .94) !important;
}
html[data-s724-theme="light"] .s724-header {
    background: rgba(255, 255, 255, .94) !important;
}
.s724-dropdown-menu,
.s724-offcanvas {
    color: var(--s724-text);
    background: var(--s724-surface) !important;
}
.s724-dropdown-menu .dropdown-item {
    color: var(--s724-text);
    background: transparent;
}
.s724-dropdown-menu .dropdown-item:hover,
.s724-dropdown-menu .dropdown-item:focus {
    color: var(--s724-text);
    background: var(--s724-surface-2);
}
/* Section reveal + very light depth movement. */
[data-s724-motion] {
    --s724-motion-y: 0px;
    --s724-motion-delay: 0ms;
}
.s724-motion-ready [data-s724-motion] {
    opacity: 0;
    transform: translate3d(0, calc(13px + var(--s724-motion-y)), 0);
    transition:
        opacity .55s ease var(--s724-motion-delay),
        transform .65s cubic-bezier(.2, .72, .2, 1) var(--s724-motion-delay);
    will-change: transform, opacity;
}
.s724-motion-ready [data-s724-motion].is-visible {
    opacity: 1;
    transform: translate3d(0, var(--s724-motion-y), 0);
}
/* Footer */
.s724-footer {
    position: relative;
    overflow: hidden;
    padding: 28px 0 24px;
    color: #eef0f2;
    background:
        radial-gradient(circle at 10% 12%, rgba(233, 75, 36, .13), transparent 25%),
        radial-gradient(circle at 88% 78%, rgba(233, 75, 36, .07), transparent 26%),
        #0f1113;
}
.s724-footer::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: .22;
    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, #000, transparent 68%);
}
.s724-footer>.s724-shell {
    position: relative;
    z-index: 1;
}
.s724-footer-order {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 104px;
    margin-bottom: 46px;
    padding: 20px 22px;
    background: linear-gradient(135deg, rgba(233, 75, 36, .98), rgba(205, 58, 24, .98));
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    box-shadow: 0 22px 56px rgba(0, 0, 0, .20);
}
.s724-footer-order-copy,
.s724-footer-order-actions,
.s724-footer-service-pills,
.s724-footer-bottom-links {
    display: flex;
    align-items: center;
}
.s724-footer-order-copy {
    gap: 14px;
}
.s724-footer-order-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    color: var(--s724-primary);
    background: #fff;
    border-radius: 8px;
    font-size: 1.15rem;
}
.s724-footer-order-copy>div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.s724-footer-order-copy strong {
    color: #fff;
    font-size: clamp(1.05rem, 1.5vw, 1.32rem);
    line-height: 1.25;
}
.s724-footer-order-actions {
    gap: 16px;
}
.s724-footer-service-pills {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}
.s724-footer-service-pills span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 10px;
    color: rgba(255, 255, 255, .86);
    background: rgba(17, 19, 21, .15);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 750;
}
.s724-footer-order-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 148px;
    justify-content: center;
    white-space: nowrap;
}
.s724-footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.05fr) minmax(0, 1.45fr);
    gap: clamp(46px, 7vw, 105px);
}
.s724-footer-main {
    max-width: 520px;
}
.s724-platform-brand-footer .s724-platform-mark {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
}
.s724-platform-brand-footer .s724-platform-copy strong {
    font-size: 1.45rem;
}
.s724-footer-intro {
    max-width: 440px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .56);
    font-size: .9rem;
}
.s724-footer-intro strong {
    color: rgba(255, 255, 255, .88);
}
.s724-footer-social-block {
    margin-top: 28px;
}
.s724-footer-social-label {
    display: block;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, .40);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.s724-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
}
.s724-social-links a {
    display: inline-flex;
    width: auto;
    height: 40px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    color: rgba(255, 255, 255, .76);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 7px;
    font-size: .75rem;
    font-weight: 700;
    transition: transform .16s ease, color .16s ease, background-color .16s ease, border-color .16s ease;
}
.s724-social-links a i {
    color: #fff;
    font-size: 1rem;
}
.s724-social-links a:hover {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
    transform: translateY(-2px);
}
.s724-footer-navigation {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}
.s724-footer-column {
    min-width: 0;
}
.s724-footer-title {
    margin-bottom: 18px;
    color: #fff;
}
.s724-footer-links {
    gap: 8px;
}
.s724-footer-links a,
.s724-footer-links button {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    color: rgba(255, 255, 255, .52);
    font-size: .84rem;
    line-height: 1.5;
}
.s724-footer-links a:hover,
.s724-footer-links button:hover {
    color: #fff;
}
.s724-footer-bottom {
    margin-top: 46px;
    padding-top: 20px;
}
.s724-footer-bottom-links {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 18px;
}
.s724-footer-bottom-links span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.s724-footer-bottom-links i {
    color: var(--s724-primary);
}
@media (max-width: 1199.98px) {
    .s724-footer-navigation {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 991.98px) {
    .s724-footer-order {
        align-items: flex-start;
        flex-direction: column;
    }
    .s724-footer-order-actions {
        width: 100%;
        justify-content: space-between;
    }
    .s724-footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}
@media (max-width: 575.98px) {
    body {
        line-height: 1.58;
    }
    .s724-footer {
        padding-top: 18px;
    }
    .s724-footer-order {
        min-height: 0;
        margin-bottom: 38px;
        padding: 18px;
    }
    .s724-footer-order-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }
    .s724-footer-service-pills {
        justify-content: flex-start;
    }
    .s724-footer-order-btn {
        width: 100%;
    }
    .s724-footer-navigation {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }
    .s724-social-links a {
        width: 40px;
        padding: 0;
        justify-content: center;
    }
    .s724-social-links a span {
        display: none;
    }
    .s724-footer-bottom-links {
        justify-content: flex-start;
    }
}
@media (prefers-reduced-motion: reduce) {
    .s724-motion-ready [data-s724-motion],
    .s724-motion-ready [data-s724-motion].is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* ==========================================================================
   Global UI refinement 1.0.6
   ========================================================================== */
/* Bootstrap responsive offcanvas must not paint a white desktop navigation slab. */
@media (min-width: 1200px) {
    .s724-header .s724-offcanvas {
        position: static !important;
        z-index: auto !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        flex: 1 1 auto;
        visibility: visible !important;
        overflow: visible !important;
        color: var(--s724-text);
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: none !important;
        transition: none !important;
    }
    .s724-header .s724-offcanvas .offcanvas-header {
        display: none !important;
    }
    .s724-header .s724-offcanvas .offcanvas-body {
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: visible;
        padding: 0;
        background: transparent !important;
    }
    .s724-header .s724-offcanvas .s724-nav-links {
        background: transparent !important;
    }
}
/* Common control language across storefront pages. */
.form-control,
.form-select,
.input-group-text {
    min-height: 46px;
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border-color: var(--s724-line);
    border-radius: 8px;
    box-shadow: none;
}
.form-control:focus,
.form-select:focus {
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border-color: rgba(233, 75, 36, .52);
    box-shadow: 0 0 0 4px var(--s724-primary-ring);
}
.form-control::placeholder {
    color: color-mix(in srgb, var(--s724-muted) 78%, transparent);
}
.form-check-input {
    width: 1.12rem;
    height: 1.12rem;
    border-color: var(--s724-line-strong);
    box-shadow: none !important;
}
.form-check-input:checked {
    background-color: var(--s724-primary);
    border-color: var(--s724-primary);
}
.btn {
    line-height: 1.2;
}
.s724-footer-links a,
.s724-footer-links button {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    cursor: pointer;
}
/* Index postal autocomplete */
.s724-postal-autocomplete {
    position: relative;
    z-index: 24;
}
.s724-postal-suggestions[hidden] {
    display: none !important;
}
.s724-postal-suggestions {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    left: 0;
    z-index: 70;
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: 0 24px 60px rgba(14, 18, 22, .18);
}
.s724-postal-suggestions-head,
.s724-postal-all {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 14px;
}
.s724-postal-suggestions-head {
    border-bottom: 1px solid var(--s724-line);
}
.s724-postal-suggestions-head span,
.s724-postal-all span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--s724-text);
    font-size: .76rem;
    font-weight: 800;
}
.s724-postal-suggestions-head span i,
.s724-postal-all i {
    color: var(--s724-primary);
}
.s724-postal-suggestions-head small {
    color: var(--s724-muted);
    font-size: .68rem;
    font-weight: 750;
}
.s724-postal-options {
    max-height: min(348px, 46vh);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.s724-postal-option {
    display: grid;
    width: 100%;
    min-height: 66px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 9px 12px;
    color: var(--s724-text);
    text-align: left;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--s724-line);
    transition: background-color .15s ease, transform .15s ease;
}
.s724-postal-option:last-child {
    border-bottom: 0;
}
.s724-postal-option:not(.is-disabled):hover,
.s724-postal-option.is-highlighted {
    background: var(--s724-surface-2);
}
.s724-postal-option:not(.is-disabled):active {
    transform: scale(.995);
}
.s724-postal-option.is-disabled {
    cursor: not-allowed;
    opacity: .64;
}
.s724-postal-option-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 7px;
    font-size: 1rem;
}
.s724-postal-option-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-postal-option-copy strong {
    overflow: hidden;
    font-size: .81rem;
    font-weight: 720;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-postal-option-copy strong b {
    margin-right: 4px;
    color: var(--s724-text);
    font-weight: 900;
}
.s724-postal-option-copy small {
    overflow: hidden;
    color: var(--s724-muted);
    font-size: .66rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-postal-status {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    gap: 5px;
    padding: 0 8px;
    white-space: nowrap;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    color: var(--s724-muted);
    font-size: .61rem;
    font-weight: 800;
}
.s724-postal-status.is-open {
    color: #168255;
    background: rgba(22, 130, 85, .09);
    border-color: rgba(22, 130, 85, .20);
}
.s724-postal-status.is-closed {
    color: #aa5a11;
    background: rgba(170, 90, 17, .09);
    border-color: rgba(170, 90, 17, .20);
}
.s724-postal-status.is-pickup {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .20);
}
.s724-postal-status.is-inactive {
    color: var(--s724-muted);
}
.s724-postal-empty {
    display: grid;
    min-height: 94px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 14px;
    color: var(--s724-muted);
}
.s724-postal-empty[hidden] {
    display: none !important;
}
.s724-postal-empty>i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 7px;
}
.s724-postal-empty div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.s724-postal-empty strong {
    color: var(--s724-text);
    font-size: .78rem;
}
.s724-postal-empty small {
    font-size: .66rem;
    line-height: 1.45;
}
.s724-postal-all {
    color: var(--s724-text);
    border-top: 1px solid var(--s724-line);
    text-decoration: none;
    transition: background-color .15s ease;
}
.s724-postal-all:hover {
    color: var(--s724-text);
    background: var(--s724-surface-2);
}
.s724-postal-all>i {
    font-size: .82rem;
}
@media (max-width: 575.98px) {
    .s724-postal-options {
        max-height: min(310px, 44vh);
    }
    .s724-postal-option {
        min-height: 70px;
        grid-template-columns: 34px minmax(0, 1fr);
    }
    .s724-postal-option-icon {
        width: 34px;
        height: 34px;
    }
    .s724-postal-status {
        grid-column: 2;
        width: fit-content;
        margin-top: -3px;
    }
}
.s724-postal-option[hidden] {
    display: none !important;
}
/* ========================================================================== 
   Postal autocomplete stacking / banner clipping hotfix
   ========================================================================== */
.s724-order-stage {
    z-index: 20;
    overflow: visible;
}
.s724-order-stage-media {
    overflow: hidden;
    pointer-events: none;
}
.s724-order-stage-overlay {
    pointer-events: none;
}
.s724-order-stage-content,
.s724-order-card,
.s724-order-action,
.s724-postal-search,
.s724-postal-autocomplete {
    position: relative;
    overflow: visible;
}
.s724-order-stage-content {
    z-index: 2;
}
.s724-order-card {
    z-index: 5;
}
.s724-order-action {
    z-index: 20;
}
.s724-postal-search {
    z-index: 25;
}
.s724-postal-autocomplete {
    z-index: 30;
}
.s724-postal-suggestions {
    z-index: 1200;
}
.s724-main,
.s724-benefit-strip {
    position: relative;
    z-index: 1;
}
/* ==========================================================================
   Header offcanvas + postal autocomplete stabilization 1.1.2
   ========================================================================== */
@media (max-width: 1199.98px) {
    /* backdrop-filter on a sticky ancestor can turn fixed descendants into a
       clipped containing block. The mobile nav is portaled to body by JS; this
       fallback also keeps the header itself from clipping during transitions. */
    .s724-header {
        overflow: visible !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    body>.s724-offcanvas {
        position: fixed !important;
        z-index: 1062 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: min(88vw, 380px) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        color: var(--s724-text);
        background: var(--s724-surface) !important;
        border-left: 1px solid var(--s724-line) !important;
        box-shadow: -24px 0 70px rgba(0, 0, 0, .22);
    }
    body>.s724-offcanvas .offcanvas-header {
        flex: 0 0 auto;
        min-height: var(--s724-header-height);
        padding: 12px 16px;
    }
    body>.s724-offcanvas .offcanvas-body {
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 12px 16px calc(20px + env(safe-area-inset-bottom));
    }
    .offcanvas-backdrop {
        z-index: 1058 !important;
    }
}
/* Postal autocomplete is one isolated floating surface. */
.s724-postal-autocomplete {
    position: relative;
    z-index: 1250 !important;
    isolation: isolate;
}
.s724-postal-suggestions {
    position: absolute;
    z-index: 1260 !important;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    overflow: hidden;
    padding: 8px;
    color: var(--s724-text);
    background: color-mix(in srgb, var(--s724-surface) 98%, transparent);
    border: 1px solid var(--s724-line);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(10, 14, 18, .22);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}
.s724-postal-suggestions-head {
    min-height: 42px;
    padding: 0 8px 7px;
    border: 0 !important;
}
.s724-postal-options {
    display: grid;
    max-height: min(340px, 46dvh);
    gap: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1px 0;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.s724-postal-option {
    display: grid;
    width: 100%;
    min-height: 66px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 9px 10px;
    color: var(--s724-text);
    text-align: left;
    background: var(--s724-surface-2);
    border: 1px solid transparent !important;
    border-radius: 10px;
    line-height: 1.35;
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.s724-postal-option:not(.is-disabled):hover,
.s724-postal-option.is-highlighted {
    background: var(--s724-surface);
    border-color: color-mix(in srgb, var(--s724-primary) 36%, var(--s724-line)) !important;
    transform: translateY(-1px);
}
.s724-postal-option-copy strong {
    display: block;
    overflow: hidden;
    color: var(--s724-text);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-postal-option-copy small {
    display: block;
    margin-top: 3px;
    color: var(--s724-muted);
    font-size: .68rem;
    line-height: 1.4;
}
.s724-postal-status {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 5px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}
.s724-postal-empty {
    min-height: 112px;
    margin: 2px 0;
    padding: 18px;
    background: var(--s724-surface-2);
    border-radius: 10px;
}
.s724-postal-all {
    min-height: 42px;
    margin-top: 5px;
    padding: 0 9px;
    border: 0 !important;
    border-radius: 9px;
}
.s724-postal-all:hover {
    background: var(--s724-primary-soft);
}
@media (max-width: 575.98px) {
    .s724-postal-suggestions {
        top: calc(100% + 8px);
        padding: 7px;
        border-radius: 12px;
    }
    .s724-postal-options {
        max-height: min(360px, 50dvh);
    }
    .s724-postal-option {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 9px;
        min-height: 68px;
        padding: 9px;
    }
    .s724-postal-option-icon {
        width: 34px;
        height: 34px;
    }
    .s724-postal-status {
        grid-column: 2;
        justify-self: start;
        margin-top: -3px;
    }
}
/* Footer legal + social alignment - 1.1.3 */
.s724-footer-navigation-legal-only {
    grid-template-columns: minmax(0, 1fr);
    align-self: stretch;
}
.s724-footer-column-legal {
    display: grid;
    gap: 18px;
    padding: 20px;
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 12px;
}
.s724-footer-legal-head,
.s724-footer-legal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}
.s724-footer-legal-head>div {
    display: grid;
    gap: 5px;
}
.s724-footer-legal-kicker,
.s724-footer-social-caption {
    color: rgba(255, 255, 255, .38);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}
.s724-footer-links-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin: 0;
}
.s724-footer-links-inline li {
    display: flex;
}
.s724-footer-links-inline a,
.s724-footer-links-inline button {
    min-height: 38px;
    padding: 0 12px;
    color: rgba(255, 255, 255, .66);
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .065);
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}
.s724-footer-links-inline a:hover,
.s724-footer-links-inline button:hover {
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .13);
}
.s724-footer-legal-social {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}
.s724-footer-legal-social a {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    color: rgba(255, 255, 255, .82);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    font-size: 1rem;
    text-decoration: none;
    transition: transform .16s ease, color .16s ease, background-color .16s ease, border-color .16s ease;
}
.s724-footer-legal-social a:hover {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
    transform: translateY(-2px);
}
@media (max-width: 767.98px) {
    .s724-footer-column-legal {
        padding: 16px;
    }
    .s724-footer-legal-head,
    .s724-footer-legal-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }
    .s724-footer-social-caption {
        display: none;
    }
    .s724-footer-links-inline {
        width: 100%;
        gap: 7px;
    }
    .s724-footer-links-inline li {
        flex: 1 1 calc(50% - 7px);
    }
    .s724-footer-links-inline a,
    .s724-footer-links-inline button {
        width: 100%;
        justify-content: center;
    }
}
/* ========================================================================== 
   Global form controls 1.1.4 — visible, stable checkbox/radio system
   ========================================================================== */
:root {
    --s724-choice-size: 20px;
}
:where(input[type="checkbox"]:not(.switch), input[type="radio"]:not(.switch):not([data-s724-courier])) {
    -webkit-appearance: none;
    appearance: none;
    display: inline-grid;
    width: var(--s724-choice-size);
    height: var(--s724-choice-size);
    min-width: var(--s724-choice-size);
    min-height: var(--s724-choice-size);
    place-content: center;
    margin: 0;
    color: #fff;
    background: var(--s724-surface);
    background-image: none !important;
    border: 1px solid var(--s724-line-strong);
    box-shadow: none;
    vertical-align: middle;
    cursor: pointer;
    transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease, transform .14s ease;
}
:where(input[type="checkbox"]:not(.switch)) {
    border-radius: 5px;
}
:where(input[type="radio"]:not(.switch):not([data-s724-courier])) {
    border-radius: 50%;
}
:where(input[type="checkbox"]:not(.switch), input[type="radio"]:not(.switch):not([data-s724-courier])):hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--s724-primary) 58%, var(--s724-line-strong));
}
:where(input[type="checkbox"]:not(.switch), input[type="radio"]:not(.switch):not([data-s724-courier])):focus-visible {
    outline: 0;
    border-color: var(--s724-primary);
    box-shadow: 0 0 0 4px var(--s724-primary-soft);
}
:where(input[type="checkbox"]:not(.switch), input[type="radio"]:not(.switch):not([data-s724-courier])):checked {
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
:where(input[type="checkbox"]:not(.switch)):checked::after {
    width: 6px;
    height: 10px;
    content: "";
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: translateY(-1px) rotate(45deg);
}
:where(input[type="radio"]:not(.switch):not([data-s724-courier])):checked::after {
    width: 8px;
    height: 8px;
    content: "";
    background: currentColor;
    border-radius: 50%;
}
:where(input[type="checkbox"]:not(.switch), input[type="radio"]:not(.switch):not([data-s724-courier])):disabled {
    cursor: not-allowed;
    opacity: .45;
}
.form-check,
.custom-control {
    gap: 10px;
}
.form-check-label,
.custom-control-label {
    color: var(--s724-text);
    line-height: 1.55;
    cursor: pointer;
}
/* ========================================================================== 
   Sipariş724 Global Form Runtime 1.1.5
   JS adds state classes; CSS only paints the shared state consistently.
   ========================================================================== */
.s724-global-field {
    position: relative;
    min-width: 0;
}
.s724-global-control {
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}
.s724-global-field.is-focused .s724-global-control {
    border-color: rgba(233, 75, 36, .52) !important;
    box-shadow: 0 0 0 3px var(--s724-primary-soft) !important;
}
.s724-global-field.is-invalid .s724-global-control,
.s724-global-control.is-invalid,
.s724-global-control[aria-invalid="true"] {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, .08) !important;
}
.s724-global-field.is-disabled {
    opacity: .62;
}
.s724-global-field.has-value .s724-global-control:not(:focus) {
    background-color: var(--s724-surface);
}
/* Sipariş724 brand balance 1.1.6 */
.s724-platform-brand-footer .s724-platform-copy strong {
    color: #f7f8f9 !important;
}
.s724-platform-brand-footer .s724-platform-mark {
    color: var(--s724-primary);
    background: #f7f8f9;
    border: 1px solid rgba(255, 255, 255, .12);
}
html[data-s724-theme="dark"] .s724-platform-brand:not(.s724-platform-brand-footer) .s724-platform-copy strong {
    color: #f5f6f7;
}
html[data-s724-theme="dark"] .s724-platform-brand:not(.s724-platform-brand-footer) .s724-platform-mark {
    color: #fff;
    background: var(--s724-primary);
    box-shadow: 0 8px 22px rgba(233, 75, 36, .16);
}
/* ========================================================================== */
/* 2) Global form controls */
/* ========================================================================== */
/* Sipariş724 global form controls */
:root {
    --s724-control-height: 46px;
    --s724-control-radius: 8px;
}
select.form-select,
select.s724-global-select,
.s724-global-form select {
    min-height: var(--s724-control-height);
    padding-right: 2.8rem !important;
    color: var(--s724-text, #111315);
    background-color: var(--s724-surface, #fff);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m3.5 6 4.5 4 4.5-4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right .9rem center !important;
    background-size: 16px 12px !important;
    border: 1px solid var(--s724-line, #dedfe2);
    border-radius: var(--s724-control-radius);
    box-shadow: none;
    line-height: 1.35;
    appearance: none;
    -webkit-appearance: none;
}
select.form-select:focus,
select.s724-global-select:focus,
.s724-global-form select:focus {
    border-color: rgba(233, 75, 36, .58);
    box-shadow: 0 0 0 3px rgba(233, 75, 36, .10);
}
.s724-select-control {
    position: relative;
    display: block;
}
.s724-select-control>i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 14px;
    color: var(--s724-primary, #e94b24);
    font-size: .92rem;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}
.s724-select-control>select {
    width: 100%;
    padding-left: 2.55rem !important;
}
html[data-s724-theme="dark"] select.form-select,
html[data-s724-theme="dark"] select.s724-global-select,
html[data-s724-theme="dark"] .s724-global-form select {
    color: var(--s724-text, #f4f4f5);
    background-color: var(--s724-surface, #17191c);
    border-color: var(--s724-line, #2c3035);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23b8bdc5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m3.5 6 4.5 4 4.5-4'/%3E%3C/svg%3E") !important;
}
/* ========================================================================== */
/* 3) Products / cart */
/* ========================================================================== */
:root {
    --s724-cart-width: 390px;
    --s724-cart-gap: 22px;
    --s724-products-top: calc(var(--s724-header-height) + 18px);
}
.s724-products-page {
    background: var(--s724-bg);
}
.s724-products-page .s724-products-main {
    padding-right: calc(var(--s724-cart-width) + var(--s724-cart-gap) + 28px);
}
/* Footer always uses the exact same shell geometry as the header. */
.s724-products-page .s724-footer>.s724-shell {
    width: min(100%, var(--s724-shell));
    margin-inline: auto;
    padding-inline: 28px;
}
/* Intro */
.s724-menu-intro {
    padding: 42px 0 28px;
    background:
        radial-gradient(circle at 18% 0%, var(--s724-primary-soft), transparent 34%),
        var(--s724-bg);
    border-bottom: 1px solid var(--s724-line);
}
.s724-menu-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 460px);
    gap: 32px;
    align-items: end;
}
.s724-menu-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: var(--s724-muted);
    font-size: .76rem;
    font-weight: 700;
}
.s724-menu-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.s724-menu-breadcrumb>i {
    font-size: .62rem;
    opacity: .65;
}
.s724-menu-intro-copy h1 {
    margin: 7px 0 12px;
    font-size: clamp(2.45rem, 5vw, 4.7rem);
    font-weight: 860;
    letter-spacing: -.055em;
    line-height: .95;
}
.s724-menu-intro-copy>p {
    max-width: 680px;
    margin: 0;
    color: var(--s724-muted);
    font-size: .98rem;
    line-height: 1.75;
}
.s724-menu-intro-copy>p strong {
    color: var(--s724-text);
}
.s724-menu-status {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.s724-menu-status-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 66px;
    padding: 11px 12px;
    background: color-mix(in srgb, var(--s724-surface) 96%, transparent);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-menu-status-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 8px;
}
.s724-menu-status-item div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-menu-status-item small {
    color: var(--s724-muted);
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.s724-menu-status-item strong {
    overflow: hidden;
    font-size: .78rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Category rail */
.s724-category-rail {
    position: sticky;
    z-index: 1015;
    top: var(--s724-header-height);
    background: var(--s724-bg);
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.s724-category-rail-inner {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 66px;
}
.s724-menu-search {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 8px 0 12px;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-menu-search input {
    width: 100%;
    min-width: 0;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    outline: 0;
    font-size: .78rem;
    font-weight: 650;
}
.s724-menu-search input::placeholder {
    color: var(--s724-muted);
}
.s724-menu-search button {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: var(--s724-muted);
    background: transparent;
    border: 0;
    border-radius: 6px;
}
.s724-category-nav {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 7px 2px;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
}
.s724-category-nav::-webkit-scrollbar {
    display: none;
}
.s724-category-link {
    display: inline-flex;
    scroll-snap-align: start;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 13px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 0;
    border-radius: 7px;
    font-size: .77rem;
    font-weight: 760;
    transition: color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.s724-category-link:hover {
    color: var(--s724-text);
    background: color-mix(in srgb, var(--s724-text) 6%, var(--s724-surface-2));
}
.s724-category-link.is-active {
    color: #fff;
    background: var(--s724-primary);
    box-shadow: 0 7px 18px color-mix(in srgb, var(--s724-primary) 16%, transparent);
}
.s724-category-link small {
    display: grid;
    min-width: 20px;
    height: 20px;
    place-items: center;
    padding-inline: 5px;
    color: var(--s724-muted);
    background: color-mix(in srgb, var(--s724-text) 7%, transparent);
    border-radius: 999px;
    font-size: .6rem;
}
.s724-category-link.is-active small {
    color: #fff;
    background: rgba(255, 255, 255, .18);
}
/* Catalogue */
.s724-products-content {
    padding-top: 30px;
    padding-bottom: 74px;
}
.s724-menu-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 13px 15px;
    color: var(--s724-text);
    background: var(--s724-primary-soft);
    border: 1px solid rgba(233, 75, 36, .22);
    border-radius: 8px;
    font-size: .84rem;
    line-height: 1.6;
}
.s724-menu-alert i {
    color: var(--s724-primary);
    margin-top: 1px;
}
.s724-product-section {
    scroll-margin-top: calc(var(--s724-header-height) + 82px);
    margin-bottom: 50px;
}
.s724-product-section[hidden],
.s724-product-card[hidden] {
    display: none !important;
}
.s724-product-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}
.s724-product-section-head h2,
.s724-category-cover-copy h2 {
    margin: 4px 0 0;
    font-size: clamp(1.65rem, 2.4vw, 2.35rem);
    font-weight: 840;
    letter-spacing: -.035em;
    line-height: 1.05;
}
.s724-section-count {
    display: grid;
    min-width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-muted);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
}
.s724-category-cover {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    margin-bottom: 16px;
    background: #17191c;
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-category-cover img,
.s724-category-cover-overlay {
    position: absolute;
    inset: -8%;
    width: 116%;
    height: 116%;
}
.s724-category-cover img {
    object-fit: cover;
}
.s724-category-cover-overlay {
    background: linear-gradient(90deg, rgba(10, 12, 14, .80), rgba(10, 12, 14, .30));
}
.s724-category-cover-copy {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 190px;
    max-width: 620px;
    justify-content: center;
    flex-direction: column;
    padding: 28px;
    color: #fff;
}
.s724-category-cover-copy p {
    max-width: 540px;
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .74);
    font-size: .86rem;
    line-height: 1.65;
}
.s724-product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.s724-product-card {
    min-width: 0;
}
.s724-product-card-action {
    display: grid;
    width: 100%;
    min-height: 178px;
    grid-template-columns: minmax(0, 1fr) 148px;
    overflow: hidden;
    padding: 0;
    color: var(--s724-text);
    text-align: left;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 11px;
    box-shadow: var(--s724-shadow-sm);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.s724-product-card-action:hover:not(:disabled) {
    transform: translateY(-2px);
    border-color: rgba(233, 75, 36, .26);
    box-shadow: var(--s724-shadow);
}
.s724-product-card-action:disabled {
    cursor: not-allowed;
    opacity: .58;
}
.s724-product-card-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 17px 18px;
}
.s724-product-card-badges {
    display: flex;
    min-height: 22px;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 6px;
}
.s724-product-card-badges span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 21px;
    padding: 0 7px;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 760;
}
.s724-product-card-badges .is-gift {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .18);
}
.s724-product-card h3 {
    margin: 2px 0 7px;
    font-size: 1rem;
    font-weight: 820;
    line-height: 1.35;
}
.s724-product-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 14px;
    color: var(--s724-muted);
    font-size: .76rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.s724-product-time {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--s724-primary);
    font-size: .7rem;
    font-weight: 750;
}
.s724-product-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
}
.s724-product-card-bottom strong {
    color: var(--s724-text);
    font-size: .94rem;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}
.s724-product-add {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: #fff;
    background: #171717;
    border-radius: 8px;
    font-size: .9rem;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .14);
}
html[data-s724-theme="dark"] .s724-product-add {
    color: #171717;
    background: #f4f4f4;
    box-shadow: none;
}
.s724-product-image,
.s724-product-placeholder {
    min-height: 178px;
    overflow: hidden;
    background: var(--s724-surface-2);
}
.s724-product-image img {
    width: 100%;
    height: 100%;
    min-height: 178px;
    object-fit: cover;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}
.s724-product-card-action:hover .s724-product-image img {
    transform: scale(1.045);
}
.s724-product-placeholder {
    display: grid;
    place-items: center;
    color: var(--s724-primary);
    background:
        radial-gradient(circle at 65% 30%, var(--s724-primary-soft), transparent 34%),
        var(--s724-surface-2);
    font-size: 2.1rem;
}
.s724-products-empty {
    display: flex;
    min-height: 420px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 40px 20px;
    text-align: center;
}
.s724-products-empty>span {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    margin-bottom: 18px;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 18px;
    font-size: 1.8rem;
}
.s724-products-empty h2 {
    font-size: 1.5rem;
    font-weight: 820;
}
.s724-products-empty p {
    color: var(--s724-muted);
}
/* Fixed cart. It takes real space from the catalogue via main/footer padding. */
.s724-cart-aside {
    position: fixed;
    z-index: 1020;
    top: var(--s724-products-top);
    right: 22px;
    bottom: 18px;
    display: flex;
    width: var(--s724-cart-width);
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(21, 25, 31, .15);
}
html[data-s724-theme="dark"] .s724-cart-aside {
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}
.s724-cart-aside-head {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--s724-line);
}
.s724-cart-aside-head>div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
}
.s724-cart-aside-head>div>div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.s724-cart-aside-head small {
    color: var(--s724-muted);
    font-size: .62rem;
}
.s724-cart-aside-head strong {
    font-size: .92rem;
    font-weight: 840;
}
.s724-cart-aside-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 9px;
    font-size: 1rem;
}
.s724-cart-close {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-cart-aside-meta {
    display: flex;
    flex: 0 0 auto;
    gap: 6px;
    padding: 9px 14px;
    background: var(--s724-surface-2);
    border-bottom: 1px solid var(--s724-line);
}
.s724-cart-aside-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 0 8px;
    color: var(--s724-muted);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 730;
}
.s724-cart-aside-meta i {
    color: var(--s724-primary);
}
.s724-cart-content {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    padding: 12px;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.s724-cart-loading {
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--s724-muted);
    font-size: .78rem;
}
.s724-cart-backdrop {
    position: fixed;
    z-index: 1035;
    inset: 0;
    background: rgba(8, 10, 12, .55);
    backdrop-filter: blur(2px);
}
/* Legacy cart response compatibility - visual only, calculations remain untouched. */
.s724-cart-content>h4 {
    display: none !important;
}
.s724-cart-content #warenkorb,
.s724-cart-content .dont-collapse-sm {
    display: block !important;
}
.s724-cart-content .scrollbar-cart {
    max-height: none !important;
    overflow: visible !important;
}
.s724-cart-content .list-group {
    gap: 7px;
}
.s724-cart-content .list-group-item {
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line) !important;
    border-radius: 8px !important;
    font-size: .76rem;
    line-height: 1.5;
}
.s724-cart-content .list-group-item+.list-group-item {
    border-top-width: 1px !important;
}
.s724-cart-content .list-group-item h6,
.s724-cart-content .list-group-item strong {
    color: var(--s724-text);
}
.s724-cart-content .text-muted,
.s724-cart-content small {
    color: var(--s724-muted) !important;
}
.s724-cart-content .btn-success,
.s724-cart-content .bg-danger.btn,
.s724-cart-content .animated-button {
    color: #fff !important;
    background: var(--s724-primary) !important;
    border-color: var(--s724-primary) !important;
}
.s724-cart-content .btn-block {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}
.s724-cart-content .bg-light {
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
}
.s724-cart-content textarea,
.s724-cart-content .form-control {
    color: var(--s724-text);
    background: var(--s724-surface);
    border-color: var(--s724-line);
}
.s724-cart-content .badge-success,
.s724-cart-content .badge-secondary,
.s724-cart-content .badge-danger {
    color: #fff;
    background: var(--s724-primary);
}
.s724-cart-content a[onclick*="deleteBasket"],
.s724-cart-content button[onclick*="deleteBasket"] {
    color: var(--s724-danger) !important;
}
/* Product modal + Bootstrap 4 response compatibility */
.s724-product-modal {
    --bs-modal-width: 780px;
}
.s724-product-modal .modal-content {
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow);
}
.s724-product-modal .modal-header,
.s724-product-modal .modal-footer {
    border-color: var(--s724-line) !important;
}
.s724-product-modal .modal-body {
    color: var(--s724-text);
}
.s724-product-modal-loading {
    display: grid;
    min-height: 260px;
    place-items: center;
    color: var(--s724-primary);
}
.s724-product-modal .close {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    padding: 0;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: 0;
}
.s724-product-modal .close::before {
    content: "\F62A";
    font-family: bootstrap-icons;
    font-size: 1rem;
}
.s724-product-modal .font-weight-bold,
.s724-cart-content .font-weight-bold {
    font-weight: 700 !important;
}
.s724-product-modal .font-weight-lighter {
    font-weight: 300 !important;
}
.s724-product-modal .float-left,
.s724-cart-content .float-left {
    float: left !important;
}
.s724-product-modal .float-right,
.s724-cart-content .float-right {
    float: right !important;
}
.s724-product-modal .text-right,
.s724-cart-content .text-right {
    text-align: right !important;
}
.s724-product-modal .text-left,
.s724-cart-content .text-left {
    text-align: left !important;
}
.s724-product-modal .mr-1, .s724-cart-content .mr-1 {
    margin-right: .25rem !important;
}
.s724-product-modal .mr-2, .s724-cart-content .mr-2 {
    margin-right: .5rem !important;
}
.s724-product-modal .mr-3, .s724-cart-content .mr-3 {
    margin-right: 1rem !important;
}
.s724-product-modal .ml-1, .s724-cart-content .ml-1 {
    margin-left: .25rem !important;
}
.s724-product-modal .ml-2, .s724-cart-content .ml-2 {
    margin-left: .5rem !important;
}
.s724-product-modal .pl-0 {
    padding-left: 0 !important;
}
.s724-product-modal .pr-0 {
    padding-right: 0 !important;
}
.s724-product-modal .badge-warning {
    color: #1b1d20;
    background: #ffc107;
}
.s724-product-modal .badge-danger {
    color: #fff;
    background: var(--s724-primary);
}
.s724-product-modal .bg-danger {
    background: var(--s724-primary) !important;
}
.s724-product-modal .rounded-sm {
    border-radius: 6px !important;
}
.s724-product-modal .img-thumbnail {
    padding: 0;
    background: var(--s724-surface);
    border-color: var(--s724-line);
    border-radius: 10px;
}
.s724-product-modal .form-control,
.s724-product-modal .form-select,
.s724-product-modal select {
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border-color: var(--s724-line);
}
.s724-product-modal input[type="checkbox"],
.s724-product-modal input[type="radio"] {
    accent-color: var(--s724-primary);
}
/* Mobile/tablet */
@media (max-width: 1399.98px) {
    :root {
        --s724-cart-width: 360px;
        --s724-cart-gap: 16px;
    }
    .s724-product-card-action {
        grid-template-columns: minmax(0, 1fr) 124px;
    }
}
@media (max-width: 1199.98px) {
    .s724-products-page .s724-products-main {
        padding-right: 28px;
    }
    .s724-cart-aside {
        z-index: 1040;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(430px, 92vw);
        border-radius: 12px 0 0 12px;
        transform: translateX(105%);
        transition: transform .28s cubic-bezier(.2, .7, .2, 1);
    }
    .s724-products-page.is-cart-open .s724-cart-aside {
        transform: translateX(0);
    }
    .s724-products-page.is-cart-open {
        overflow: hidden;
    }
    .s724-menu-intro-grid {
        grid-template-columns: 1fr;
    }
    .s724-menu-status {
        max-width: 760px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .s724-category-rail-inner {
        grid-template-columns: 190px minmax(0, 1fr);
    }
}
@media (max-width: 991.98px) {
    .s724-menu-intro {
        padding-top: 30px;
    }
    .s724-menu-status {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .s724-category-rail-inner {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 9px 0 5px;
    }
    .s724-category-rail {
        top: var(--s724-header-height);
    }
    .s724-menu-search {
        width: min(100%, 420px);
    }
    .s724-category-nav {
        width: 100%;
        margin-inline: 0;
        padding-block: 6px 8px;
    }
    .s724-category-link {
        min-height: 38px;
        padding-inline: 11px;
    }
    .s724-product-grid {
        grid-template-columns: 1fr;
    }
    .s724-product-section {
        scroll-margin-top: calc(var(--s724-header-height) + 130px);
    }
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-products-main {
        padding-right: 16px;
    }
    .s724-products-page .s724-footer>.s724-shell {
        padding-inline: 16px;
    }
    .s724-menu-intro {
        padding: 24px 0 22px;
    }
    .s724-menu-breadcrumb {
        margin-bottom: 14px;
    }
    .s724-menu-intro-copy h1 {
        font-size: clamp(2.35rem, 13vw, 3.6rem);
    }
    .s724-menu-intro-copy>p {
        font-size: .88rem;
    }
    .s724-menu-status-item {
        min-height: 60px;
    }
    .s724-products-content {
        padding-top: 22px;
        padding-bottom: 52px;
    }
    .s724-product-section {
        margin-bottom: 38px;
    }
    .s724-category-cover,
    .s724-category-cover-copy {
        min-height: 155px;
    }
    .s724-category-cover-copy {
        padding: 20px;
    }
    .s724-product-card-action {
        min-height: 150px;
        grid-template-columns: minmax(0, 1fr) 112px;
    }
    .s724-product-card-body {
        padding: 14px;
    }
    .s724-product-image,
    .s724-product-placeholder,
    .s724-product-image img {
        min-height: 150px;
    }
    .s724-product-card h3 {
        font-size: .94rem;
    }
    .s724-product-card p {
        margin-bottom: 10px;
        font-size: .7rem;
        -webkit-line-clamp: 2;
    }
    .s724-product-card-badges span {
        font-size: .52rem;
    }
    .s724-product-card-bottom strong {
        font-size: .84rem;
    }
    .s724-product-add {
        width: 32px;
        height: 32px;
    }
    .s724-product-modal .modal-dialog {
        margin: 10px;
    }
}
@media (max-width: 479.98px) {
    .s724-menu-status {
        grid-template-columns: 1fr 1fr;
    }
    .s724-menu-status-item:nth-child(n+3) {
        display: none;
    }
    .s724-product-card-action {
        grid-template-columns: minmax(0, 1fr) 92px;
    }
    .s724-product-card-badges {
        display: none;
    }
    .s724-product-card h3 {
        margin-top: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .s724-product-card-action,
    .s724-product-image img,
    .s724-cart-aside {
        transition: none !important;
    }
}
/* Product/cart feedback */
.s724-cart-toast {
    position: fixed;
    z-index: 1090;
    right: calc(var(--s724-cart-width) + 42px);
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 9px;
    max-width: min(360px, calc(100vw - 32px));
    padding: 11px 14px;
    color: #fff;
    background: #17191c;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .24);
    font-size: .78rem;
    font-weight: 720;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease;
}
.s724-cart-toast i {
    color: #53d493;
    font-size: 1rem;
}
.s724-cart-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.s724-cart-error,
.s724-modal-error {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 24px;
    color: var(--s724-muted);
    text-align: center;
}
.s724-cart-error i,
.s724-modal-error i {
    color: var(--s724-primary);
    font-size: 1.35rem;
}
.s724-modal-error strong {
    color: var(--s724-text);
}
@media (max-width: 1199.98px) {
    .s724-cart-toast {
        right: 18px;
        bottom: 18px;
    }
}
/* ==========================================================================
   Storefront product + cart UX overhaul 1.1.0
   ========================================================================== */
/* Larger, calmer product detail surface. Legacy inline width rules are removed
   by s724-products.js before this surface is normalized. */
.s724-product-modal {
    --bs-modal-width: 1180px;
    --bs-modal-margin: 24px;
}
.s724-product-modal .modal-dialog {
    width: auto !important;
    min-width: 0 !important;
    max-width: min(1180px, calc(100vw - 48px)) !important;
}
.s724-product-modal .modal-content {
    overflow: hidden;
    border-radius: 16px;
}
.s724-product-modal .s724-legacy-modal-head {
    position: sticky;
    z-index: 4;
    top: 0;
    min-height: 68px;
    align-items: center;
    padding: 16px 20px;
    background: color-mix(in srgb, var(--s724-surface) 96%, transparent);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.s724-product-modal .s724-legacy-modal-head .modal-title {
    margin: 0;
    color: var(--s724-text);
    font-size: .78rem;
    font-weight: 850 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.s724-product-modal .modal-body {
    padding: 22px !important;
    line-height: 1.6;
}
.s724-product-modal .s724-legacy-product-image {
    width: 100%;
    max-height: 440px;
    object-fit: cover;
    background: var(--s724-surface-2);
    border: 0 !important;
    border-radius: 12px;
}
.s724-product-modal .modal-body h5 {
    color: var(--s724-text);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 850 !important;
    letter-spacing: -.025em;
    line-height: 1.2;
}
.s724-product-modal #toplamFiyat {
    color: var(--s724-primary);
    font-size: 1.15rem;
    font-weight: 850;
    white-space: nowrap;
}
.s724-product-modal .s724-legacy-modal-foot {
    position: sticky;
    z-index: 4;
    bottom: 0;
    justify-content: flex-end;
    padding: 14px 20px;
    background: color-mix(in srgb, var(--s724-surface) 96%, transparent);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.s724-product-modal .s724-legacy-modal-foot .btn {
    display: inline-flex;
    min-width: 220px;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff !important;
    background: var(--s724-primary) !important;
    border: 1px solid var(--s724-primary) !important;
    border-radius: 9px !important;
    font-size: .88rem;
    font-weight: 800 !important;
    box-shadow: 0 10px 24px rgba(233, 75, 36, .18);
}
/* Quantity stepper: same touch target everywhere in legacy modals. */
.s724-product-modal .s724-quantity-stepper {
    display: inline-grid !important;
    width: auto;
    grid-template-columns: 44px 58px 44px;
    align-items: stretch;
    overflow: hidden;
    padding: 0 !important;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
.s724-product-modal .s724-quantity-btn {
    display: grid !important;
    width: 44px;
    min-width: 44px;
    height: 44px;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--s724-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.s724-product-modal .s724-quantity-btn:hover {
    color: var(--s724-primary) !important;
    background: var(--s724-primary-soft) !important;
}
.s724-product-modal .s724-quantity-input {
    width: 58px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    color: var(--s724-text);
    background: var(--s724-surface) !important;
    border: 0 !important;
    border-right: 1px solid var(--s724-line) !important;
    border-left: 1px solid var(--s724-line) !important;
    border-radius: 0 !important;
    font-size: .92rem;
    font-weight: 850;
    text-align: center;
    box-shadow: none !important;
}
/* Variant / extra / sauce controls. */
.s724-product-modal .s724-option-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.s724-product-modal .s724-option-pills input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.s724-product-modal .s724-option-pills input[type="radio"]+label {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 14px;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: .76rem;
    font-weight: 760;
    cursor: pointer;
}
.s724-product-modal .s724-option-pills input[type="radio"]:checked+label {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .38);
}
.s724-product-modal .s724-choice-card,
.s724-product-modal .custom-control {
    position: relative;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px 10px 40px !important;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-product-modal .s724-choice-card .form-check-input,
.s724-product-modal .custom-control-input {
    position: absolute;
    top: 50%;
    left: 13px;
    margin: 0;
    transform: translateY(-50%);
}
.s724-product-modal .s724-option-row {
    margin-bottom: 8px !important;
}
.s724-product-modal p.font-weight-bold.border-top,
.s724-product-modal p.fw-bold.border-top {
    margin-top: 22px !important;
    margin-bottom: 10px !important;
    padding-top: 18px !important;
    color: var(--s724-text);
    border-color: var(--s724-line) !important;
    font-size: .82rem;
    font-weight: 850 !important;
}
.s724-product-modal .showmore {
    min-height: 38px;
    padding: 0 12px !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: 7px;
}
.s724-product-modal .alert-danger {
    color: var(--s724-text);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .22);
    border-radius: 8px;
}
/* Cart is a proper component even though its calculation engine is legacy. */
.s724-cart-content {
    padding: 12px 12px 18px;
}
.s724-cart-content .list-group-item {
    padding: 12px !important;
    background: var(--s724-surface) !important;
    border-radius: 9px !important;
}
.s724-cart-content .list-group-item h6 {
    padding-right: 8px;
    font-size: .78rem !important;
    line-height: 1.45;
}
.s724-cart-content .list-group-item small {
    line-height: 1.55;
}
.s724-cart-content a[onclick*="deleteBasket"] {
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    display: grid !important;
    width: 28px;
    height: 28px !important;
    place-items: center;
    color: var(--s724-danger) !important;
    background: color-mix(in srgb, var(--s724-danger) 8%, var(--s724-surface)) !important;
    border: 0 !important;
    border-radius: 7px !important;
    line-height: 1 !important;
}
.s724-min-order-card {
    margin: 10px 0 12px;
    padding: 12px;
    color: var(--s724-text);
    background: var(--s724-primary-soft);
    border: 1px solid rgba(233, 75, 36, .24);
    border-radius: 10px;
}
.s724-min-order-head {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.s724-min-order-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-surface);
    border-radius: 8px;
}
.s724-min-order-head>div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-min-order-head strong {
    font-size: .74rem;
    font-weight: 850;
}
.s724-min-order-head small {
    color: var(--s724-muted) !important;
    font-size: .65rem;
    line-height: 1.45;
}
.s724-min-order-head>b {
    color: var(--s724-primary);
    font-size: .75rem;
    white-space: nowrap;
}
.s724-min-order-progress {
    height: 6px;
    overflow: hidden;
    margin-top: 10px;
    background: color-mix(in srgb, var(--s724-line) 80%, transparent);
    border-radius: 999px;
}
.s724-min-order-progress span {
    display: block;
    height: 100%;
    background: var(--s724-primary);
    border-radius: inherit;
    transition: width .25s ease;
}
.s724-cart-content .s724-checkout-btn {
    display: flex !important;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
    color: #fff !important;
    background: var(--s724-primary) !important;
    border: 1px solid var(--s724-primary) !important;
    border-radius: 9px !important;
    font-size: .85rem !important;
    font-weight: 850 !important;
    box-shadow: 0 10px 24px rgba(233, 75, 36, .18);
}
.s724-cart-content .s724-checkout-btn:hover {
    background: var(--s724-primary-hover) !important;
    border-color: var(--s724-primary-hover) !important;
}
.s724-cart-content .s724-cart-gift-btn {
    display: grid !important;
    width: 100%;
    min-height: 58px;
    grid-template-columns: 40px minmax(0, 1fr) auto 18px;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    padding: 8px 12px 8px 9px !important;
    color: var(--s724-text) !important;
    text-align: left;
    background: color-mix(in srgb, var(--s724-primary) 8%, var(--s724-surface)) !important;
    border: 1px solid color-mix(in srgb, var(--s724-primary) 34%, var(--s724-line)) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.s724-cart-content .s724-cart-gift-btn:hover {
    color: var(--s724-text) !important;
    background: color-mix(in srgb, var(--s724-primary) 13%, var(--s724-surface)) !important;
    border-color: color-mix(in srgb, var(--s724-primary) 54%, var(--s724-line)) !important;
    transform: translateY(-1px);
}
.s724-cart-gift-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 9px;
    font-size: 1rem;
}
.s724-cart-gift-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.s724-cart-gift-copy small {
    color: var(--s724-primary);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1.25;
    text-transform: uppercase;
}
.s724-cart-gift-copy strong {
    overflow: hidden;
    color: var(--s724-text);
    font-size: .77rem;
    font-weight: 850;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-cart-gift-badge {
    display: inline-grid;
    min-width: 28px;
    height: 28px;
    place-items: center;
    padding-inline: 7px;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 0 0 4px var(--s724-primary-soft);
}
.s724-cart-gift-arrow {
    color: var(--s724-primary);
    font-size: .8rem;
}
/* Persistent mobile cart dock. */
.s724-mobile-cart-dock {
    position: fixed;
    z-index: 1034;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12px;
    display: none;
    pointer-events: none;
}
.s724-mobile-cart-dock-btn {
    display: grid;
    width: 100%;
    min-height: 66px;
    grid-template-columns: 44px minmax(0, 1fr) auto 20px;
    gap: 10px;
    align-items: center;
    padding: 9px 13px 9px 10px;
    color: #fff;
    text-align: left;
    background: #17191c;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .26);
    pointer-events: auto;
}
.s724-mobile-cart-dock-icon {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    background: var(--s724-primary);
    border-radius: 9px;
    font-size: 1rem;
}
.s724-mobile-cart-dock-icon b {
    position: absolute;
    top: -5px;
    right: -5px;
    display: grid;
    min-width: 19px;
    height: 19px;
    place-items: center;
    padding: 0 4px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 900;
}
.s724-mobile-cart-dock-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-mobile-cart-dock-copy small {
    overflow: hidden;
    color: rgba(255, 255, 255, .58);
    font-size: .62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-mobile-cart-dock-copy strong {
    font-size: .84rem;
    font-weight: 850;
}
.s724-mobile-cart-dock-total {
    font-size: .78rem;
    font-weight: 850;
    white-space: nowrap;
}
.s724-mobile-cart-dock-arrow {
    color: rgba(255, 255, 255, .52);
}
.s724-mobile-cart-dock.is-empty .s724-mobile-cart-dock-total {
    display: none;
}
@media (max-width: 767.98px) {
    .s724-products-page {
        padding-bottom: calc(88px + env(safe-area-inset-bottom));
    }
    .s724-products-page .s724-footer {
        margin-bottom: 0;
    }
    .s724-mobile-cart-dock {
        display: block;
    }
    .s724-products-page.is-cart-open .s724-mobile-cart-dock {
        opacity: 0;
        pointer-events: none;
        transform: translateY(14px);
    }
    /* Bottom sheet instead of a right drawer on phones. */
    .s724-cart-aside {
        z-index: 1052;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: min(82dvh, 720px);
        border: 1px solid var(--s724-line);
        border-bottom: 0;
        border-radius: 18px 18px 0 0;
        box-shadow: 0 -24px 70px rgba(0, 0, 0, .24);
        transform: translateY(105%);
        transition: transform .28s cubic-bezier(.2, .7, .2, 1);
    }
    .s724-products-page.is-cart-open .s724-cart-aside {
        transform: translateY(0);
    }
    .s724-cart-aside::before {
        position: absolute;
        z-index: 3;
        top: 7px;
        left: 50%;
        width: 42px;
        height: 4px;
        content: "";
        background: var(--s724-line-strong);
        border-radius: 999px;
        transform: translateX(-50%);
    }
    .s724-cart-aside-head {
        min-height: 68px;
        padding-top: 17px;
    }
    .s724-cart-content {
        padding-bottom: calc(22px + env(safe-area-inset-bottom));
    }
    .s724-cart-backdrop {
        z-index: 1048;
        background: rgba(9, 11, 13, .64);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }
    .s724-product-modal .modal-dialog {
        width: 100% !important;
        max-width: none !important;
        min-height: 100%;
        align-items: flex-end;
        margin: 0 !important;
    }
    .s724-product-modal .modal-content {
        max-height: 92dvh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 18px 18px 0 0;
    }
    .s724-product-modal .modal-body {
        padding: 18px 16px !important;
    }
    .s724-product-modal .s724-legacy-modal-foot {
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    }
    .s724-product-modal .s724-legacy-modal-foot .btn {
        width: 100%;
        min-width: 0;
    }
    .s724-product-modal .s724-legacy-product-image {
        max-height: 280px;
    }
}
@media (max-width: 479.98px) {
    .s724-mobile-cart-dock-btn {
        grid-template-columns: 42px minmax(0, 1fr) auto 16px;
        gap: 8px;
    }
    .s724-mobile-cart-dock-total {
        font-size: .7rem;
    }
    .s724-product-modal .s724-quantity-stepper {
        grid-template-columns: 46px 62px 46px;
    }
}
/* ========================================================================== 
   Premium product detail modal 1.2.0
   ========================================================================== */
.s724-product-modal {
    --bs-modal-width: 1280px;
    --bs-modal-margin: 16px;
}
.s724-product-modal .modal-dialog {
    width: min(1280px, calc(100vw - 32px)) !important;
    max-width: min(1280px, calc(100vw - 32px)) !important;
    min-width: 0 !important;
}
.s724-product-modal .modal-content {
    max-height: min(900px, calc(100dvh - 32px));
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--s724-line) 88%, transparent);
    border-radius: 20px;
    box-shadow: 0 34px 110px rgba(14, 16, 19, .24);
}
.s724-product-modal .s724-legacy-modal-head {
    min-height: 64px;
    padding: 14px 18px 14px 22px;
}
.s724-product-modal .s724-legacy-modal-head .modal-title {
    color: var(--s724-muted);
    font-size: .72rem;
    letter-spacing: .13em;
}
.s724-product-modal .modal-body {
    padding: 0 !important;
    overflow: auto;
    overscroll-behavior: contain;
    background: var(--s724-surface);
}
.s724-product-detail-layout {
    display: grid;
    min-height: 620px;
    grid-template-columns: minmax(390px, .92fr) minmax(0, 1.35fr);
    align-items: stretch;
}
.s724-product-detail-media {
    position: sticky;
    top: 0;
    align-self: start;
    height: min(720px, calc(100dvh - 162px));
    min-height: 620px;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 12%, rgba(233, 75, 36, .15), transparent 28%),
        linear-gradient(145deg, var(--s724-surface-2), color-mix(in srgb, var(--s724-surface-2) 76%, var(--s724-bg)));
    border-right: 1px solid var(--s724-line);
}
.s724-product-detail-image,
.s724-product-modal .s724-legacy-product-image.s724-product-detail-image {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    border: 0 !important;
    border-radius: 0 !important;
    transform: scale(1.001);
}
.s724-product-detail-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 18px;
    color: var(--s724-text);
    text-align: center;
    background:
        linear-gradient(rgba(233, 75, 36, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(233, 75, 36, .035) 1px, transparent 1px);
    background-size: 34px 34px;
}
.s724-product-detail-placeholder-mark {
    display: grid;
    width: 92px;
    height: 92px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 22px;
    box-shadow: 0 22px 54px rgba(233, 75, 36, .24);
    font-size: 2.4rem;
}
.s724-product-detail-placeholder>div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.s724-product-detail-placeholder strong {
    font-size: 1.22rem;
    font-weight: 900;
    letter-spacing: -.035em;
}
.s724-product-detail-placeholder strong span {
    color: var(--s724-primary);
}
.s724-product-detail-placeholder small {
    color: var(--s724-muted);
    font-size: .74rem;
}
.s724-product-detail-media-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    padding: 0 11px;
    color: #181a1d;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .11);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.s724-product-detail-content {
    min-width: 0;
    padding: clamp(26px, 3vw, 42px);
    background: var(--s724-surface);
}
.s724-product-detail-summary {
    display: block !important;
    margin: 0 0 26px !important;
    padding: 0 0 24px !important;
    cursor: default !important;
    background: transparent !important;
    border: 0 !important;
}
.s724-product-detail-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 14px;
    color: var(--s724-primary);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.s724-product-detail-summary>.d-flex,
.s724-product-detail-summary>div:first-of-type {
    display: block !important;
}
.s724-product-detail-summary h5,
.s724-product-modal .s724-product-detail-summary h5 {
    width: auto !important;
    max-width: 720px;
    margin: 0 !important;
    color: var(--s724-text);
    font-size: clamp(1.85rem, 3vw, 2.75rem) !important;
    font-weight: 900 !important;
    letter-spacing: -.045em;
    line-height: 1.02 !important;
}
.s724-product-detail-summary h5 small,
.s724-product-detail-summary h5 .small,
.s724-product-detail-summary h5>span {
    display: block !important;
    margin-top: 12px;
    color: var(--s724-muted) !important;
    font-size: .88rem !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.7 !important;
}
.s724-product-detail-summary h5 i.small {
    margin-top: 9px !important;
    color: color-mix(in srgb, var(--s724-muted) 88%, var(--s724-text)) !important;
    font-size: .76rem !important;
    font-style: normal !important;
    font-weight: 650 !important;
    line-height: 1.65 !important;
}
.s724-product-detail-options {
    display: grid;
    gap: 12px;
}
.s724-product-detail-options>p.fw-bold.border-top,
.s724-product-detail-options>p.font-weight-bold.border-top {
    margin: 18px 0 0 !important;
    padding: 20px 0 0 !important;
    color: var(--s724-text);
    border-top: 1px solid var(--s724-line) !important;
    font-size: .82rem;
    font-weight: 900 !important;
    letter-spacing: .025em;
}
.s724-product-detail-options>p.fw-bold.border-top:first-child,
.s724-product-detail-options>p.font-weight-bold.border-top:first-child {
    margin-top: 0 !important;
}
.s724-product-detail-options .s724-detail-row,
.s724-product-detail-options .form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    margin: 0 !important;
}
.s724-product-detail.is-packet .s724-detail-row,
.s724-product-detail.is-packet .form-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
}
.s724-product-detail-options .form-row>[class*="col"],
.s724-product-detail-options .s724-detail-row>[class*="col"] {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-product-detail-options .s724-option-row {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
}
.s724-product-detail-options .s724-choice-card,
.s724-product-detail-options .custom-control {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 12px 14px 12px 42px !important;
    background: var(--s724-surface-2);
    border-color: var(--s724-line);
    border-radius: 10px;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}
.s724-product-detail-options .s724-choice-card:hover,
.s724-product-detail-options .custom-control:hover {
    background: color-mix(in srgb, var(--s724-surface-2) 84%, var(--s724-primary-soft));
    border-color: color-mix(in srgb, var(--s724-line-strong) 80%, var(--s724-primary));
}
.s724-product-detail-options .s724-choice-card label,
.s724-product-detail-options .custom-control label {
    width: 100%;
    margin: 0;
    color: var(--s724-text);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.45;
}
.s724-product-detail-options .s724-option-pills {
    gap: 8px;
}
.s724-product-detail-options .s724-option-pills input[type="radio"]+label {
    min-height: 46px;
    padding-inline: 16px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border-radius: 10px;
    font-size: .78rem;
}
.s724-product-detail-options .s724-option-pills input[type="radio"]:checked+label {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .42);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .08);
}
.s724-product-detail-options .s724-detail-input-group,
.s724-product-detail-options .input-group {
    display: grid !important;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 90px;
    overflow: hidden;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
}
.s724-product-detail-options .input-group-prepend {
    display: flex;
    min-width: 0;
}
.s724-product-detail-options .input-group-text {
    width: 100% !important;
    min-height: 46px;
    justify-content: flex-start;
    padding: 10px 12px !important;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: .75rem !important;
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
}
.s724-product-detail-options .form-select,
.s724-product-detail-options select,
.s724-product-detail-options .s724-detail-select {
    min-height: 46px;
    padding: 8px 34px 8px 10px;
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border: 0 !important;
    border-left: 1px solid var(--s724-line) !important;
    border-radius: 0 !important;
    font-size: .78rem;
    font-weight: 750;
    box-shadow: none !important;
}
.s724-product-detail.is-packet .s724-detail-section-label {
    margin: 0 0 2px;
    padding: 0 !important;
    color: var(--s724-text);
    font-size: .78rem;
    font-weight: 900 !important;
}
.s724-product-detail.is-packet .s724-detail-select {
    min-height: 52px;
    padding-inline: 14px 38px;
    background-color: var(--s724-surface);
    border: 1px solid var(--s724-line) !important;
    border-radius: 9px !important;
}
.s724-product-detail-options .showmore {
    width: fit-content;
    min-height: 40px;
    margin-top: 2px !important;
    border-radius: 9px !important;
}
.s724-product-modal .s724-legacy-modal-foot {
    padding: 0 !important;
    background: color-mix(in srgb, var(--s724-surface) 97%, transparent);
    border-top: 1px solid var(--s724-line) !important;
}
.s724-product-detail-footerbar {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 18px;
    align-items: center;
    padding: 14px 18px;
}
.s724-product-detail-footer-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 14px;
}
.s724-product-detail-footer-control,
.s724-product-detail-footer-price {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}
.s724-product-detail-footer-control>small,
.s724-product-detail-footer-price>small {
    color: var(--s724-muted);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.s724-product-detail-footer-price {
    padding-left: 14px;
    border-left: 1px solid var(--s724-line);
}
.s724-product-modal .s724-product-detail-footer-price #toplamFiyat {
    color: var(--s724-text);
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1;
}
.s724-product-modal .s724-product-detail-add {
    width: 100%;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 28px rgba(233, 75, 36, .2) !important;
}
.s724-product-modal .s724-product-detail-add i {
    font-size: 1rem;
}
@media (max-width: 991.98px) {
    .s724-product-modal .modal-dialog {
        width: 100% !important;
        max-width: none !important;
        min-height: 100%;
        align-items: flex-end;
        margin: 0 !important;
    }
    .s724-product-modal .modal-content {
        max-height: 94dvh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 20px 20px 0 0;
    }
    .s724-product-detail-layout {
        min-height: 0;
        grid-template-columns: 1fr;
    }
    .s724-product-detail-media {
        position: relative;
        top: auto;
        width: 100%;
        height: clamp(220px, 34dvh, 340px);
        min-height: 220px;
        border-right: 0;
    }
    .s724-product-detail-content {
        padding: 24px 20px 28px;
    }
    .s724-product-detail-summary h5,
    .s724-product-modal .s724-product-detail-summary h5 {
        font-size: clamp(1.65rem, 7vw, 2.25rem) !important;
    }
    .s724-product-detail-options .s724-detail-row,
    .s724-product-detail-options .form-row {
        grid-template-columns: 1fr;
    }
    .s724-product-detail-footerbar {
        grid-template-columns: 1fr auto;
        gap: 12px;
        padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    }
    .s724-product-detail-footer-meta {
        gap: 10px;
    }
    .s724-product-detail-footer-price {
        padding-left: 10px;
    }
    .s724-product-modal .s724-product-detail-add {
        width: auto;
        min-width: 180px !important;
    }
}
@media (max-width: 575.98px) {
    .s724-product-modal .s724-legacy-modal-head {
        min-height: 58px;
        padding: 12px 14px 10px 18px;
    }
    .s724-product-detail-media {
        height: 220px;
        min-height: 220px;
    }
    .s724-product-detail-media-badge {
        top: 12px;
        left: 12px;
    }
    .s724-product-detail-content {
        padding: 20px 16px 24px;
    }
    .s724-product-detail-summary {
        margin-bottom: 20px !important;
        padding-bottom: 20px !important;
    }
    .s724-product-detail-footerbar {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .s724-product-detail-footer-meta {
        justify-content: space-between;
    }
    .s724-product-detail-footer-price {
        margin-left: auto;
    }
    .s724-product-modal .s724-product-detail-add {
        width: 100%;
        min-width: 0 !important;
    }
    .s724-product-detail-options .s724-detail-input-group,
    .s724-product-detail-options .input-group {
        grid-template-columns: minmax(0, 1fr) 78px;
    }
}
/* ========================================================================== 
   Product detail modal viewport / close control hotfix 1.2.1
   ========================================================================== */
.s724-product-modal .modal-dialog {
    height: calc(100dvh - 32px);
    max-height: calc(100dvh - 32px);
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}
.s724-product-modal .modal-content {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    max-height: none;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
}
.s724-product-modal-dynamic {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-product-modal .s724-legacy-modal-head {
    flex: 0 0 auto;
    padding-right: 76px !important;
}
.s724-product-modal .s724-legacy-modal-head .close,
.s724-product-modal .s724-legacy-modal-head .btn-close {
    display: none !important;
}
.s724-product-modal .modal-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.s724-product-modal .s724-legacy-modal-foot {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    background: var(--s724-surface);
    border-top: 1px solid var(--s724-line) !important;
    box-shadow: 0 -10px 30px rgba(14, 16, 19, .06);
}
.s724-product-modal-close {
    position: absolute;
    top: 11px;
    right: 13px;
    z-index: 30;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    color: var(--s724-text);
    background: color-mix(in srgb, var(--s724-surface) 92%, transparent);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(14, 16, 19, .08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: 1.05rem;
    line-height: 1;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.s724-product-modal-close:hover {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
    transform: translateY(-1px);
}
.s724-product-modal-close:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--s724-primary) 28%, transparent);
    outline-offset: 2px;
}
@media (max-width: 991.98px) {
    .s724-product-modal .modal-dialog {
        height: 94dvh;
        max-height: 94dvh;
        min-height: 0;
        margin-top: 6dvh !important;
        margin-bottom: 0 !important;
    }
    .s724-product-modal .modal-content {
        height: 100%;
        max-height: none;
    }
    .s724-product-modal-close {
        top: 9px;
        right: 10px;
        width: 40px;
        height: 40px;
    }
    .s724-product-modal .s724-legacy-modal-head {
        padding-right: 64px !important;
    }
}
@media (max-width: 575.98px) {
    .s724-product-modal .modal-dialog {
        height: 96dvh;
        max-height: 96dvh;
        margin-top: 4dvh !important;
    }
    .s724-product-modal-close {
        position: fixed;
        top: calc(4dvh + 9px);
        right: 10px;
    }
}
/* ========================================================================== 
   Unified product detail modal 1.3.0
   One shell for standard products, selection products and menu/packages.
   Products without media render content-only: no synthetic placeholder.
   ========================================================================== */
.s724-product-modal .modal-dialog {
    height: auto;
    max-height: calc(100dvh - 32px);
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}
.s724-product-modal .modal-content {
    height: auto;
    max-height: calc(100dvh - 32px);
}
.s724-product-modal-dynamic,
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form {
    width: 100%;
    max-height: calc(100dvh - 32px);
}
.s724-product-detail-layout {
    min-height: 0;
}
.s724-product-detail-layout.has-media {
    grid-template-columns: minmax(390px, .92fr) minmax(0, 1.35fr);
}
.s724-product-detail-layout.is-media-less {
    display: block;
    width: 100%;
}
.s724-product-detail-layout.is-media-less .s724-product-detail-content {
    width: 100%;
    min-height: 0;
    padding: clamp(30px, 3.6vw, 52px) clamp(30px, 4.2vw, 64px);
}
.s724-product-detail-layout.is-media-less .s724-product-detail-summary h5,
.s724-product-modal.is-media-less .s724-product-detail-summary h5 {
    max-width: none;
}
.s724-product-modal.is-media-less .s724-product-detail-options {
    grid-template-columns: minmax(0, 1fr);
}
.s724-product-modal.is-media-less .s724-product-detail-options .s724-detail-row,
.s724-product-modal.is-media-less .s724-product-detail-options .form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.s724-product-modal.is-media-less .s724-product-detail.is-packet .s724-detail-row,
.s724-product-modal.is-media-less .s724-product-detail.is-packet .form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.s724-product-modal.is-simple-detail .s724-product-detail-content {
    padding-top: clamp(34px, 4vw, 58px);
    padding-bottom: clamp(34px, 4vw, 58px);
}
.s724-product-modal.is-simple-detail .s724-product-detail-summary {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}
.s724-product-detail-warning {
    grid-column: 1 / -1;
    margin: 0 !important;
    border: 1px solid color-mix(in srgb, var(--s724-primary) 28%, var(--s724-line)) !important;
    border-radius: 10px !important;
}
.s724-product-detail.is-selection-product .s724-product-detail-eyebrow {
    color: var(--s724-primary);
}
.s724-product-detail.is-packet .s724-product-detail-options {
    gap: 10px;
}
.s724-product-modal.is-media-less .s724-product-detail-content>.s724-product-detail-options {
    max-width: none;
}
/* No fake image/placeholder in the modal. Kept defensive in case an older JS is cached. */
.s724-product-modal .s724-product-detail-placeholder {
    display: none !important;
}
@media (min-width: 1200px) {
    .s724-product-modal.is-media-less .modal-dialog {
        width: min(1180px, calc(100vw - 48px)) !important;
        max-width: min(1180px, calc(100vw - 48px)) !important;
    }
    .s724-product-modal.has-product-media .modal-dialog {
        width: min(1280px, calc(100vw - 48px)) !important;
        max-width: min(1280px, calc(100vw - 48px)) !important;
    }
}
@media (max-width: 991.98px) {
    .s724-product-modal .modal-dialog {
        height: 94dvh;
        max-height: 94dvh;
    }
    .s724-product-modal .modal-content,
    .s724-product-modal-dynamic,
    .s724-product-modal-dynamic>#modalForm,
    .s724-product-modal-dynamic>form {
        height: 100%;
        max-height: 94dvh;
    }
    .s724-product-detail-layout.has-media {
        grid-template-columns: 1fr;
    }
    .s724-product-detail-layout.is-media-less .s724-product-detail-content {
        padding: 24px 20px 28px;
    }
    .s724-product-modal.is-media-less .s724-product-detail-options .s724-detail-row,
    .s724-product-modal.is-media-less .s724-product-detail-options .form-row,
    .s724-product-modal.is-media-less .s724-product-detail.is-packet .s724-detail-row,
    .s724-product-modal.is-media-less .s724-product-detail.is-packet .form-row {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575.98px) {
    .s724-product-modal .modal-dialog {
        height: 96dvh;
        max-height: 96dvh;
    }
    .s724-product-modal .modal-content,
    .s724-product-modal-dynamic,
    .s724-product-modal-dynamic>#modalForm,
    .s724-product-modal-dynamic>form {
        max-height: 96dvh;
    }
    .s724-product-detail-layout.is-media-less .s724-product-detail-content {
        padding: 20px 16px 24px;
    }
}
/* ==========================================================================
   Product catalogue + configurator stability pass 1.4.0
   ========================================================================== */
.s724-product-card-action {
    min-height: 190px;
    grid-template-columns: minmax(0, 1fr) 158px;
}
.s724-product-card-body {
    padding: 18px 19px;
}
.s724-product-card h3 {
    line-height: 1.3;
}
.s724-product-card p {
    line-height: 1.58;
}
.s724-product-card-badges span {
    min-height: 23px;
    line-height: 1.1;
}
.s724-product-add {
    width: 38px;
    height: 38px;
    line-height: 1;
}
.s724-product-card-action.is-adding {
    pointer-events: none;
}
.s724-product-card-action.is-adding .s724-product-add {
    background: var(--s724-text);
}
.s724-product-image,
.s724-product-image img,
.s724-product-placeholder {
    min-height: 190px;
}
.s724-product-image {
    position: relative;
}
.s724-product-image.is-fallback::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(180deg, transparent 45%, rgba(10, 12, 14, .12));
}
.s724-product-image.is-fallback img {
    object-position: center;
}
/* Every configurator uses the same media/content split. If the product has no
   uploaded image JS supplies the local standard product artwork. */
.s724-product-modal .s724-product-detail-layout,
.s724-product-modal .s724-product-detail-layout.is-media-less,
.s724-product-modal .s724-product-detail-layout.has-media {
    display: grid;
    grid-template-columns: minmax(360px, .82fr) minmax(0, 1.38fr);
}
.s724-product-modal .s724-product-detail-media {
    display: block !important;
}
.s724-product-detail-media.is-fallback .s724-product-detail-image {
    object-position: center;
}
.s724-product-detail-summary h5,
.s724-product-modal .s724-product-detail-summary h5 {
    line-height: 1.08 !important;
}
.s724-product-detail-summary h5 small,
.s724-product-detail-summary h5 .small,
.s724-product-detail-summary h5>span {
    line-height: 1.62 !important;
}
.s724-product-detail-options .s724-choice-card,
.s724-product-detail-options .custom-control {
    min-height: 54px;
}
.s724-product-detail-options .s724-choice-card label,
.s724-product-detail-options .custom-control label,
.s724-product-detail-options .input-group-text,
.s724-product-detail-options .form-select,
.s724-product-detail-options select,
.s724-product-detail-options .s724-detail-select {
    line-height: 1.4;
}
.s724-product-detail-options .s724-option-pills input[type="radio"]+label,
.s724-product-detail-options .input-group-text,
.s724-product-detail-options .form-select,
.s724-product-detail-options select,
.s724-product-detail-options .s724-detail-select {
    min-height: 48px;
}
.s724-quantity-stepper,
.s724-product-detail-footer-control .s724-quantity-stepper {
    min-height: 46px;
}
.s724-quantity-btn,
.s724-quantity-input {
    min-height: 44px !important;
    line-height: 1 !important;
}
.s724-product-detail-footerbar {
    min-height: 76px;
}
.s724-product-modal .s724-product-detail-add {
    min-height: 50px !important;
    line-height: 1.2;
}
.s724-cart-aside button,
.s724-cart-aside .btn,
.s724-mobile-cart-dock button {
    line-height: 1.2;
}
@media (max-width: 991.98px) {
    .s724-product-modal .s724-product-detail-layout,
    .s724-product-modal .s724-product-detail-layout.is-media-less,
    .s724-product-modal .s724-product-detail-layout.has-media {
        grid-template-columns: 1fr;
    }
    .s724-product-detail-media {
        position: relative;
        height: 250px;
        min-height: 250px;
    }
}
@media (max-width: 575.98px) {
    .s724-product-card-action {
        min-height: 156px;
        grid-template-columns: minmax(0, 1fr) 116px;
    }
    .s724-product-image,
    .s724-product-image img,
    .s724-product-placeholder {
        min-height: 156px;
    }
    .s724-product-card-body {
        padding: 14px;
    }
    .s724-product-detail-media {
        height: 210px;
        min-height: 210px;
    }
}
/* ==========================================================================
   Product media fallback + cart polish 1.4.1
   ========================================================================== */
.s724-product-placeholder,
.s724-product-image-fallback {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 190px;
    place-items: center;
    color: var(--s724-primary);
    background:
        radial-gradient(circle at 64% 28%, color-mix(in srgb, var(--s724-primary) 18%, transparent), transparent 36%),
        linear-gradient(145deg, var(--s724-surface-2), color-mix(in srgb, var(--s724-surface) 82%, var(--s724-primary-soft)));
    font-size: clamp(2.15rem, 4vw, 3.1rem);
}
.s724-product-placeholder i,
.s724-product-image-fallback i {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    background: color-mix(in srgb, var(--s724-primary-soft) 88%, var(--s724-surface));
    border: 1px solid color-mix(in srgb, var(--s724-primary) 18%, var(--s724-line));
    border-radius: 18px;
    box-shadow: 0 14px 34px color-mix(in srgb, var(--s724-primary) 12%, transparent);
}
.s724-product-image-fallback {
    position: absolute;
    inset: 0;
}
.s724-product-image-fallback[hidden] {
    display: none !important;
}
.s724-product-card-action:hover .s724-product-placeholder i,
.s724-product-card-action:hover .s724-product-image-fallback i {
    transform: translateY(-2px) scale(1.025);
}
.s724-product-placeholder i,
.s724-product-image-fallback i {
    transition: transform .25s cubic-bezier(.2, .7, .2, 1);
}
/* Modal uses the same branded visual language when an uploaded photo does not exist. */
.s724-product-modal .s724-product-detail-placeholder {
    position: absolute;
    inset: 0;
    display: grid !important;
    place-items: center;
    color: var(--s724-primary);
    background:
        radial-gradient(circle at 64% 28%, color-mix(in srgb, var(--s724-primary) 18%, transparent), transparent 34%),
        linear-gradient(145deg, var(--s724-surface-2), color-mix(in srgb, var(--s724-surface) 82%, var(--s724-primary-soft)));
    font-size: clamp(3rem, 6vw, 5rem);
}
.s724-product-modal .s724-product-detail-placeholder i {
    display: grid;
    width: clamp(96px, 10vw, 132px);
    aspect-ratio: 1;
    place-items: center;
    background: color-mix(in srgb, var(--s724-primary-soft) 90%, var(--s724-surface));
    border: 1px solid color-mix(in srgb, var(--s724-primary) 18%, var(--s724-line));
    border-radius: 24px;
    box-shadow: 0 22px 55px color-mix(in srgb, var(--s724-primary) 14%, transparent);
}
/* Keep price and remove action visually independent inside every legacy cart row. */
.s724-cart-content .s724-cart-line {
    align-items: flex-start !important;
    gap: 14px;
    padding: 14px 14px 48px !important;
}
.s724-cart-content .s724-cart-line>.w-75 {
    width: auto !important;
    min-width: 0;
    flex: 1 1 auto;
}
.s724-cart-content .s724-cart-line-price {
    width: auto !important;
    min-width: 92px;
    flex: 0 0 auto;
    align-self: flex-start;
    margin-left: 8px;
    padding-top: 1px;
    color: var(--s724-text) !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.s724-cart-content .s724-cart-line-remove,
.s724-cart-content a.s724-cart-line-remove,
.s724-cart-content button.s724-cart-line-remove {
    top: auto !important;
    right: 12px !important;
    bottom: 11px !important;
    left: auto !important;
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    place-items: center;
    padding: 0 !important;
    color: var(--s724-danger) !important;
    background: color-mix(in srgb, var(--s724-danger) 8%, var(--s724-surface)) !important;
    border: 1px solid color-mix(in srgb, var(--s724-danger) 16%, var(--s724-line)) !important;
    border-radius: 8px !important;
    line-height: 1 !important;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.s724-cart-content .s724-cart-line-remove:hover {
    color: var(--s724-danger) !important;
    background: color-mix(in srgb, var(--s724-danger) 12%, var(--s724-surface)) !important;
    border-color: color-mix(in srgb, var(--s724-danger) 28%, var(--s724-line)) !important;
    transform: translateY(-1px);
}
.s724-cart-content .s724-cart-line-remove i {
    font-size: .92rem;
    line-height: 1;
}
@media (max-width: 575.98px) {
    .s724-product-placeholder,
    .s724-product-image-fallback {
        min-height: 156px;
    }
    .s724-product-placeholder i,
    .s724-product-image-fallback i {
        width: 60px;
        height: 60px;
        border-radius: 15px;
        font-size: 1.75rem;
    }
    .s724-cart-content .s724-cart-line {
        gap: 10px;
        padding: 13px 12px 46px !important;
    }
    .s724-cart-content .s724-cart-line-price {
        min-width: 82px;
        margin-left: 4px;
        font-size: .94rem !important;
    }
}
/* ========================================================================== 
   Product page + configurator final stability layer 1.5.0
   - one quantity owner (JS)
   - no border-bottom dividers inside product modal
   - fixed geometry for stepper / live total / action footer
   ========================================================================== */
.s724-products-page {
    --s724-product-control-h: 44px;
    --s724-product-control-lg: 50px;
}
/* Catalogue controls: predictable vertical rhythm. */
.s724-products-page .s724-menu-search,
.s724-products-page .s724-category-link,
.s724-products-page .s724-product-add,
.s724-products-page .s724-cart-close,
.s724-products-page .s724-mobile-cart-dock-btn {
    line-height: 1.2;
}
.s724-products-page .s724-menu-search {
    min-height: var(--s724-product-control-h);
}
.s724-products-page .s724-menu-search input {
    min-height: calc(var(--s724-product-control-h) - 2px);
    line-height: 1.25;
}
.s724-products-page .s724-category-link {
    min-height: 40px;
    align-items: center;
}
.s724-products-page .s724-product-card-action {
    height: 100%;
    align-items: stretch;
}
.s724-products-page .s724-product-card-body {
    min-width: 0;
}
.s724-products-page .s724-product-card h3,
.s724-products-page .s724-product-card p,
.s724-products-page .s724-product-card-bottom strong {
    overflow-wrap: anywhere;
}
.s724-products-page .s724-product-card-bottom {
    min-height: 40px;
    align-items: center;
}
/* --------------------------------------------------------------------------
   Modal shell
   -------------------------------------------------------------------------- */
.s724-product-modal {
    --bs-modal-width: 1280px;
    --bs-modal-header-border-width: 0;
    --bs-modal-footer-border-width: 0;
    --s724-modal-max-h: calc(100dvh - 24px);
}
.s724-product-modal .modal-dialog,
.s724-product-modal.has-product-media .modal-dialog,
.s724-product-modal.is-media-less .modal-dialog {
    width: min(1280px, calc(100vw - 24px)) !important;
    max-width: min(1280px, calc(100vw - 24px)) !important;
    height: auto !important;
    max-height: var(--s724-modal-max-h) !important;
    margin: 12px auto !important;
}
.s724-product-modal .modal-content {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: var(--s724-modal-max-h) !important;
    min-height: 0;
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 16px;
    box-shadow: 0 30px 90px rgba(10, 12, 14, .24);
}
.s724-product-modal-dynamic,
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form {
    width: 100%;
    min-height: 0;
    max-height: var(--s724-modal-max-h) !important;
}
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}
/* No border-bottom language in configurator. Legacy Bootstrap utilities are
   intentionally neutralized; spacing/cards provide hierarchy instead. */
.s724-product-modal .modal-header,
.s724-product-modal .modal-body,
.s724-product-modal .modal-footer,
.s724-product-modal .list-group-item,
.s724-product-modal .s724-product-detail-summary,
.s724-product-modal .s724-product-detail-media,
.s724-product-modal [class*="border-bottom"] {
    border-bottom: 0 !important;
}
.s724-product-modal .s724-legacy-modal-head {
    position: relative;
    z-index: 8;
    min-height: 64px;
    padding: 15px 74px 15px 20px !important;
    background: color-mix(in srgb, var(--s724-surface) 97%, transparent);
    border: 0 !important;
    box-shadow: 0 1px 0 color-mix(in srgb, var(--s724-line) 70%, transparent);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.s724-product-modal .s724-legacy-modal-head .modal-title {
    line-height: 1.2;
}
.s724-product-modal-close {
    position: absolute !important;
    top: 10px !important;
    right: 11px !important;
    width: 42px;
    height: 42px;
    line-height: 1;
}
.s724-product-modal .modal-body {
    min-height: 0;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
/* --------------------------------------------------------------------------
   Detail layout
   -------------------------------------------------------------------------- */
.s724-product-modal .s724-product-detail-layout,
.s724-product-modal .s724-product-detail-layout.has-media,
.s724-product-modal .s724-product-detail-layout.is-media-less {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(340px, .78fr) minmax(0, 1.32fr);
    align-items: stretch;
}
.s724-product-modal .s724-product-detail-media {
    position: sticky;
    top: 0;
    align-self: start;
    width: 100%;
    height: min(690px, calc(100dvh - 164px));
    min-height: 520px;
    overflow: hidden;
    background:
        radial-gradient(circle at 22% 14%, color-mix(in srgb, var(--s724-primary) 14%, transparent), transparent 30%),
        var(--s724-surface-2);
    border-right: 1px solid var(--s724-line);
}
.s724-product-modal .s724-product-detail-image,
.s724-product-modal .s724-legacy-product-image.s724-product-detail-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 100%;
    max-height: none !important;
    object-fit: cover;
}
.s724-product-modal .s724-product-detail-content {
    min-width: 0;
    padding: clamp(28px, 3vw, 44px);
    line-height: 1.58;
}
.s724-product-modal .s724-product-detail-summary {
    margin: 0 0 26px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
.s724-product-modal .s724-product-detail-eyebrow {
    margin-bottom: 12px;
    line-height: 1.2;
}
.s724-product-modal .s724-product-detail-summary h5,
.s724-product-modal .s724-product-detail-summary h5 * {
    max-width: 100%;
}
.s724-product-modal .s724-product-detail-summary h5 {
    font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
    line-height: 1.08 !important;
}
.s724-product-modal .s724-product-detail-summary h5 small,
.s724-product-modal .s724-product-detail-summary h5 .small,
.s724-product-modal .s724-product-detail-summary h5>span,
.s724-product-modal .s724-product-detail-summary h5 i.small {
    line-height: 1.58 !important;
}
.s724-product-modal .s724-product-detail-options {
    display: grid;
    gap: 12px;
}
/* Legacy section labels used border-top/bottom as separators. Turn them into
   typographic section headers so quantity/option changes never alter lines. */
.s724-product-modal .s724-product-detail-options>p.fw-bold.border-top,
.s724-product-modal .s724-product-detail-options>p.font-weight-bold.border-top {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 16px 0 2px !important;
    padding: 0 !important;
    color: var(--s724-text);
    border: 0 !important;
    font-size: .82rem;
    font-weight: 900 !important;
    line-height: 1.35;
}
.s724-product-modal .s724-product-detail-options>p.fw-bold.border-top::before,
.s724-product-modal .s724-product-detail-options>p.font-weight-bold.border-top::before {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    content: "";
    background: var(--s724-primary);
    border-radius: 2px;
}
.s724-product-modal .s724-product-detail-options .s724-detail-row,
.s724-product-modal .s724-product-detail-options .form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    margin: 0 !important;
}
.s724-product-modal .s724-product-detail.is-packet .s724-detail-row,
.s724-product-modal .s724-product-detail.is-packet .form-row {
    grid-template-columns: 1fr;
}
.s724-product-modal .s724-choice-card,
.s724-product-modal .custom-control,
.s724-product-modal .form-check {
    min-height: 54px;
    line-height: 1.35;
}
.s724-product-modal .s724-choice-card label,
.s724-product-modal .custom-control label,
.s724-product-modal .form-check label {
    line-height: 1.4;
}
.s724-product-modal .s724-detail-input-group,
.s724-product-modal .input-group,
.s724-product-modal .form-select,
.s724-product-modal select,
.s724-product-modal .s724-detail-select {
    line-height: 1.3;
}
/* --------------------------------------------------------------------------
   Stable quantity / live price footer
   -------------------------------------------------------------------------- */
.s724-product-modal .s724-legacy-modal-foot {
    position: relative;
    z-index: 9;
    flex: 0 0 auto;
    padding: 0 !important;
    background: color-mix(in srgb, var(--s724-surface) 98%, transparent);
    border: 0 !important;
    box-shadow: 0 -12px 34px rgba(14, 16, 19, .08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.s724-product-detail-footerbar {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 290px);
    gap: 18px;
    align-items: center;
    padding: 13px 16px;
}
.s724-product-detail-footer-meta {
    display: grid;
    width: max-content;
    min-width: 0;
    grid-template-columns: 150px 156px;
    gap: 12px;
    align-items: end;
}
.s724-product-detail-footer-control,
.s724-product-detail-footer-price {
    display: grid;
    min-width: 0;
    gap: 5px;
    padding: 0 !important;
    border: 0 !important;
}
.s724-product-detail-footer-control>small,
.s724-product-detail-footer-price>small {
    min-height: 12px;
    line-height: 1;
}
.s724-product-modal .s724-quantity-stepper,
.s724-product-detail-footer-control .s724-quantity-stepper {
    display: grid !important;
    width: 150px !important;
    min-width: 150px !important;
    height: 46px !important;
    min-height: 46px !important;
    grid-template-columns: 44px 62px 44px !important;
    align-items: stretch;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line) !important;
    border-radius: 10px !important;
    box-sizing: border-box;
}
.s724-product-modal .s724-quantity-btn {
    display: grid !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--s724-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: .9rem;
    line-height: 1 !important;
    box-shadow: none !important;
}
.s724-product-modal .s724-quantity-input {
    width: 62px !important;
    min-width: 62px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface) !important;
    border: 0 !important;
    border-right: 1px solid var(--s724-line) !important;
    border-left: 1px solid var(--s724-line) !important;
    border-radius: 0 !important;
    font-size: .94rem;
    font-weight: 900;
    line-height: 44px !important;
    text-align: center;
    font-variant-numeric: tabular-nums;
    box-shadow: none !important;
    appearance: textfield;
}
.s724-product-modal .s724-product-detail-footer-price {
    width: 156px;
    min-width: 156px;
    min-height: 46px;
    align-content: center;
    padding: 7px 12px !important;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line) !important;
    border-radius: 10px !important;
}
.s724-product-modal .s724-product-detail-footer-price #toplamFiyat {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--s724-text);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.15 !important;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    transition: opacity .14s ease;
}
.s724-product-detail.is-price-updating .s724-product-detail-footer-price #toplamFiyat {
    opacity: .48;
}
.s724-product-modal .s724-product-detail-add {
    width: 100%;
    min-width: 0 !important;
    min-height: 50px !important;
    height: 50px;
    margin: 0 !important;
    padding: 0 18px !important;
    line-height: 1.2 !important;
}
/* --------------------------------------------------------------------------
   Responsive modal geometry
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .s724-product-modal {
        --s724-modal-max-h: 94dvh;
    }
    .s724-product-modal .modal-dialog,
    .s724-product-modal.has-product-media .modal-dialog,
    .s724-product-modal.is-media-less .modal-dialog {
        width: 100% !important;
        max-width: none !important;
        height: var(--s724-modal-max-h) !important;
        max-height: var(--s724-modal-max-h) !important;
        align-items: flex-end;
        margin: 6dvh 0 0 !important;
    }
    .s724-product-modal .modal-content,
    .s724-product-modal-dynamic,
    .s724-product-modal-dynamic>#modalForm,
    .s724-product-modal-dynamic>form {
        height: 100% !important;
        max-height: 100% !important;
    }
    .s724-product-modal .modal-content {
        border-right: 0;
        border-left: 0;
        border-radius: 18px 18px 0 0;
    }
    .s724-product-modal .s724-product-detail-layout,
    .s724-product-modal .s724-product-detail-layout.has-media,
    .s724-product-modal .s724-product-detail-layout.is-media-less {
        grid-template-columns: 1fr;
    }
    .s724-product-modal .s724-product-detail-media {
        position: relative;
        top: auto;
        height: clamp(210px, 31dvh, 300px);
        min-height: 210px;
        border-right: 0;
        border-bottom: 0 !important;
    }
    .s724-product-modal .s724-product-detail-content {
        padding: 24px 20px 28px;
    }
    .s724-product-modal .s724-product-detail-options .s724-detail-row,
    .s724-product-modal .s724-product-detail-options .form-row {
        grid-template-columns: 1fr;
    }
    .s724-product-detail-footerbar {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 230px);
        gap: 12px;
        padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
    }
    .s724-product-detail-footer-meta {
        grid-template-columns: 146px minmax(118px, 146px);
        gap: 9px;
    }
    .s724-product-modal .s724-quantity-stepper,
    .s724-product-detail-footer-control .s724-quantity-stepper {
        width: 146px !important;
        min-width: 146px !important;
        grid-template-columns: 42px 62px 42px !important;
    }
    .s724-product-modal .s724-quantity-btn {
        width: 42px !important;
        min-width: 42px !important;
    }
    .s724-product-modal .s724-product-detail-footer-price {
        width: 100%;
        min-width: 118px;
    }
}
@media (max-width: 575.98px) {
    .s724-product-modal {
        --s724-modal-max-h: 96dvh;
    }
    .s724-product-modal .modal-dialog,
    .s724-product-modal.has-product-media .modal-dialog,
    .s724-product-modal.is-media-less .modal-dialog {
        margin-top: 4dvh !important;
    }
    .s724-product-modal .s724-legacy-modal-head {
        min-height: 58px;
        padding: 12px 62px 12px 16px !important;
    }
    .s724-product-modal-close {
        position: absolute !important;
        top: 8px !important;
        right: 9px !important;
        width: 40px;
        height: 40px;
    }
    .s724-product-modal .s724-product-detail-media {
        height: 200px;
        min-height: 200px;
    }
    .s724-product-modal .s724-product-detail-content {
        padding: 20px 16px 24px;
    }
    .s724-product-modal .s724-product-detail-summary {
        margin-bottom: 22px !important;
        padding-bottom: 0 !important;
    }
    .s724-product-detail-footerbar {
        grid-template-columns: 1fr;
        gap: 9px;
    }
    .s724-product-detail-footer-meta {
        width: 100%;
        grid-template-columns: 146px minmax(0, 1fr);
    }
    .s724-product-modal .s724-product-detail-footer-price {
        width: 100%;
        min-width: 0;
    }
    .s724-product-modal .s724-product-detail-add {
        height: 48px;
        min-height: 48px !important;
    }
}
/* Geometry guards: padding/borders must never increase modal/footer tracks. */
.s724-product-modal *,
.s724-product-modal *::before,
.s724-product-modal *::after {
    box-sizing: border-box;
}
.s724-product-detail-footerbar,
.s724-product-modal .s724-product-detail-footer-price,
.s724-product-modal .s724-quantity-stepper {
    box-sizing: border-box !important;
}
/* ========================================================================== 
   Gift selection modal 1.5.1
   ========================================================================== */
.s724-product-modal.is-gift-selection .modal-dialog {
    width: min(920px, calc(100vw - 32px)) !important;
    max-width: 920px !important;
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
}
.s724-product-modal.is-gift-selection .modal-content {
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
}
.s724-product-modal.is-gift-selection .s724-product-modal-dynamic,
.s724-product-modal.is-gift-selection .s724-product-modal-dynamic>form {
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
}
.s724-gift-selection {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-gift-shell {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-gift-head {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 22px 72px 20px 22px;
    background: var(--s724-surface);
    box-shadow: 0 10px 28px rgba(14, 16, 19, .045);
}
.s724-gift-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 10px;
    font-size: 1.08rem;
}
.s724-gift-head-copy {
    min-width: 0;
}
.s724-gift-head-copy .s724-product-detail-eyebrow {
    margin-bottom: 4px;
}
.s724-gift-head h2 {
    margin: 0;
    color: var(--s724-text);
    font-size: clamp(1.12rem, 2vw, 1.42rem);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1.2;
}
.s724-gift-head p {
    margin: 5px 0 0;
    color: var(--s724-muted);
    font-size: .82rem;
    line-height: 1.5;
}
.s724-gift-choices {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    gap: 12px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 18px 22px 22px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.s724-gift-group {
    display: grid;
    gap: 12px;
    padding: 16px;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
}
.s724-gift-group-head {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--s724-text);
}
.s724-gift-group-head>span {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 7px;
    font-size: .66rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}
.s724-gift-group-head strong {
    font-size: .88rem;
    font-weight: 900;
    line-height: 1.35;
}
.s724-gift-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.s724-gift-field {
    display: grid;
    min-width: 0;
    gap: 6px;
    margin: 0;
}
.s724-gift-field>span {
    color: var(--s724-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .02em;
}
.s724-product-modal .s724-gift-select {
    width: 100%;
    min-height: 48px;
    padding: 0 42px 0 13px;
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    font-size: .84rem;
    font-weight: 750;
    line-height: 1.3;
    box-shadow: none;
}
.s724-product-modal .s724-gift-select:focus {
    border-color: color-mix(in srgb, var(--s724-primary) 58%, var(--s724-line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--s724-primary) 12%, transparent);
}
.s724-product-modal .s724-gift-select.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, .08);
}
.s724-gift-footer {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--s724-surface) 98%, transparent);
    box-shadow: 0 -12px 34px rgba(14, 16, 19, .08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.s724-product-modal .s724-gift-submit {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.2;
}
.s724-product-modal .s724-gift-submit>span {
    flex: 1 1 auto;
    text-align: center;
}
@media (max-width: 767.98px) {
    .s724-product-modal.is-gift-selection .modal-dialog {
        width: 100% !important;
        max-width: none !important;
        height: 94dvh !important;
        max-height: 94dvh !important;
        margin: 6dvh 0 0 !important;
    }
    .s724-product-modal.is-gift-selection .modal-content,
    .s724-product-modal.is-gift-selection .s724-product-modal-dynamic,
    .s724-product-modal.is-gift-selection .s724-product-modal-dynamic>form {
        height: 100% !important;
        max-height: 100% !important;
    }
    .s724-gift-head {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
        padding: 15px 60px 14px 16px;
    }
    .s724-gift-icon {
        width: 40px;
        height: 40px;
    }
    .s724-gift-head p {
        display: none;
    }
    .s724-gift-choices {
        padding: 14px 14px 18px;
    }
    .s724-gift-fields {
        grid-template-columns: 1fr;
    }
    .s724-gift-group {
        padding: 13px;
    }
}
/* 1.5.2 category rail stability */
@media (max-width: 575.98px) {
    .s724-category-rail-inner {
        gap: 5px;
        padding-block: 8px 4px;
    }
    .s724-menu-search {
        width: 100%;
        max-width: none;
    }
    .s724-category-nav {
        margin-inline: 0;
        padding-inline: 0;
    }
    .s724-category-link {
        min-height: 36px;
        gap: 6px;
        padding-inline: 10px;
        font-size: .72rem;
    }
    .s724-category-link small {
        min-width: 19px;
        height: 19px;
    }
}
/* ==========================================================================
   Responsive category rail + flexible products footer 1.5.4
   ========================================================================== */
.s724-category-scroller {
    display: grid;
    min-width: 0;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    gap: 6px;
    align-items: center;
}
.s724-category-arrow {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    flex: 0 0 40px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    box-shadow: var(--s724-shadow-sm);
    transition: opacity .15s ease, background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.s724-category-arrow:not(:disabled):hover {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-color: color-mix(in srgb, var(--s724-primary) 30%, var(--s724-line));
    transform: translateY(-1px);
}
.s724-category-arrow:disabled {
    cursor: default;
    opacity: .28;
    box-shadow: none;
}
.s724-category-nav {
    min-width: 0;
    padding: 7px 1px;
    scroll-padding-inline: 8px;
    scrollbar-width: none;
}
.s724-category-link {
    min-width: max-content;
    height: 40px;
    min-height: 40px;
    white-space: nowrap;
    line-height: 1;
}
.s724-category-link span {
    overflow: hidden;
    max-width: 180px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (min-width: 1200px) {
    .s724-products-page .s724-footer {
        width: calc(100% - var(--s724-cart-width) - var(--s724-cart-gap) - 22px);
        max-width: 100%;
    }
    .s724-products-page .s724-footer>.s724-shell {
        width: min(100%, var(--s724-shell));
        max-width: var(--s724-shell);
        margin-inline: auto;
    }
}
@media (max-width: 1199.98px) {
    .s724-products-page .s724-footer {
        width: 100%;
    }
}
@media (max-width: 991.98px) {
    .s724-category-rail-inner {
        gap: 8px;
    }
    .s724-category-scroller {
        width: 100%;
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        gap: 5px;
    }
    .s724-category-arrow {
        width: 38px;
        height: 38px;
    }
    .s724-category-nav {
        padding-block: 4px;
    }
    .s724-category-link {
        height: 38px;
        min-height: 38px;
        padding-inline: 11px;
    }
}
@media (max-width: 575.98px) {
    .s724-category-scroller {
        grid-template-columns: 36px minmax(0, 1fr) 36px;
        gap: 4px;
    }
    .s724-category-arrow {
        width: 36px;
        height: 36px;
        border-radius: 7px;
    }
    .s724-category-link {
        height: 36px;
        min-height: 36px;
        padding-inline: 10px;
        font-size: .72rem;
    }
    .s724-category-link span {
        max-width: 145px;
    }
}
@media (min-width: 1200px) and (max-width: 1499.98px) {
    .s724-products-page .s724-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .s724-products-page .s724-footer-main {
        max-width: none;
    }
    .s724-products-page .s724-footer-order {
        align-items: flex-start;
        flex-direction: column;
    }
    .s724-products-page .s724-footer-order-actions {
        width: 100%;
        justify-content: space-between;
    }
}
/* ========================================================================== 
   Modal shell / viewport stability 1.5.7
   One persistent close control + resolution-safe internal scrolling.
   ========================================================================== */
.s724-product-modal {
    --s724-modal-edge: clamp(8px, 1.25vw, 18px);
    --s724-modal-height: calc(100dvh - (var(--s724-modal-edge) * 2));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--s724-modal-edge) 0;
}
.s724-product-modal .modal-dialog,
.s724-product-modal.has-product-media .modal-dialog,
.s724-product-modal.is-media-less .modal-dialog,
.s724-product-modal.is-gift-selection .modal-dialog {
    display: flex;
    width: min(1280px, calc(100vw - (var(--s724-modal-edge) * 2))) !important;
    max-width: min(1280px, calc(100vw - (var(--s724-modal-edge) * 2))) !important;
    height: var(--s724-modal-height) !important;
    max-height: var(--s724-modal-height) !important;
    min-height: 0 !important;
    align-items: stretch;
    margin: 0 auto !important;
}
.s724-product-modal.is-gift-selection .modal-dialog {
    width: min(920px, calc(100vw - (var(--s724-modal-edge) * 2))) !important;
    max-width: min(920px, calc(100vw - (var(--s724-modal-edge) * 2))) !important;
}
.s724-product-modal .modal-content {
    position: relative;
    display: flex;
    width: 100%;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-product-modal-dynamic {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form,
.s724-product-modal-dynamic>.s724-gift-selection,
.s724-product-modal-dynamic>.s724-gift-shell {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}
.s724-product-modal .modal-body,
.s724-product-modal .s724-gift-choices {
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.s724-product-modal .s724-legacy-modal-head,
.s724-product-modal .s724-gift-head,
.s724-product-modal .s724-legacy-modal-foot,
.s724-product-modal .s724-gift-footer {
    flex: 0 0 auto;
}
.s724-product-modal .s724-legacy-modal-head,
.s724-product-modal .s724-gift-head {
    padding-right: 76px !important;
}
/* Legacy response close controls are hidden; this control never gets replaced by AJAX. */
.s724-product-modal .s724-legacy-modal-head .close,
.s724-product-modal .s724-legacy-modal-head .btn-close,
.s724-product-modal .s724-gift-head .close,
.s724-product-modal .s724-gift-head .btn-close {
    display: none !important;
}
.s724-product-modal-close {
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    z-index: 80;
    display: inline-grid !important;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--s724-text);
    background: color-mix(in srgb, var(--s724-surface) 94%, transparent);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: 0 8px 26px rgba(14, 16, 19, .10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: 1rem;
    line-height: 1 !important;
    cursor: pointer;
}
.s724-product-modal-close i {
    display: block;
    line-height: 1;
    pointer-events: none;
}
.s724-product-modal-close:hover {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-product-modal-close:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--s724-primary) 28%, transparent);
    outline-offset: 2px;
}
/* Prevent detail columns/options from forcing horizontal overflow at any width. */
.s724-product-modal .s724-product-detail-layout,
.s724-product-modal .s724-product-detail-content,
.s724-product-modal .s724-product-detail-options,
.s724-product-modal .s724-detail-row,
.s724-product-modal .form-row,
.s724-product-modal .input-group,
.s724-product-modal .s724-detail-input-group {
    min-width: 0;
    max-width: 100%;
}
.s724-product-modal img,
.s724-product-modal select,
.s724-product-modal input,
.s724-product-modal textarea,
.s724-product-modal button {
    max-width: 100%;
}
@media (max-width: 991.98px) {
    .s724-product-modal {
        --s724-modal-edge: 0px;
        --s724-modal-height: min(96dvh, 100dvh);
        padding: 4dvh 0 0;
        overflow: hidden;
    }
    .s724-product-modal .modal-dialog,
    .s724-product-modal.has-product-media .modal-dialog,
    .s724-product-modal.is-media-less .modal-dialog,
    .s724-product-modal.is-gift-selection .modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        height: var(--s724-modal-height) !important;
        max-height: var(--s724-modal-height) !important;
        margin: auto 0 0 !important;
    }
    .s724-product-modal .modal-content {
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 18px 18px 0 0;
    }
    .s724-product-modal-close {
        top: 9px !important;
        right: max(10px, env(safe-area-inset-right)) !important;
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
    }
    .s724-product-modal .s724-legacy-modal-head,
    .s724-product-modal .s724-gift-head {
        padding-right: 64px !important;
    }
}
@media (max-width: 575.98px) {
    .s724-product-modal {
        --s724-modal-height: 97dvh;
        padding-top: 3dvh;
    }
    .s724-product-modal .s724-product-detail-media {
        height: clamp(170px, 27dvh, 220px);
        min-height: 170px;
    }
    .s724-product-modal .s724-product-detail-content {
        padding-inline: 14px;
    }
    .s724-product-modal .s724-product-detail-footerbar,
    .s724-product-modal .s724-gift-footer {
        padding-bottom: calc(10px + env(safe-area-inset-bottom));
    }
}
@media (max-width: 359.98px) {
    .s724-product-modal .s724-product-detail-content {
        padding-inline: 12px;
    }
    .s724-product-modal .s724-product-detail-footer-meta {
        grid-template-columns: 132px minmax(0, 1fr);
    }
    .s724-product-modal .s724-quantity-stepper,
    .s724-product-detail-footer-control .s724-quantity-stepper {
        width: 132px !important;
        min-width: 132px !important;
        grid-template-columns: 38px 56px 38px !important;
    }
}
@media (max-height: 620px) and (min-width: 992px) {
    .s724-product-modal {
        --s724-modal-edge: 8px;
    }
    .s724-product-modal .s724-product-detail-media {
        min-height: 0;
        height: calc(100dvh - 120px);
    }
    .s724-product-modal .s724-legacy-modal-head,
    .s724-product-modal .s724-gift-head {
        min-height: 54px;
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }
    .s724-product-modal-close {
        top: 7px !important;
        width: 38px;
        height: 38px;
        min-width: 38px;
        min-height: 38px;
    }
}
/* Keep compact gift modal content-sized while retaining the same safe viewport shell. */
.s724-product-modal.is-gift-selection .modal-dialog {
    height: auto !important;
    max-height: var(--s724-modal-height) !important;
    align-items: stretch;
}
.s724-product-modal.is-gift-selection .modal-content {
    height: auto !important;
    max-height: var(--s724-modal-height) !important;
}
.s724-product-modal.is-gift-selection .s724-product-modal-dynamic,
.s724-product-modal.is-gift-selection .s724-product-modal-dynamic>form,
.s724-product-modal.is-gift-selection .s724-product-modal-dynamic>.s724-gift-selection,
.s724-product-modal.is-gift-selection .s724-product-modal-dynamic>.s724-gift-shell {
    height: auto !important;
    max-height: var(--s724-modal-height) !important;
}
@media (max-width: 991.98px) {
    .s724-product-modal.is-gift-selection .modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        margin: auto 0 0 !important;
    }
}
/* ========================================================================== 
   Dense catalogue + outer modal scroll stability 1.5.8
   ========================================================================== */
/* More products in the viewport without shrinking tap targets too far. */
.s724-products-page .s724-products-content {
    padding-top: 22px;
}
.s724-products-page .s724-product-section {
    margin-bottom: 30px;
}
.s724-products-page .s724-product-grid {
    gap: 8px;
}
.s724-products-page .s724-product-card-action {
    min-height: 132px;
    grid-template-columns: minmax(0, 1fr) 108px;
    border-radius: 9px;
}
.s724-products-page .s724-product-card-body {
    padding: 12px 13px;
}
.s724-products-page .s724-product-card-badges {
    min-height: 18px;
    gap: 4px;
    margin-bottom: 4px;
    flex-wrap: nowrap;
    overflow: hidden;
}
.s724-products-page .s724-product-card-badges span {
    min-height: 18px;
    padding-inline: 6px;
    font-size: .5rem;
    line-height: 1;
    white-space: nowrap;
}
.s724-products-page .s724-product-card h3 {
    margin: 1px 0 4px;
    font-size: .9rem;
    line-height: 1.22;
}
.s724-products-page .s724-product-card p {
    margin: 0 0 5px;
    font-size: .67rem;
    line-height: 1.38;
    -webkit-line-clamp: 1;
}
.s724-products-page .s724-product-card-bottom {
    min-height: 30px;
    gap: 8px;
}
.s724-products-page .s724-product-card-bottom strong {
    font-size: .82rem;
    line-height: 1.1;
}
.s724-products-page .s724-product-add {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    font-size: .78rem;
    box-shadow: 0 5px 14px rgba(17, 17, 17, .12);
}
.s724-products-page .s724-product-image,
.s724-products-page .s724-product-placeholder,
.s724-products-page .s724-product-image-fallback,
.s724-products-page .s724-product-image img {
    min-height: 132px;
    height: 132px;
}
.s724-products-page .s724-product-placeholder,
.s724-products-page .s724-product-image-fallback {
    font-size: 1.72rem;
}
/* Large desktop gets a true dense 3-column catalogue. */
@media (min-width: 1680px) {
    .s724-products-page .s724-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .s724-products-page .s724-product-card-action {
        grid-template-columns: minmax(0, 1fr) 96px;
    }
}
/* Tablet keeps two useful columns while the cart is a drawer. */
@media (min-width: 720px) and (max-width: 991.98px) {
    .s724-products-page .s724-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .s724-products-page .s724-product-card-action {
        grid-template-columns: minmax(0, 1fr) 92px;
    }
}
@media (max-width: 719.98px) {
    .s724-products-page .s724-product-card-action {
        min-height: 122px;
        grid-template-columns: minmax(0, 1fr) 90px;
    }
    .s724-products-page .s724-product-card-body {
        padding: 10px 11px;
    }
    .s724-products-page .s724-product-image,
    .s724-products-page .s724-product-placeholder,
    .s724-products-page .s724-product-image-fallback,
    .s724-products-page .s724-product-image img {
        min-height: 122px;
        height: 122px;
    }
    .s724-products-page .s724-product-card h3 {
        font-size: .86rem;
    }
}
/* Smaller, fixed-geometry quantity control. */
.s724-product-modal .s724-product-detail-footer-meta {
    grid-template-columns: 128px 138px !important;
    gap: 9px !important;
}
.s724-product-modal .s724-quantity-stepper,
.s724-product-detail-footer-control .s724-quantity-stepper {
    width: 128px !important;
    min-width: 128px !important;
    height: 40px !important;
    min-height: 40px !important;
    grid-template-columns: 38px 52px 38px !important;
    border-radius: 8px !important;
}
.s724-product-modal .s724-quantity-btn {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    font-size: .82rem !important;
}
.s724-product-modal .s724-quantity-input {
    width: 52px !important;
    min-width: 52px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding-inline: 4px !important;
    font-size: .86rem !important;
    line-height: 38px !important;
}
.s724-product-modal .s724-product-detail-footer-price {
    width: 138px !important;
    min-width: 138px !important;
    min-height: 40px !important;
    padding: 5px 10px !important;
    border-radius: 8px !important;
}
.s724-product-modal .s724-product-detail-footer-price #toplamFiyat {
    font-size: .92rem !important;
}
.s724-product-modal .s724-product-detail-add {
    min-height: 44px !important;
    height: 44px !important;
}
/* --------------------------------------------------------------------------
   Modal scrolling: no nested modal-body scrollbar.
   The Bootstrap modal viewport itself becomes the only scroll surface once
   the natural content height is taller than the screen.
   -------------------------------------------------------------------------- */
.s724-product-modal {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}
.s724-product-modal .modal-dialog,
.s724-product-modal.has-product-media .modal-dialog,
.s724-product-modal.is-media-less .modal-dialog {
    width: min(1280px, calc(100vw - 24px)) !important;
    max-width: min(1280px, calc(100vw - 24px)) !important;
    height: auto !important;
    max-height: none !important;
    margin: clamp(12px, 2.5dvh, 26px) auto !important;
    align-items: initial !important;
}
.s724-product-modal .modal-content,
.s724-product-modal-dynamic,
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.s724-product-modal-dynamic>#modalForm,
.s724-product-modal-dynamic>form {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
}
.s724-product-modal .modal-body {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    scrollbar-gutter: auto !important;
    overscroll-behavior: auto !important;
}
/* Header/footer stay reachable while the outer modal surface scrolls. */
.s724-product-modal .s724-legacy-modal-head {
    position: sticky !important;
    top: 0;
    z-index: 12;
}
.s724-product-modal .s724-legacy-modal-foot {
    position: sticky !important;
    bottom: 0;
    z-index: 12;
}
/* The visual media may remain sticky on desktop, but it no longer owns scroll. */
.s724-product-modal .s724-product-detail-media {
    top: 64px;
}
@media (max-width: 991.98px) {
    .s724-product-modal .modal-dialog,
    .s724-product-modal.has-product-media .modal-dialog,
    .s724-product-modal.is-media-less .modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: max(14px, 3dvh) 0 10px !important;
    }
    .s724-product-modal .modal-content,
    .s724-product-modal-dynamic,
    .s724-product-modal-dynamic>#modalForm,
    .s724-product-modal-dynamic>form {
        height: auto !important;
        max-height: none !important;
    }
    .s724-product-modal .s724-product-detail-media {
        position: relative !important;
        top: auto !important;
    }
    .s724-product-detail-footerbar {
        grid-template-columns: minmax(0, 1fr) minmax(160px, 220px) !important;
    }
}
@media (max-width: 575.98px) {
    .s724-product-modal .modal-dialog,
    .s724-product-modal.has-product-media .modal-dialog,
    .s724-product-modal.is-media-less .modal-dialog {
        margin: max(10px, 2dvh) 0 8px !important;
    }
    .s724-product-modal .modal-content {
        border-radius: 16px 16px 10px 10px !important;
    }
    .s724-product-detail-footerbar {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .s724-product-modal .s724-product-detail-footer-meta {
        width: 100% !important;
        grid-template-columns: 128px minmax(0, 1fr) !important;
    }
    .s724-product-modal .s724-product-detail-footer-price {
        width: 100% !important;
        min-width: 0 !important;
    }
}
/* ========================================================================== 
   Product cart final polish 1.5.9
   ========================================================================== */
.s724-cart-content .s724-cart-line {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px !important;
    align-items: start !important;
    padding: 11px 11px 43px !important;
}
.s724-cart-content .s724-cart-line>.w-75 {
    width: auto !important;
    min-width: 0;
}
.s724-cart-content .s724-cart-line-price {
    min-width: 78px;
    margin: 0 !important;
    padding: 1px 0 0 !important;
    color: var(--s724-text) !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.s724-cart-content .s724-cart-line-remove,
.s724-cart-content a.s724-cart-line-remove,
.s724-cart-content button.s724-cart-line-remove {
    right: 10px !important;
    bottom: 9px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
}
.s724-cart-content .s724-cart-line h6 {
    margin-bottom: 3px !important;
    font-size: .76rem !important;
    line-height: 1.4 !important;
}
.s724-cart-content .s724-cart-line small {
    font-size: .66rem;
    line-height: 1.45 !important;
}
.s724-cart-content .s724-checkout-btn {
    min-height: 48px;
}
/* ========================================================================== */
/* 4) Checkout / summary */
/* ========================================================================== */
:root {
    --s724-checkout-max: 1380px;
    --s724-checkout-control: 50px;
}
.s724-checkout-page,
.s724-summary-page {
    background: var(--s724-bg);
    color: var(--s724-text);
}
.s724-checkout-page main,
.s724-summary-page main {
    min-width: 0;
}
.s724-checkout-titlebar {
    padding: 18px 0 !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    box-shadow: inset 0 -1px 0 var(--s724-line);
}
.s724-checkout-titlebar>.container {
    width: min(100% - 32px, var(--s724-shell-width, 1400px));
    max-width: none;
    margin-inline: auto;
    padding: 0;
}
.s724-checkout-titlebar .custom-title {
    margin: 0;
    padding: 0 !important;
    color: var(--s724-text) !important;
    font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
    letter-spacing: -.025em;
}
.s724-checkout-shell,
.s724-summary-shell {
    width: min(100% - 32px, var(--s724-shell-width, 1400px));
    max-width: none;
    margin-inline: auto;
    padding: 32px 0 56px !important;
}
.s724-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 390px);
    gap: 28px;
    margin: 0;
}
.s724-checkout-layout>[class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}
.s724-checkout-main {
    order: 1 !important;
    min-width: 0;
}
.s724-checkout-aside {
    order: 2 !important;
    min-width: 0;
}
.s724-checkout-aside>h4 {
    display: flex !important;
    min-height: 58px;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 18px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px 12px 0 0;
}
.s724-checkout-aside>h4 .text-muted {
    color: var(--s724-text) !important;
    font-size: 1rem !important;
}
.s724-checkout-aside>h4 i::before {
    content: "\f244";
    font-family: bootstrap-icons;
}
.s724-checkout-cart {
    position: sticky;
    top: calc(var(--s724-header-height, 74px) + 18px);
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-checkout-cart .list-group {
    margin: 0 !important;
}
.s724-checkout-cart .list-group-item {
    padding: 14px 16px;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    box-shadow: inset 0 -1px 0 var(--s724-line);
    line-height: 1.5;
}
.s724-checkout-cart .list-group-item:last-child {
    box-shadow: none;
}
.s724-checkout-cart .text-muted {
    color: var(--s724-muted) !important;
}
.s724-checkout-cart h6 {
    font-size: .87rem;
    line-height: 1.35;
}
.s724-checkout-cart small {
    line-height: 1.45;
}
.s724-checkout-cart .bg-success,
.s724-checkout-cart .bg-danger {
    color: var(--s724-text) !important;
    background: var(--s724-primary-soft) !important;
}
.s724-checkout-cart .bg-success strong,
.s724-checkout-cart .bg-danger strong,
#sepetToplamfiyat {
    color: var(--s724-primary) !important;
    font-weight: 850;
}
.s724-checkout-cart .input-group {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}
.s724-checkout-cart .input-group-append {
    display: contents;
}
.s724-checkout-cart+.btn,
.s724-checkout-aside>.btn {
    width: 100%;
    margin-top: 12px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
}
.s724-checkout-main>.lead,
.s724-checkout-main>h4,
.s724-checkout-main>.btn {
    margin-inline: 0;
}
.s724-checkout-form {
    display: grid;
    gap: 16px;
}
.s724-checkout-form>hr,
.s724-checkout-separator {
    display: none !important;
}
.s724-checkout-section,
.s724-checkout-form>.form-row,
.s724-checkout-form>.card,
.s724-checkout-form>.custom-control,
.s724-checkout-form>#odemeKontrolDurumu {
    padding: 20px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-checkout-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}
.s724-checkout-section-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 9px;
    font-size: 1rem;
}
.s724-checkout-section-head>span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.s724-checkout-section-head small {
    color: var(--s724-primary);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.s724-checkout-section-head strong {
    font-size: 1rem;
    letter-spacing: -.015em;
}
.s724-checkout-page .form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}
.s724-checkout-page .form-row>[class*="col-"] {
    width: auto;
    max-width: none;
    margin: 0 !important;
    padding: 0;
}
.s724-checkout-page .form-control,
.s724-checkout-page .custom-select,
.s724-checkout-page select,
.s724-checkout-page textarea {
    min-height: var(--s724-checkout-control);
    padding: 0 14px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: .9rem;
    line-height: 1.35;
    box-shadow: none;
}
.s724-checkout-page textarea {
    min-height: 108px;
    padding-block: 12px;
    resize: vertical;
}
.s724-checkout-page .form-control:focus,
.s724-checkout-page .custom-select:focus,
.s724-checkout-page select:focus,
.s724-checkout-page textarea:focus {
    border-color: rgba(233, 75, 36, .5);
    box-shadow: 0 0 0 3px rgba(233, 75, 36, .08);
}
.s724-checkout-page .input-group {
    border-radius: 8px;
}
.s724-checkout-page .input-group-prepend,
.s724-checkout-page .input-group-append {
    display: flex;
}
.s724-checkout-page .input-group-text {
    min-height: var(--s724-checkout-control);
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border-color: var(--s724-line);
}
.s724-choice {
    position: relative;
    margin: 0 0 10px !important;
    padding: 0 !important;
}
.s724-choice .custom-control-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.s724-choice .custom-control-label {
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 10px 14px;
    cursor: pointer;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.35;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.s724-choice .custom-control-label:hover {
    border-color: var(--s724-line-strong);
    transform: translateY(-1px);
}
.s724-choice .custom-control-label.is-selected {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .45);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .06);
}
.s724-choice .custom-control-label::before,
.s724-choice .custom-control-label::after {
    display: none !important;
}
.s724-payment-logo {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(20, 20, 20, .08);
    border-radius: 8px;
}
.s724-payment-logo img {
    max-width: 34px;
    max-height: 28px;
    object-fit: contain;
}
.s724-checkout-page .btn {
    min-height: 46px;
    border-radius: 8px;
    font-weight: 800;
    line-height: 1.2;
}
.s724-checkout-page .btn-success,
.s724-checkout-page .btn-warning,
.s724-checkout-page .btn-primary {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-checkout-page .btn-success:hover,
.s724-checkout-page .btn-warning:hover,
.s724-checkout-page .btn-primary:hover {
    background: var(--s724-primary-hover);
    border-color: var(--s724-primary-hover);
}
.s724-checkout-submit {
    display: inline-flex !important;
    width: 100%;
    min-height: 56px !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 !important;
    font-size: .92rem;
    letter-spacing: .01em;
}
.s724-checkout-submit .spinner-border {
    margin: 0 !important;
}
.s724-checkout-actionbar {
    position: sticky;
    bottom: 12px;
    z-index: 5;
    margin-top: 4px;
    padding: 10px !important;
    background: color-mix(in srgb, var(--s724-surface) 94%, transparent) !important;
    backdrop-filter: blur(18px);
}
.s724-checkout-actionbar>.list-group-item {
    border: 0;
    border-radius: 8px;
}
.s724-checkout-page .alert {
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    font-size: .82rem;
    line-height: 1.45;
}
.s724-checkout-page .alert-danger {
    color: #ad3218;
    background: rgba(233, 75, 36, .09);
}
.s724-checkout-page .modal-content,
.s724-summary-page .modal-content {
    overflow: hidden;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 14px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .22);
}
.s724-checkout-page .modal-header,
.s724-summary-page .modal-header {
    padding: 18px 20px;
    background: transparent !important;
    border: 0;
}
.s724-legacy-close {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-left: auto;
    padding: 0;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
/* Order summary */
.s724-summary-shell {
    max-width: min(100% - 32px, 980px);
}
.s724-summary-status {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
    padding: 22px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 14px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-summary-status-icon {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    place-items: center;
    color: #fff;
    border-radius: 12px;
    font-size: 1.45rem;
}
.s724-summary-status.is-success .s724-summary-status-icon {
    background: #25a868;
}
.s724-summary-status.is-error .s724-summary-status-icon {
    background: var(--s724-primary);
}
.s724-summary-status>span:last-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.s724-summary-status small {
    color: var(--s724-muted);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.s724-summary-status strong {
    font-size: clamp(1.15rem, 3vw, 1.55rem);
    letter-spacing: -.025em;
}
.s724-summary-page .text-danger {
    color: var(--s724-primary) !important;
}
.s724-summary-table {
    width: 100%;
    margin: 0 0 16px !important;
    overflow: hidden;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-summary-table> :not(caption)>*>* {
    padding: 13px 16px;
    color: var(--s724-text);
    background: transparent !important;
    border: 0;
    box-shadow: inset 0 -1px 0 var(--s724-line);
    font-size: .86rem;
    line-height: 1.5;
}
.s724-summary-table tr:last-child>* {
    box-shadow: none;
}
.s724-summary-table td:last-child {
    text-align: right;
    font-weight: 700;
}
.s724-summary-table small {
    color: var(--s724-muted);
    line-height: 1.45;
}
.s724-summary-page #ratingDealer .modal-dialog {
    max-width: 560px;
}
.s724-summary-page .rating {
    display: grid;
    gap: 14px;
}
@media (max-width: 991.98px) {
    .s724-checkout-shell,
    .s724-summary-shell {
        width: min(100% - 24px, var(--s724-shell-width, 1400px));
        padding-block: 22px 44px !important;
    }
    .s724-checkout-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .s724-checkout-main {
        order: 1 !important;
    }
    .s724-checkout-aside {
        order: 2 !important;
    }
    .s724-checkout-cart {
        position: static;
    }
    .s724-checkout-aside>h4 {
        border-radius: 12px 12px 0 0;
    }
    .s724-checkout-page #warenkorb {
        display: block !important;
        height: auto !important;
    }
}
@media (max-width: 575.98px) {
    :root {
        --s724-checkout-control: 48px;
    }
    .s724-checkout-titlebar {
        padding-block: 14px !important;
    }
    .s724-checkout-shell,
    .s724-summary-shell {
        width: calc(100% - 20px);
    }
    .s724-checkout-section,
    .s724-checkout-form>.form-row,
    .s724-checkout-form>.card {
        padding: 15px;
        border-radius: 10px;
    }
    .s724-checkout-page .form-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .s724-checkout-section-head {
        margin-bottom: 14px;
    }
    .s724-checkout-section-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
    .s724-choice .custom-control-label {
        min-height: 54px;
    }
    .s724-checkout-actionbar {
        bottom: 8px;
    }
    .s724-summary-status {
        padding: 16px;
        border-radius: 11px;
    }
    .s724-summary-status-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }
    .s724-summary-table> :not(caption)>*>* {
        padding: 11px 12px;
        font-size: .8rem;
    }
}
.s724-checkout-titlebar>.container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}
.s724-checkout-steps {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--s724-muted);
}
.s724-checkout-steps>span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border-radius: 7px;
    font-size: .72rem;
}
.s724-checkout-steps>span b {
    font-weight: 800;
}
.s724-checkout-steps>span.is-active {
    color: var(--s724-text);
}
.s724-checkout-steps>span.is-current {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
}
.s724-checkout-steps>i {
    color: var(--s724-line-strong);
    font-size: .68rem;
}
@media (max-width: 767.98px) {
    .s724-checkout-titlebar>.container {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
    .s724-checkout-steps {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .s724-checkout-steps::-webkit-scrollbar {
        display: none;
    }
    .s724-checkout-steps>span {
        padding-inline: 8px;
        white-space: nowrap;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.2.0 — products.php layout parity
   ========================================================================== */
.s724-checkout-page {
    --s724-checkout-aside-width: 390px;
    --s724-checkout-aside-gap: 22px;
    --s724-checkout-top: calc(var(--s724-header-height, 72px) + 18px);
    background: var(--s724-bg);
}
.s724-checkout-page .s724-checkout-titlebar {
    padding: 30px 0 22px !important;
    background:
        radial-gradient(circle at 18% 0%, var(--s724-primary-soft), transparent 34%),
        var(--s724-bg) !important;
    border: 0 !important;
    box-shadow: inset 0 -1px 0 var(--s724-line);
}
.s724-checkout-page .s724-checkout-titlebar>.container {
    width: min(100%, var(--s724-shell));
    max-width: var(--s724-shell);
    margin-inline: auto;
    padding-inline: 28px;
}
.s724-checkout-page .s724-checkout-titlebar .custom-title {
    margin: 0;
    color: var(--s724-text) !important;
    font-size: clamp(1.65rem, 3vw, 2.65rem) !important;
    font-weight: 860;
    letter-spacing: -.045em;
    line-height: 1;
}
.s724-checkout-page .s724-checkout-shell {
    width: min(100%, var(--s724-shell));
    max-width: var(--s724-shell);
    margin-inline: auto;
    padding: 28px calc(var(--s724-checkout-aside-width) + var(--s724-checkout-aside-gap) + 28px) 72px 28px !important;
}
.s724-checkout-page .s724-checkout-layout {
    display: block;
    margin: 0;
}
.s724-checkout-page .s724-checkout-main {
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 0 !important;
}
.s724-checkout-page .s724-checkout-aside {
    position: fixed;
    z-index: 1020;
    top: var(--s724-checkout-top);
    right: 22px;
    bottom: 18px;
    display: flex;
    width: var(--s724-checkout-aside-width);
    min-width: 0;
    max-width: none;
    min-height: 0;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(21, 25, 31, .15);
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-checkout-aside {
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}
.s724-checkout-page .s724-checkout-aside>h4 {
    display: flex !important;
    flex: 0 0 auto;
    min-height: 72px;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    margin: 0 !important;
    padding: 13px 14px !important;
    background: var(--s724-surface) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: inset 0 -1px 0 var(--s724-line);
}
.s724-checkout-cart-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
}
.s724-checkout-cart-heading-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 9px;
    font-size: 1rem;
}
.s724-checkout-cart-heading-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-checkout-cart-heading-copy small {
    color: var(--s724-muted);
    font-size: .62rem;
    font-weight: 700;
    line-height: 1.25;
}
.s724-checkout-cart-heading-copy strong {
    overflow: hidden;
    color: var(--s724-text);
    font-size: .92rem;
    font-weight: 840;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-checkout-cart-count {
    display: grid;
    min-width: 30px;
    height: 30px;
    place-items: center;
    padding-inline: 8px;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border: 1px solid color-mix(in srgb, var(--s724-primary) 28%, var(--s724-line));
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 850;
}
.s724-checkout-sheet-close {
    display: none;
    width: 38px;
    height: 38px;
    place-items: center;
    flex: 0 0 38px;
    padding: 0;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-checkout-page .s724-checkout-cart {
    position: static;
    display: block !important;
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--s724-surface);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.s724-checkout-page .s724-checkout-cart .list-group {
    gap: 7px;
    padding: 12px;
}
.s724-checkout-page .s724-checkout-cart .list-group-item {
    padding: 11px 12px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: .76rem;
    line-height: 1.5;
}
.s724-checkout-page .s724-checkout-cart .list-group-item.bg-success {
    color: var(--s724-text) !important;
    background: var(--s724-primary-soft) !important;
    border-color: color-mix(in srgb, var(--s724-primary) 32%, var(--s724-line)) !important;
}
.s724-checkout-page .s724-checkout-cart .list-group-item.bg-success span,
.s724-checkout-page .s724-checkout-cart .list-group-item.bg-success strong,
.s724-checkout-page #sepetToplamfiyat {
    color: var(--s724-primary) !important;
    font-weight: 900 !important;
}
.s724-checkout-page .s724-checkout-cart>.btn {
    width: calc(100% - 24px);
    min-height: 44px;
    margin: 0 12px 12px !important;
    flex: 0 0 auto;
}
.s724-checkout-page .s724-checkout-form {
    display: grid;
    gap: 14px;
}
.s724-checkout-page .s724-checkout-section,
.s724-checkout-page .s724-checkout-form>.form-row,
.s724-checkout-page .s724-checkout-form>.card,
.s724-checkout-page .s724-checkout-form>.custom-control,
.s724-checkout-page .s724-checkout-form>#odemeKontrolDurumu {
    padding: 18px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-checkout-page .s724-checkout-section-head {
    margin-bottom: 15px;
}
.s724-checkout-page .s724-checkout-section-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 8px;
}
.s724-checkout-page .form-control,
.s724-checkout-page .custom-select,
.s724-checkout-page select {
    min-height: 46px;
    height: 46px;
    padding: 0 13px;
    border-radius: 8px;
    font-size: .86rem;
    line-height: 1.25;
}
.s724-checkout-page textarea.form-control,
.s724-checkout-page textarea {
    min-height: 96px;
    height: auto;
    padding: 11px 13px;
    line-height: 1.55;
}
.s724-checkout-page .btn {
    min-height: 44px;
    border-radius: 8px;
    line-height: 1.15;
}
.s724-checkout-page .s724-choice .custom-control-label {
    min-height: 54px;
    padding: 9px 12px;
    border-radius: 8px;
}
.s724-checkout-page .s724-checkout-actionbar {
    bottom: 10px;
    z-index: 8;
}
/* Footer follows the left checkout column while the fixed summary is visible. */
@media (min-width: 1200px) {
    .s724-checkout-page .s724-footer {
        width: calc(100% - var(--s724-checkout-aside-width) - var(--s724-checkout-aside-gap) - 22px);
        max-width: 100%;
    }
    .s724-checkout-page .s724-footer>.s724-shell {
        width: min(100%, var(--s724-shell));
        max-width: var(--s724-shell);
        margin-inline: auto;
    }
}
.s724-checkout-mobilebar,
.s724-checkout-sheet-backdrop {
    display: none;
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
    .s724-checkout-page {
        --s724-checkout-aside-width: 360px;
        --s724-checkout-aside-gap: 16px;
    }
}
@media (max-width: 1199.98px) {
    .s724-checkout-page {
        padding-bottom: 78px;
    }
    .s724-checkout-page .s724-checkout-shell {
        width: min(100%, var(--s724-shell));
        padding: 22px 22px 58px !important;
    }
    .s724-checkout-page .s724-checkout-aside {
        z-index: 1060;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: min(84dvh, 760px);
        border-width: 1px 0 0;
        border-radius: 18px 18px 0 0;
        box-shadow: 0 -24px 70px rgba(0, 0, 0, .24);
        transform: translateY(105%);
        transition: transform .28s cubic-bezier(.2, .7, .2, 1);
    }
    .s724-checkout-page.is-summary-open {
        overflow: hidden;
    }
    .s724-checkout-page.is-summary-open .s724-checkout-aside {
        transform: translateY(0);
    }
    .s724-checkout-page .s724-checkout-aside>h4 {
        min-height: 66px;
        padding-inline: 14px !important;
    }
    .s724-checkout-sheet-close {
        display: grid;
    }
    .s724-checkout-page .s724-footer {
        width: 100%;
    }
    .s724-checkout-mobilebar {
        position: fixed;
        z-index: 1045;
        right: 12px;
        bottom: max(10px, env(safe-area-inset-bottom));
        left: 12px;
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr) auto 30px;
        gap: 10px;
        align-items: center;
        min-height: 58px;
        padding: 8px 11px;
        color: #fff;
        background: #17191c;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 11px;
        box-shadow: 0 18px 50px rgba(0, 0, 0, .24);
    }
    .s724-checkout-mobilebar>i:first-child {
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        color: #fff;
        background: var(--s724-primary);
        border-radius: 8px;
    }
    .s724-checkout-mobilebar-copy {
        display: flex;
        min-width: 0;
        flex-direction: column;
        gap: 1px;
        text-align: left;
    }
    .s724-checkout-mobilebar-copy small {
        color: rgba(255, 255, 255, .55);
        font-size: .6rem;
        line-height: 1.2;
    }
    .s724-checkout-mobilebar-copy strong {
        overflow: hidden;
        font-size: .78rem;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .s724-checkout-mobilebar-total {
        color: #fff;
        font-size: .82rem;
        font-weight: 900;
        white-space: nowrap;
    }
    .s724-checkout-mobilebar>i:last-child {
        color: rgba(255, 255, 255, .56);
    }
    .s724-checkout-sheet-backdrop {
        position: fixed;
        z-index: 1055;
        inset: 0;
        display: block;
        visibility: hidden;
        opacity: 0;
        background: rgba(8, 10, 12, .58);
        backdrop-filter: blur(2px);
        transition: opacity .2s ease, visibility .2s ease;
    }
    .s724-checkout-page.is-summary-open .s724-checkout-sheet-backdrop {
        visibility: visible;
        opacity: 1;
    }
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-checkout-titlebar {
        padding: 22px 0 16px !important;
    }
    .s724-checkout-page .s724-checkout-titlebar>.container {
        padding-inline: 18px;
    }
    .s724-checkout-page .s724-checkout-titlebar .custom-title {
        font-size: 1.75rem !important;
    }
    .s724-checkout-page .s724-checkout-shell {
        padding: 16px 14px 52px !important;
    }
    .s724-checkout-page .s724-checkout-section,
    .s724-checkout-page .s724-checkout-form>.form-row,
    .s724-checkout-page .s724-checkout-form>.card {
        padding: 14px;
        border-radius: 9px;
    }
    .s724-checkout-page .form-row {
        grid-template-columns: 1fr;
        gap: 9px;
    }
    .s724-checkout-page .s724-checkout-steps {
        max-width: 100%;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.2.1 — fixed summary geometry + payment method grid
   ========================================================================== */
.s724-checkout-page {
    --s724-checkout-shell-pad: 28px;
    --s724-checkout-aside-right: max(22px,
            calc((100vw - var(--s724-shell, 1400px)) / 2 + var(--s724-checkout-shell-pad)));
}
/* Keep the fixed order summary on the same right edge as the centered shell. */
@media (min-width: 1200px) {
    .s724-checkout-page .s724-checkout-aside {
        right: var(--s724-checkout-aside-right);
    }
    .s724-checkout-page .s724-checkout-shell {
        padding-right: calc(var(--s724-checkout-aside-width) + var(--s724-checkout-aside-gap) + var(--s724-checkout-shell-pad)) !important;
        padding-left: var(--s724-checkout-shell-pad) !important;
    }
    .s724-checkout-page .s724-checkout-main,
    .s724-checkout-page .s724-checkout-form,
    .s724-checkout-page .s724-checkout-section {
        min-width: 0;
        max-width: 100%;
    }
    .s724-checkout-page .form-control,
    .s724-checkout-page .custom-select,
    .s724-checkout-page select,
    .s724-checkout-page textarea,
    .s724-checkout-page .input-group {
        min-width: 0;
        max-width: 100%;
    }
}
/* Payment methods: 4 per row on desktop, then flow naturally to next row. */
.s724-checkout-page .s724-payment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin: 0;
}
.s724-checkout-page .s724-payment-grid>.custom-control,
.s724-checkout-page .s724-payment-grid>.s724-choice {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-payment-grid .custom-control-label {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 104px;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    padding: 12px 9px;
    text-align: center;
    overflow-wrap: anywhere;
    line-height: 1.3;
}
.s724-checkout-page .s724-payment-grid .s724-payment-logo,
.s724-checkout-page .s724-payment-grid .custom-control-payment {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    margin: 0;
}
.s724-checkout-page .s724-payment-grid .s724-payment-logo img,
.s724-checkout-page .s724-payment-grid .custom-control-payment img {
    max-width: 36px;
    max-height: 30px;
    object-fit: contain;
}
/* Tablet + mobile: the fixed bottom summary must never cover form controls. */
@media (max-width: 1199.98px) {
    .s724-checkout-page {
        padding-bottom: 106px;
    }
    .s724-checkout-page .s724-checkout-shell {
        padding-bottom: 126px !important;
    }
    .s724-checkout-page .s724-checkout-main {
        padding-bottom: 24px !important;
    }
    .s724-checkout-page .s724-checkout-actionbar {
        bottom: 82px;
    }
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .s724-checkout-page .s724-payment-grid .custom-control-label {
        min-height: 92px;
    }
}
@media (max-width: 575.98px) {
    .s724-checkout-page .s724-checkout-shell {
        padding-bottom: 132px !important;
    }
    .s724-checkout-page .s724-checkout-actionbar {
        bottom: 78px;
    }
    .s724-checkout-page .s724-payment-grid {
        gap: 8px;
    }
    .s724-checkout-page .s724-payment-grid .custom-control-label {
        min-height: 88px;
        padding: 10px 7px;
        font-size: .78rem;
    }
}
@media (max-width: 359.98px) {
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: 1fr;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.2.2 — exact products.php layout geometry
   The viewport is split exactly like the catalogue: flowing left main +
   fixed right summary. No centered-aside math and no grid-heading leakage.
   ========================================================================== */
.s724-checkout-page {
    --s724-checkout-aside-width: 390px;
    --s724-checkout-aside-gap: 22px;
    --s724-checkout-edge: 22px;
    --s724-checkout-top: calc(var(--s724-header-height, 76px) + 18px);
}
@media (min-width: 1200px) {
    /* The left checkout surface owns the viewport minus the fixed summary. */
    .s724-checkout-page .s724-checkout-titlebar,
    .s724-checkout-page .s724-checkout-shell {
        width: auto !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: calc(var(--s724-checkout-aside-width) + var(--s724-checkout-aside-gap) + var(--s724-checkout-edge)) !important;
    }
    .s724-checkout-page .s724-checkout-titlebar>.container,
    .s724-checkout-page .s724-checkout-layout {
        width: min(100%, var(--s724-shell, 1440px)) !important;
        max-width: var(--s724-shell, 1440px) !important;
        margin-inline: auto !important;
    }
    .s724-checkout-page .s724-checkout-titlebar>.container {
        padding-inline: 28px !important;
    }
    .s724-checkout-page .s724-checkout-shell {
        padding: 28px 28px 72px !important;
    }
    .s724-checkout-page .s724-checkout-layout {
        display: block !important;
        padding: 0 !important;
    }
    .s724-checkout-page .s724-checkout-main {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }
    /* Exact same fixed-cart geometry as products.php. */
    .s724-checkout-page .s724-checkout-aside {
        position: fixed !important;
        z-index: 1020 !important;
        top: var(--s724-checkout-top) !important;
        right: var(--s724-checkout-edge) !important;
        bottom: 18px !important;
        left: auto !important;
        width: var(--s724-checkout-aside-width) !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        transform: none !important;
    }
    /* Footer follows the same left surface as products.php. */
    .s724-checkout-page .s724-footer {
        width: calc(100% - var(--s724-checkout-aside-width) - var(--s724-checkout-aside-gap) - var(--s724-checkout-edge)) !important;
        max-width: none !important;
    }
    .s724-checkout-page .s724-footer>.s724-shell {
        width: min(100%, var(--s724-shell, 1440px)) !important;
        max-width: var(--s724-shell, 1440px) !important;
        margin-inline: auto !important;
    }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .s724-checkout-page {
        --s724-checkout-aside-width: 360px;
        --s724-checkout-aside-gap: 16px;
        --s724-checkout-edge: 16px;
    }
}
/* Payment section is one card; its heading is never a payment-grid cell. */
.s724-checkout-page .s724-checkout-payments {
    display: block !important;
}
.s724-checkout-page .s724-checkout-payments>.s724-checkout-section-head {
    display: flex !important;
    width: 100%;
    margin: 0 0 15px !important;
}
.s724-checkout-page .s724-payment-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-payment-grid>* {
    min-width: 0 !important;
}
.s724-checkout-page .s724-payment-grid>.s724-checkout-section-head {
    display: none !important;
}
.s724-checkout-page .s724-payment-grid .s724-choice,
.s724-checkout-page .s724-payment-grid>.custom-control {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-payment-grid .custom-control-label {
    width: 100% !important;
    min-height: 104px !important;
    height: 100% !important;
    padding: 12px 10px !important;
}
/* Keep legacy headings from creating floating strips between cards. */
.s724-checkout-page .s724-checkout-form>h4.fs-20 {
    margin: 2px 0 -4px !important;
    padding: 0 !important;
    color: var(--s724-text);
    font-size: .9rem !important;
    font-weight: 820;
    line-height: 1.35;
}
.s724-checkout-page .s724-checkout-note-section textarea {
    width: 100%;
    min-height: 96px;
    margin: 0;
}
/* Bottom account/legal options stay compact, like cart controls on products. */
.s724-checkout-page .s724-checkout-form>.s724-choice {
    padding: 10px 12px !important;
}
.s724-checkout-page .s724-checkout-form>.s724-choice .custom-control-label {
    min-height: 42px;
    padding: 8px 10px;
}
/* Tablet/mobile returns to the same bottom-sheet pattern as products.php. */
@media (max-width: 1199.98px) {
    .s724-checkout-page .s724-checkout-titlebar,
    .s724-checkout-page .s724-checkout-shell {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
    .s724-checkout-page .s724-checkout-layout {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
    .s724-checkout-page .s724-footer {
        width: 100% !important;
    }
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 575.98px) {
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .s724-checkout-page .s724-payment-grid .custom-control-label {
        min-height: 88px !important;
        padding: 9px 7px !important;
        font-size: .76rem !important;
    }
}
@media (max-width: 359.98px) {
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: 1fr !important;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout / Summary 1.3.0 — native storefront UI
   ========================================================================== */
.s724-checkout-page .s724-checkout-section-head {
    display: none !important;
}
.s724-checkout-block-title {
    display: grid;
    gap: 4px;
    margin: 0 0 16px;
}
.s724-checkout-eyebrow,
.s724-summary-kicker {
    color: var(--s724-primary);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1.2;
    text-transform: uppercase;
}
.s724-checkout-block-title h2 {
    margin: 0;
    color: var(--s724-text);
    font-size: 1.12rem;
    font-weight: 850;
    letter-spacing: -.025em;
    line-height: 1.25;
}
.s724-checkout-block-title p {
    max-width: 680px;
    margin: 3px 0 0;
    color: var(--s724-muted);
    font-size: .79rem;
    line-height: 1.55;
}
/* Address selector: true tabs, not legacy inline radios. */
.s724-checkout-page #teslimatAdresi.s724-checkout-address {
    display: block;
    padding: 18px;
}
.s724-address-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.s724-address-tab {
    position: relative;
    display: grid;
    min-height: 72px;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: 11px;
    align-items: center;
    margin: 0;
    padding: 11px 12px;
    cursor: pointer;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}
.s724-address-tab:hover {
    transform: translateY(-1px);
    border-color: var(--s724-line-strong);
}
.s724-address-tab.is-active {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .45);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .06);
}
.s724-address-tab input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.s724-address-tab-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: 1rem;
}
.s724-address-tab-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-address-tab-copy small {
    color: var(--s724-muted);
    font-size: .65rem;
    line-height: 1.25;
}
.s724-address-tab-copy strong {
    font-size: .86rem;
    line-height: 1.3;
}
.s724-address-tab-check {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: transparent;
    border: 1px solid var(--s724-line-strong);
    border-radius: 50%;
    font-size: .72rem;
}
.s724-address-tab.is-active .s724-address-tab-check {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
/* Time area stays intentionally compact: no extra title strip. */
.s724-checkout-page .s724-checkout-time {
    padding: 14px 16px !important;
}
.s724-checkout-page .s724-checkout-time-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    margin: 0 !important;
}
.s724-checkout-page .s724-checkout-time-grid>* {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
/* Payment grid: large provider marks when DB supplies an image, icons otherwise. */
.s724-checkout-page .s724-payment-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
}
.s724-checkout-page .s724-payment-grid>.s724-payment-option {
    position: relative;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-payment-option>input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.s724-checkout-page .s724-payment-option .custom-control-label {
    position: relative;
    display: grid !important;
    min-height: 132px !important;
    height: 100% !important;
    grid-template-rows: 72px auto;
    gap: 9px !important;
    align-content: center;
    justify-items: center;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 10px !important;
    cursor: pointer;
    color: var(--s724-text);
    text-align: center;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    line-height: 1.3 !important;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease;
}
.s724-checkout-page .s724-payment-option .custom-control-label:hover {
    transform: translateY(-1px);
    border-color: var(--s724-line-strong);
}
.s724-checkout-page .s724-payment-option .custom-control-label.is-selected {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .48);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .06);
}
.s724-payment-media {
    display: grid;
    width: min(100%, 150px);
    height: 72px;
    place-items: center;
    overflow: hidden;
    color: var(--s724-primary);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
.s724-payment-media i {
    font-size: 2rem;
    line-height: 1;
}
.s724-payment-media.has-db-image {
    padding: 8px 12px;
    background: #fff;
}
.s724-payment-media.has-db-image img {
    display: block;
    width: auto !important;
    max-width: 126px !important;
    height: auto !important;
    max-height: 54px !important;
    object-fit: contain;
}
.s724-payment-name {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--s724-text);
    font-size: .76rem;
    font-weight: 820;
    line-height: 1.35;
    text-overflow: ellipsis;
}
.s724-payment-check {
    position: absolute;
    top: 8px;
    right: 8px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: transparent;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line-strong);
    border-radius: 50%;
    font-size: .7rem;
}
.s724-payment-option .custom-control-label.is-selected .s724-payment-check {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-checkout-page .s724-payment-option .custom-control-label::before,
.s724-checkout-page .s724-payment-option .custom-control-label::after {
    display: none !important;
}
/* Summary: storefront confirmation rather than a legacy striped table page. */
.s724-summary-page .s724-summary-shell {
    width: min(100% - 32px, 1120px);
    max-width: 1120px;
    margin-inline: auto;
    padding: 28px 0 60px !important;
}
.s724-summary-top {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}
.s724-summary-hero {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 20px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-summary-hero-icon {
    display: grid;
    width: 60px;
    height: 60px;
    place-items: center;
    color: #fff;
    background: #25a868;
    border-radius: 12px;
    font-size: 1.45rem;
}
.s724-summary-hero.is-error .s724-summary-hero-icon {
    background: var(--s724-primary);
}
.s724-summary-hero-copy h1 {
    margin: 3px 0 4px;
    font-size: clamp(1.4rem, 3vw, 2.15rem);
    font-weight: 880;
    letter-spacing: -.04em;
    line-height: 1.05;
}
.s724-summary-hero-copy p {
    margin: 0;
    color: var(--s724-muted);
    font-size: .82rem;
    line-height: 1.55;
}
.s724-summary-events {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.s724-summary-event {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    padding: 11px 12px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
.s724-summary-event>span {
    grid-row: 1 / 3;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border-radius: 8px;
}
.s724-summary-event small {
    color: var(--s724-muted);
    font-size: .6rem;
    line-height: 1.2;
}
.s724-summary-event strong {
    font-size: .78rem;
    line-height: 1.3;
}
.s724-summary-event.is-done>span {
    color: #fff;
    background: #25a868;
}
.s724-summary-event.is-current {
    border-color: rgba(233, 75, 36, .42);
    background: var(--s724-primary-soft);
}
.s724-summary-event.is-current>span,
.s724-summary-event.is-error>span {
    color: #fff;
    background: var(--s724-primary);
}
.s724-summary-notice {
    margin: 0 !important;
    padding: 10px 12px;
    color: var(--s724-primary) !important;
    background: var(--s724-primary-soft);
    border-radius: 8px;
    text-align: left !important;
    font-size: .8rem !important;
}
.s724-summary-card {
    overflow: hidden;
    margin-bottom: 16px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 11px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-summary-page .s724-summary-shell>.s724-summary-card:last-of-type {
    margin-bottom: 0;
}
@media (max-width: 575.98px) {
    .s724-summary-card {
        margin-bottom: 14px;
    }
}
.s724-summary-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--s724-surface-2);
}
.s724-summary-card-title>span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 8px;
}
.s724-summary-card-title>div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.s724-summary-card-title small {
    color: var(--s724-primary);
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.s724-summary-card-title strong {
    font-size: .88rem;
    line-height: 1.3;
}
.s724-summary-card .s724-summary-table {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.s724-summary-card .s724-summary-table> :not(caption)>*>* {
    padding: 11px 14px;
    font-size: .8rem;
}
.s724-rating-modal .modal-content {
    border-radius: 12px;
}
@media (max-width: 991.98px) {
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 575.98px) {
    .s724-address-tabs {
        grid-template-columns: 1fr;
    }
    .s724-checkout-page .s724-checkout-time-grid {
        grid-template-columns: 1fr;
    }
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .s724-checkout-page .s724-payment-option .custom-control-label {
        min-height: 116px !important;
        grid-template-rows: 60px auto;
        padding: 9px 7px !important;
    }
    .s724-payment-media {
        height: 60px;
    }
    .s724-payment-media.has-db-image img {
        max-width: 105px !important;
        max-height: 44px !important;
    }
    .s724-summary-page .s724-summary-shell {
        width: calc(100% - 20px);
        padding-block: 18px 46px !important;
    }
    .s724-summary-hero {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 12px;
        padding: 15px;
    }
    .s724-summary-hero-icon {
        width: 48px;
        height: 48px;
        font-size: 1.15rem;
    }
    .s724-summary-events {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 359.98px) {
    .s724-checkout-page .s724-payment-grid {
        grid-template-columns: 1fr !important;
    }
}
/* ========================================================================== 
   Checkout controls + cart polish 1.4.0
   Business rules stay legacy; only presentation/state binding is modernized.
   ========================================================================== */
.s724-checkout-page .s724-checkout-main>.lead,
.s724-checkout-page .s724-checkout-main>#odemeLogin {
    display: none !important;
}
/* Native legal/options rows: controls are intentionally visible. */
.s724-checkout-page .s724-check-row,
.s724-checkout-page .s724-radio-row {
    display: flex !important;
    width: 100%;
    min-height: 50px;
    align-items: flex-start;
    gap: 11px;
    margin: 0 !important;
    padding: 12px 13px !important;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    box-shadow: none;
}
.s724-checkout-page .s724-check-row:hover,
.s724-checkout-page .s724-radio-row:hover {
    border-color: var(--s724-line-strong);
}
.s724-checkout-page .s724-check-row.is-selected,
.s724-checkout-page .s724-radio-row.is-selected {
    background: color-mix(in srgb, var(--s724-primary-soft) 72%, var(--s724-surface));
    border-color: color-mix(in srgb, var(--s724-primary) 38%, var(--s724-line));
}
.s724-checkout-page .s724-check-row>input,
.s724-checkout-page .s724-radio-row>input,
.s724-checkout-page .s724-check-row .custom-control-input,
.s724-checkout-page .s724-radio-row .custom-control-input {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    flex: 0 0 20px;
    margin: 1px 0 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
.s724-checkout-page .s724-check-row>label,
.s724-checkout-page .s724-radio-row>label,
.s724-checkout-page .s724-check-row .custom-control-label,
.s724-checkout-page .s724-radio-row .custom-control-label {
    display: block !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--s724-text);
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: .82rem;
    font-weight: 720;
    line-height: 1.55 !important;
    transform: none !important;
}
.s724-checkout-page .s724-check-row .custom-control-label::before,
.s724-checkout-page .s724-check-row .custom-control-label::after,
.s724-checkout-page .s724-radio-row .custom-control-label::before,
.s724-checkout-page .s724-radio-row .custom-control-label::after {
    display: none !important;
}
/* Address/payment are component cards, so their actual radio inputs remain visually hidden. */
.s724-checkout-page .s724-address-tab input,
.s724-checkout-page .s724-payment-option>input,
.s724-checkout-page .s724-payment-option .custom-control-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* Immediate / Vorbestellung keeps the original PHP state logic. */
.s724-schedule-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0 0 10px;
}
.s724-schedule-controls.is-preorder-only {
    grid-template-columns: minmax(0, 1fr);
}
.s724-schedule-controls .s724-schedule-option {
    min-height: 52px;
    align-items: center;
    background: var(--s724-surface-2);
}
.s724-schedule-controls .s724-schedule-option[style*="display: none"] {
    display: none !important;
}
.s724-checkout-page #teslimatZamanisecim {
    margin-top: 0;
}
.s724-checkout-page #teslimatZamanisecim:not(.show) {
    display: none !important;
}
.s724-checkout-page #teslimatZamanisecim.show {
    display: block !important;
}
/* Discount / voucher field in the fixed cart. */
.s724-discount-row,
.s724-checkout-cart .s724-discount-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    align-items: center;
    padding: 12px !important;
    background: var(--s724-surface-2) !important;
}
.s724-discount-control {
    display: grid !important;
    width: 100%;
    grid-column: 1 / -1;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: center;
    margin: 0 !important;
    padding: 5px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
.s724-discount-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 7px;
    font-size: .9rem;
}
.s724-discount-row .s724-discount-control .form-control,
.s724-checkout-cart .s724-discount-control .form-control {
    min-width: 0;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 5px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: .77rem;
    font-weight: 700;
}
.s724-discount-control .input-group-append {
    display: block !important;
}
.s724-discount-control .btn,
.s724-discount-submit {
    display: inline-flex !important;
    min-width: 94px;
    min-height: 38px !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 11px !important;
    color: #fff !important;
    background: var(--s724-primary) !important;
    border: 0 !important;
    border-radius: 7px !important;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1 !important;
}
.s724-discount-applied {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    color: var(--s724-text) !important;
}
.s724-discount-applied h6 {
    color: var(--s724-text);
    font-size: .82rem;
}
.s724-discount-applied small {
    color: var(--s724-primary) !important;
    font-size: .78rem;
    font-weight: 800;
}
.s724-discount-applied em {
    color: var(--s724-muted);
    font-size: .72rem;
    font-style: normal;
    font-weight: 650;
}
.s724-discount-value {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.s724-discount-value strong {
    color: var(--s724-success);
    font-size: .82rem;
    font-weight: 850;
    white-space: nowrap;
}
.s724-discount-remove {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    background: var(--s724-surface);
    color: var(--s724-muted);
}
.s724-discount-remove:hover {
    border-color: var(--s724-danger);
    color: var(--s724-danger);
}
.s724-discount-error {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0 !important;
    padding: 8px 10px !important;
}
/* Cart rows: price gets visual priority, totals become distinct, no legacy green block. */
.s724-checkout-cart .list-group-item {
    gap: 10px;
}
.s724-checkout-cart .s724-checkout-line-price {
    color: var(--s724-text) !important;
    font-weight: 850 !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.s724-checkout-cart .s724-checkout-total-row {
    color: var(--s724-text) !important;
    background: color-mix(in srgb, var(--s724-primary-soft) 72%, var(--s724-surface)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s724-primary) 22%, var(--s724-line)) !important;
}
.s724-checkout-cart .s724-checkout-total-row #sepetToplamfiyat {
    color: var(--s724-primary) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
}
/* Contact/address inputs: stable grid and visible field boundaries. */
.s724-checkout-page .s724-checkout-contact .form-row,
.s724-checkout-page #adresTip1 .form-row,
.s724-checkout-page #adresTip2 .form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
}
.s724-checkout-page .s724-checkout-contact .form-row>[class*="col"],
.s724-checkout-page #adresTip1 .form-row>[class*="col"],
.s724-checkout-page #adresTip2 .form-row>[class*="col"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-checkout-form .form-control,
.s724-checkout-page .s724-checkout-form .form-select,
.s724-checkout-page .s724-checkout-form .custom-select {
    min-height: 46px;
    line-height: 1.35;
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-checkout-contact .form-row,
    .s724-checkout-page #adresTip1 .form-row,
    .s724-checkout-page #adresTip2 .form-row {
        grid-template-columns: 1fr;
    }
    .s724-schedule-controls {
        grid-template-columns: 1fr;
    }
    .s724-discount-control {
        grid-template-columns: 32px minmax(0, 1fr) 42px !important;
    }
    .s724-discount-control .btn {
        min-width: 42px;
        width: 42px;
        padding: 0 !important;
    }
    .s724-discount-control .btn span {
        display: none;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.5.0 — Vanilla schedule picker + full footer geometry
   ========================================================================== */
.s724-checkout-page {
    --s724-checkout-aside-bottom: 18px;
}
@media (min-width: 1200px) {
    .s724-checkout-page .s724-checkout-aside {
        bottom: var(--s724-checkout-aside-bottom) !important;
        transition: bottom .12s linear;
    }
    /* Footer always uses the same global shell as header and the rest of the site. */
    .s724-checkout-page .s724-footer {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
    .s724-checkout-page .s724-footer>.s724-shell {
        width: min(100%, var(--s724-shell)) !important;
        max-width: var(--s724-shell) !important;
        margin-inline: auto !important;
        padding-inline: 28px !important;
    }
}
.s724-schedule-shell {
    display: grid;
    gap: 14px;
    overflow: hidden;
}
.s724-schedule-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.s724-schedule-controls.is-preorder-only {
    grid-template-columns: 1fr;
}
.s724-schedule-option {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-schedule-option>input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.s724-schedule-option>label {
    display: grid !important;
    min-height: 74px;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: 11px;
    align-items: center;
    width: 100%;
    margin: 0 !important;
    padding: 11px 13px !important;
    cursor: pointer;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    transition: transform .15s ease, border-color .15s ease, background-color .15s ease;
}
.s724-schedule-option>label:hover {
    border-color: var(--s724-line-strong);
    transform: translateY(-1px);
}
.s724-schedule-option.is-selected>label,
.s724-schedule-option>input:checked+label,
.s724-schedule-option>label.is-selected {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .42);
}
.s724-schedule-option-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    font-size: 1rem;
}
.s724-schedule-option-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-schedule-option-copy small {
    color: var(--s724-muted);
    font-size: .66rem;
    font-weight: 650;
    line-height: 1.25;
}
.s724-schedule-option-copy strong {
    overflow: hidden;
    color: var(--s724-text);
    font-size: .88rem;
    font-weight: 820;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-schedule-option-check {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: transparent;
    border: 1px solid var(--s724-line-strong);
    border-radius: 50%;
    font-size: .72rem;
}
.s724-schedule-option.is-selected .s724-schedule-option-check,
.s724-schedule-option>input:checked+label .s724-schedule-option-check {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-schedule-panel {
    display: block;
    margin: 0;
    padding: 14px;
    background: var(--s724-surface-2);
    border-radius: 10px;
}
.s724-schedule-panel[hidden] {
    display: none !important;
}
.s724-schedule-fields {
    display: grid !important;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
    gap: 14px !important;
    margin: 0 !important;
}
.s724-schedule-field {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-schedule-field-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: var(--s724-muted);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .015em;
}
.s724-schedule-field-label i {
    color: var(--s724-primary);
}
.s724-schedule-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.s724-schedule-picker {
    display: grid;
    gap: 7px;
    min-width: 0;
}
.s724-schedule-picker.is-day {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.s724-schedule-picker.is-time {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: 210px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 2px;
}
.s724-schedule-chip {
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 9px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.2;
    transition: border-color .14s ease, background-color .14s ease, transform .14s ease;
}
.s724-schedule-chip:hover {
    border-color: var(--s724-line-strong);
    transform: translateY(-1px);
}
.s724-schedule-chip.is-active {
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .38);
}
.s724-schedule-picker.is-day .s724-schedule-chip {
    flex-direction: column;
    align-items: flex-start;
    min-height: 58px;
    padding-inline: 11px;
}
.s724-schedule-picker.is-day .s724-schedule-chip strong {
    color: var(--s724-text);
    font-size: .8rem;
    line-height: 1.2;
}
.s724-schedule-picker.is-day .s724-schedule-chip small {
    color: var(--s724-muted);
    font-size: .66rem;
    font-weight: 650;
}
.s724-schedule-picker.is-time .s724-schedule-chip i {
    color: var(--s724-primary);
    font-size: .8rem;
}
.s724-schedule-empty {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    color: var(--s724-muted);
    background: var(--s724-surface);
    border: 1px dashed var(--s724-line-strong);
    border-radius: 8px;
    font-size: .76rem;
    line-height: 1.35;
}
.s724-schedule-empty i {
    color: var(--s724-primary);
}
@media (max-width: 767.98px) {
    .s724-schedule-controls,
    .s724-schedule-fields {
        grid-template-columns: 1fr !important;
    }
    .s724-schedule-picker.is-time {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-height: 196px;
    }
    .s724-schedule-picker.is-day {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 399.98px) {
    .s724-schedule-picker.is-time {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .s724-schedule-picker.is-day {
        grid-template-columns: 1fr;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.6.0 — control separation, compact address tabs,
   stable submit state and right-aligned cart values
   ========================================================================== */
/* Form fields stay neutral; options/consents read as settings, not inputs. */
.s724-checkout-page .s724-checkout-form .form-control,
.s724-checkout-page .s724-checkout-form .form-select,
.s724-checkout-page .s724-checkout-form .custom-select {
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding-inline: 13px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    box-shadow: none;
    font-size: .84rem;
    line-height: 1.35;
}
.s724-checkout-page .s724-checkout-form textarea.form-control {
    height: auto;
    min-height: 96px;
    padding-block: 12px;
    resize: vertical;
}
.s724-checkout-page .s724-setting-control.s724-check-row,
.s724-checkout-page .s724-setting-control.s724-radio-row {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100%;
    min-height: 38px;
    align-items: center;
    gap: 9px;
    margin: 0 !important;
    padding: 5px 2px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.s724-checkout-page .s724-setting-control.s724-check-row:hover,
.s724-checkout-page .s724-setting-control.s724-radio-row:hover,
.s724-checkout-page .s724-setting-control.s724-check-row.is-selected,
.s724-checkout-page .s724-setting-control.s724-radio-row.is-selected {
    background: transparent !important;
    border: 0 !important;
}
.s724-checkout-page .s724-setting-control>input,
.s724-checkout-page .s724-setting-control .custom-control-input,
.s724-checkout-page .s724-setting-control .form-check-input {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    flex: 0 0 21px;
    margin: 0 !important;
    accent-color: var(--s724-primary);
    background-color: var(--s724-surface) !important;
    border: 1.5px solid var(--s724-line-strong) !important;
    box-shadow: 0 2px 8px rgba(17, 19, 21, .05) !important;
}
.s724-checkout-page .s724-setting-control>input[type="checkbox"],
.s724-checkout-page .s724-setting-control .custom-control-input[type="checkbox"] {
    border-radius: 6px !important;
}
.s724-checkout-page .s724-setting-control>input[type="radio"],
.s724-checkout-page .s724-setting-control .custom-control-input[type="radio"] {
    border-radius: 50% !important;
}
.s724-checkout-page .s724-setting-control>input:checked,
.s724-checkout-page .s724-setting-control .custom-control-input:checked,
.s724-checkout-page .s724-setting-control .form-check-input:checked {
    background-color: var(--s724-primary) !important;
    border-color: var(--s724-primary) !important;
}
.s724-checkout-page .s724-setting-control>label,
.s724-checkout-page .s724-setting-control .custom-control-label,
.s724-checkout-page .s724-setting-control .form-check-label {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--s724-text) !important;
    font-size: .82rem !important;
    font-weight: 760 !important;
    line-height: 1.45 !important;
}
/* Legacy option titles now follow the same hierarchy as new checkout headings. */
.s724-checkout-option-heading {
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: var(--s724-text);
    font-size: .94rem !important;
    font-weight: 850 !important;
    letter-spacing: -.015em;
    line-height: 1.3 !important;
}
.s724-checkout-option-heading+.s724-setting-control {
    margin-top: 4px !important;
}
.s724-checkout-page .s724-checkout-block-title {
    gap: 3px;
    margin-bottom: 14px;
}
.s724-checkout-page .s724-checkout-block-title h2 {
    font-size: 1.06rem;
    line-height: 1.25;
}
.s724-checkout-page .s724-checkout-block-title p {
    margin-top: 2px;
    font-size: .76rem;
    line-height: 1.5;
}
/* Address choice behaves like compact tabs; fields keep the full form grid. */
.s724-checkout-page .s724-address-tabs {
    display: grid;
    width: fit-content;
    max-width: 100%;
    grid-template-columns: repeat(2, minmax(210px, 250px));
    gap: 9px;
    margin-bottom: 14px;
}
.s724-checkout-page .s724-address-tab {
    min-height: 60px;
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 8px;
}
.s724-checkout-page .s724-address-tab-icon {
    width: 36px;
    height: 36px;
    border-radius: 7px;
    font-size: .9rem;
}
.s724-checkout-page .s724-address-tab-copy small {
    font-size: .59rem;
}
.s724-checkout-page .s724-address-tab-copy strong {
    font-size: .8rem;
}
.s724-checkout-page .s724-address-tab-check {
    width: 20px;
    height: 20px;
}
/* Keep every contact/address field on the same geometry. */
.s724-checkout-page .s724-checkout-contact .form-row,
.s724-checkout-page #adresTip1 .form-row,
.s724-checkout-page #adresTip2 .form-row {
    align-items: stretch;
    grid-auto-rows: minmax(48px, auto);
}
.s724-checkout-page .s724-checkout-contact .form-row>*,
.s724-checkout-page #adresTip1 .form-row>*,
.s724-checkout-page #adresTip2 .form-row>* {
    min-width: 0;
    align-self: stretch;
}
/* Submit: no legacy Loading text; geometry never changes while locked. */
.s724-checkout-page .s724-checkout-actionbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.s724-checkout-page #odemeButonu.s724-checkout-submit {
    display: grid !important;
    width: min(100%, 390px);
    min-height: 54px !important;
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    gap: 10px;
    align-items: center;
    justify-items: start;
    margin: 0 !important;
    padding: 0 16px !important;
    color: #fff !important;
    background: var(--s724-primary) !important;
    border: 1px solid var(--s724-primary) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(233, 75, 36, .18);
    font-size: .9rem;
    font-weight: 850;
    line-height: 1 !important;
    transition: transform .16s ease, background-color .16s ease, opacity .16s ease;
}
.s724-checkout-page #odemeButonu.s724-checkout-submit:hover:not(:disabled) {
    background: var(--s724-primary-hover) !important;
    transform: translateY(-1px);
}
.s724-checkout-page #odemeButonu .s724-submit-state-icon {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    background: rgba(255, 255, 255, .13);
    border-radius: 7px;
    font-size: .9rem;
}
.s724-checkout-page #odemeButonu .s724-submit-label {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-checkout-page #odemeButonu .s724-submit-arrow {
    justify-self: end;
}
.s724-checkout-page #odemeButonu.is-submitting {
    cursor: wait;
    opacity: .78;
    transform: none !important;
}
.s724-checkout-page #odemeButonu.is-submitting .s724-submit-state-icon i {
    animation: s724-submit-spin .8s linear infinite;
}
@keyframes s724-submit-spin {
    to {
        transform: rotate(360deg);
    }
}
/* Cart prices use a fixed right edge, so item/tax/total values read as one column. */
.s724-checkout-page .s724-checkout-cart .list-group-item:not([data-s724-discount-row]) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
    column-gap: 14px;
    align-items: start;
}
.s724-checkout-page .s724-checkout-cart .list-group-item:not([data-s724-discount-row])> :last-child,
.s724-checkout-page .s724-checkout-cart .s724-checkout-line-price,
.s724-checkout-page .s724-checkout-cart #sepetToplamfiyat {
    min-width: 82px;
    justify-self: end;
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.s724-checkout-page .s724-checkout-cart .s724-checkout-line-price {
    font-size: .82rem;
    line-height: 1.35;
}
.s724-checkout-page .s724-checkout-cart .s724-checkout-total-row #sepetToplamfiyat {
    font-size: 1.02rem !important;
}
/* Dark checkout is intentionally balanced, not simply inverted. */
html[data-s724-theme="dark"] .s724-checkout-page .s724-checkout-section,
html[data-s724-theme="dark"] .s724-checkout-page .s724-checkout-cart,
html[data-s724-theme="dark"] .s724-checkout-page .s724-checkout-aside>h4 {
    background: #181b1f !important;
    border-color: rgba(255, 255, 255, .08) !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .form-control,
html[data-s724-theme="dark"] .s724-checkout-page .form-select,
html[data-s724-theme="dark"] .s724-checkout-page .custom-select,
html[data-s724-theme="dark"] .s724-checkout-page .s724-payment-option .custom-control-label,
html[data-s724-theme="dark"] .s724-checkout-page .s724-address-tab {
    color: #f4f5f6 !important;
    background: #20242a !important;
    border-color: rgba(255, 255, 255, .09) !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-address-tab.is-active,
html[data-s724-theme="dark"] .s724-checkout-page .s724-payment-option.is-active .custom-control-label,
html[data-s724-theme="dark"] .s724-checkout-page .s724-payment-option .custom-control-input:checked+.custom-control-label {
    background: rgba(233, 75, 36, .12) !important;
    border-color: rgba(255, 112, 76, .52) !important;
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-address-tabs {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .s724-checkout-page #odemeButonu.s724-checkout-submit {
        width: 100%;
    }
}
@media (max-width: 419.98px) {
    .s724-checkout-page .s724-address-tabs {
        grid-template-columns: 1fr;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.6.1 — stable Vorbestellung controller + larger payment marks
   ========================================================================== */
/* Schedule cards are custom components: never show legacy radio/pseudo controls. */
.s724-checkout-page .s724-schedule-option>input[type="radio"] {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
}
.s724-checkout-page .s724-schedule-option>label::before,
.s724-checkout-page .s724-schedule-option>label::after,
.s724-checkout-page .s724-schedule-option .custom-control-label::before,
.s724-checkout-page .s724-schedule-option .custom-control-label::after {
    display: none !important;
    content: none !important;
}
.s724-checkout-page .s724-schedule-option>label {
    min-height: 78px !important;
    grid-template-columns: 44px minmax(0, 1fr) 24px !important;
    padding: 12px 14px !important;
}
.s724-checkout-page .s724-schedule-option.is-selected>label {
    background: var(--s724-primary-soft) !important;
    border-color: rgba(233, 75, 36, .48) !important;
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .06);
}
.s724-checkout-page .s724-schedule-option:not(.is-selected)>label {
    background: var(--s724-surface-2) !important;
    border-color: var(--s724-line) !important;
}
.s724-checkout-page .s724-schedule-panel {
    overflow: visible !important;
}
.s724-checkout-page .s724-schedule-picker.is-time {
    align-content: start;
}
.s724-schedule-loading {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 12px;
    color: var(--s724-muted);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: .76rem;
    grid-column: 1 / -1;
}
/* Payment marks: provider assets are intentionally prominent and consistent. */
.s724-checkout-page .s724-payment-option .custom-control-label {
    min-height: 154px !important;
    grid-template-rows: 92px auto !important;
    gap: 10px !important;
    padding: 12px 10px 14px !important;
}
.s724-checkout-page .s724-payment-media {
    width: min(100%, 190px) !important;
    height: 92px !important;
    border-radius: 10px;
}
.s724-checkout-page .s724-payment-media i {
    font-size: 2.5rem !important;
}
.s724-checkout-page .s724-payment-media.has-db-image {
    padding: 7px 10px !important;
}
.s724-checkout-page .s724-payment-media.has-db-image img {
    width: auto !important;
    max-width: 172px !important;
    height: auto !important;
    max-height: 74px !important;
    object-fit: contain !important;
}
.s724-checkout-page .s724-payment-name {
    font-size: .78rem !important;
    line-height: 1.28 !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-payment-media.has-db-image {
    background: #fff !important;
    border-color: rgba(255, 255, 255, .14) !important;
}
@media (max-width: 991.98px) {
    .s724-checkout-page .s724-payment-option .custom-control-label {
        min-height: 142px !important;
        grid-template-rows: 80px auto !important;
    }
    .s724-checkout-page .s724-payment-media {
        height: 80px !important;
    }
    .s724-checkout-page .s724-payment-media.has-db-image img {
        max-width: 148px !important;
        max-height: 64px !important;
    }
}
@media (max-width: 575.98px) {
    .s724-checkout-page .s724-payment-option .custom-control-label {
        min-height: 132px !important;
        grid-template-rows: 72px auto !important;
        padding: 10px 8px 12px !important;
    }
    .s724-checkout-page .s724-payment-media {
        width: min(100%, 150px) !important;
        height: 72px !important;
    }
    .s724-checkout-page .s724-payment-media.has-db-image img {
        max-width: 132px !important;
        max-height: 56px !important;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout 1.6.2 — stable schedule tabs (address-tab language)
   ========================================================================== */
.s724-checkout-page .s724-schedule-shell {
    display: grid !important;
    gap: 10px !important;
    padding: 12px !important;
    overflow: visible !important;
}
.s724-checkout-page .s724-schedule-tabs {
    display: grid !important;
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(180px, 230px)) !important;
    gap: 9px !important;
    margin: 0 !important;
}
.s724-checkout-page .s724-schedule-tabs.is-preorder-only {
    grid-template-columns: minmax(180px, 230px) !important;
}
.s724-checkout-page .s724-schedule-tab {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.s724-checkout-page .s724-schedule-tab>input[type="radio"] {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    opacity: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
}
.s724-checkout-page .s724-schedule-tab>label,
.s724-checkout-page .s724-schedule-tab .custom-control-label {
    display: flex !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 13px !important;
    cursor: pointer !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    transform: none !important;
    line-height: 1.25 !important;
}
.s724-checkout-page .s724-schedule-tab>label::before,
.s724-checkout-page .s724-schedule-tab>label::after,
.s724-checkout-page .s724-schedule-tab .custom-control-label::before,
.s724-checkout-page .s724-schedule-tab .custom-control-label::after {
    display: none !important;
    content: none !important;
}
.s724-checkout-page .s724-schedule-tab>label:hover {
    border-color: var(--s724-line-strong) !important;
}
.s724-checkout-page .s724-schedule-tab.is-active>label,
.s724-checkout-page .s724-schedule-tab[aria-selected="true"]>label {
    color: var(--s724-text) !important;
    background: var(--s724-primary-soft) !important;
    border-color: rgba(233, 75, 36, .46) !important;
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .05) !important;
}
.s724-checkout-page .s724-schedule-tab-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    font-size: .82rem;
    font-weight: 820;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Retire the old icon/copy/check presentation completely. */
.s724-checkout-page .s724-schedule-option-icon,
.s724-checkout-page .s724-schedule-option-copy,
.s724-checkout-page .s724-schedule-option-check {
    display: none !important;
}
.s724-checkout-page .s724-schedule-panel {
    margin: 0 !important;
    padding: 11px !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    border-radius: 8px !important;
}
.s724-checkout-page .s724-schedule-panel[hidden] {
    display: none !important;
}
.s724-checkout-page .s724-schedule-field-label {
    margin-bottom: 7px !important;
}
.s724-checkout-page .s724-schedule-field-label i {
    display: none !important;
}
.s724-checkout-page .s724-schedule-picker.is-day {
    grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
}
.s724-checkout-page .s724-schedule-picker.is-time {
    grid-template-columns: repeat(4, minmax(82px, 1fr)) !important;
}
.s724-checkout-page .s724-schedule-picker.is-time .s724-schedule-chip i {
    display: none !important;
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-schedule-tabs {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .s724-checkout-page .s724-schedule-tabs.is-preorder-only {
        grid-template-columns: 1fr !important;
    }
    .s724-checkout-page .s724-schedule-picker.is-time {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 419.98px) {
    .s724-checkout-page .s724-schedule-tabs,
    .s724-checkout-page .s724-schedule-picker.is-day {
        grid-template-columns: 1fr !important;
    }
    .s724-checkout-page .s724-schedule-picker.is-time {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-tab>label {
    background: color-mix(in srgb, var(--s724-surface-2) 92%, #000) !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-tab.is-active>label {
    background: rgba(233, 75, 36, .14) !important;
    border-color: rgba(255, 112, 76, .52) !important;
}
/* ========================================================================== 
   Sipariş724 Checkout 1.6.3 — schedule state rebuild
   Uses the same visual language as Privat/Firma address tabs.
   ========================================================================== */
.s724-checkout-page .s724-schedule-legacy-control {
    display: none !important;
}
.s724-checkout-page .s724-schedule-shell {
    display: grid !important;
    gap: 12px !important;
    padding: 14px !important;
    overflow: visible !important;
}
.s724-checkout-page .s724-schedule-mode-tabs {
    display: grid !important;
    width: fit-content !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(210px, 250px)) !important;
    gap: 9px !important;
    margin: 0 !important;
}
.s724-checkout-page .s724-schedule-mode-tabs.is-preorder-only {
    grid-template-columns: minmax(210px, 250px) !important;
}
.s724-checkout-page .s724-schedule-mode-tab {
    min-height: 60px !important;
    grid-template-columns: minmax(0, 1fr) 20px !important;
    gap: 10px !important;
    padding: 8px 10px 8px 13px !important;
    text-align: left !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.s724-checkout-page .s724-schedule-mode-tab .s724-address-tab-copy {
    justify-content: center !important;
}
.s724-checkout-page .s724-schedule-mode-tab .s724-address-tab-copy strong {
    font-size: .82rem !important;
    line-height: 1.3 !important;
}
.s724-checkout-page .s724-schedule-mode-tab .s724-address-tab-check {
    width: 20px !important;
    height: 20px !important;
}
.s724-checkout-page .s724-schedule-panel {
    display: block !important;
    margin: 0 !important;
    padding: 12px !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    border-radius: 9px !important;
}
.s724-checkout-page .s724-schedule-panel[hidden] {
    display: none !important;
}
.s724-checkout-page .s724-schedule-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) !important;
    gap: 12px !important;
    align-items: start !important;
    margin: 0 !important;
}
.s724-checkout-page .s724-schedule-fields>* {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-schedule-field-label {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--s724-muted) !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
}
.s724-checkout-page .s724-schedule-picker {
    align-items: stretch !important;
    gap: 8px !important;
}
.s724-checkout-page .s724-schedule-picker.is-day {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.s724-checkout-page .s724-schedule-picker.is-time {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
}
.s724-checkout-page .s724-schedule-chip {
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    transform: none !important;
    line-height: 1.25 !important;
}
.s724-checkout-page .s724-schedule-chip:hover {
    border-color: var(--s724-line-strong) !important;
    transform: none !important;
}
.s724-checkout-page .s724-schedule-chip.is-active {
    background: var(--s724-primary-soft) !important;
    border-color: rgba(233, 75, 36, .48) !important;
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .05) !important;
}
.s724-checkout-page .s724-schedule-picker.is-day .s724-schedule-chip strong {
    font-size: .82rem !important;
    line-height: 1.25 !important;
}
.s724-checkout-page .s724-schedule-picker.is-day .s724-schedule-chip small {
    margin-top: 3px !important;
    font-size: .64rem !important;
    line-height: 1.25 !important;
}
.s724-checkout-page .s724-schedule-picker.is-time .s724-schedule-chip {
    min-height: 44px !important;
    justify-content: center !important;
    text-align: center !important;
}
.s724-checkout-page .s724-schedule-picker.is-time .s724-schedule-chip strong {
    font-size: .78rem !important;
    line-height: 1 !important;
}
.s724-checkout-page .s724-schedule-empty,
.s724-checkout-page .s724-schedule-loading {
    min-height: 54px !important;
    padding: 10px 12px !important;
    align-items: center !important;
    color: var(--s724-muted) !important;
    background: var(--s724-surface) !important;
    border: 1px dashed var(--s724-line-strong) !important;
    border-radius: 8px !important;
    font-size: .72rem !important;
    line-height: 1.4 !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-mode-tab,
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-chip,
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-empty,
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-loading {
    background: color-mix(in srgb, var(--s724-surface-2) 91%, #000) !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-mode-tab.is-active,
html[data-s724-theme="dark"] .s724-checkout-page .s724-schedule-chip.is-active {
    background: rgba(233, 75, 36, .14) !important;
    border-color: rgba(255, 112, 76, .52) !important;
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-schedule-mode-tabs {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .s724-checkout-page .s724-schedule-mode-tabs.is-preorder-only {
        grid-template-columns: 1fr !important;
    }
    .s724-checkout-page .s724-schedule-fields {
        grid-template-columns: 1fr !important;
    }
    .s724-checkout-page .s724-schedule-picker.is-time {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 419.98px) {
    .s724-checkout-page .s724-schedule-mode-tabs,
    .s724-checkout-page .s724-schedule-picker.is-day {
        grid-template-columns: 1fr !important;
    }
    .s724-checkout-page .s724-schedule-picker.is-time {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
/* Sipariş724 Checkout 1.7.7 — native global schedule + simplified cart */
.s724-schedule-legacy-hidden,
.s724-checkout-page [data-s724-schedule-shell],
.s724-checkout-page .s724-schedule-shell,
.s724-checkout-page .s724-schedule-tabs,
.s724-checkout-page .s724-schedule-picker,
.s724-checkout-page .s724-schedule-chip {
    display: none !important;
}
.s724-native-schedule {
    padding: 18px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: var(--s724-radius-lg);
    box-shadow: var(--s724-shadow-sm);
}
.s724-native-schedule-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}
.s724-native-schedule-field {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
}
.s724-native-schedule-field[hidden] {
    display: none !important;
}
.s724-global-form-label {
    color: var(--s724-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.25;
    text-transform: uppercase;
}
.s724-checkout-page .s724-global-select,
.s724-checkout-page select.form-select.s724-global-select {
    width: 100%;
    min-height: 48px;
    padding: 0 42px 0 14px;
    color: var(--s724-text);
    background-color: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 720;
    line-height: 1.3;
    box-shadow: none;
}
.s724-checkout-page .s724-global-select:focus {
    border-color: rgba(233, 75, 36, .58);
    box-shadow: 0 0 0 3px rgba(233, 75, 36, .09);
}
.s724-native-schedule-field.is-loading::after {
    position: absolute;
    right: 40px;
    bottom: 17px;
    width: 16px;
    height: 16px;
    content: "";
    border: 2px solid var(--s724-line-strong);
    border-top-color: var(--s724-primary);
    border-radius: 50%;
    animation: s724Spin .7s linear infinite;
}
.s724-native-schedule-field {
    position: relative;
}
.s724-checkout-add-more {
    display: flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff !important;
    background: #151719 !important;
    border-color: #151719 !important;
    font-size: .84rem;
    font-weight: 800;
}
.s724-checkout-add-more:hover {
    background: #24272a !important;
    border-color: #24272a !important;
}
html[data-s724-theme="dark"] .s724-native-schedule {
    background: var(--s724-surface);
    border-color: var(--s724-line);
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-global-select {
    color: var(--s724-text);
    background-color: var(--s724-surface-2);
    border-color: var(--s724-line);
}
@media (max-width: 767.98px) {
    .s724-native-schedule {
        padding: 14px;
    }
    .s724-native-schedule-grid {
        grid-template-columns: 1fr;
    }
    .s724-checkout-page .s724-global-select {
        min-height: 46px;
    }
}
/* 1.7.8 schedule select stabilization */
.s724-checkout-page .s724-schedule-legacy-radio,
.s724-checkout-page #hemenTeslimDurum,
.s724-checkout-page #sonraTeslimDurum,
.s724-checkout-page input#hemenTeslim,
.s724-checkout-page input#sonraTeslim,
.s724-checkout-page label[for="hemenTeslim"],
.s724-checkout-page label[for="sonraTeslim"] {
    display: none !important;
}
.s724-checkout-page .s724-native-schedule {
    margin-top: 14px;
    padding: 16px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-checkout-page .s724-native-schedule-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}
.s724-checkout-page .s724-native-schedule-field {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
}
.s724-checkout-page .s724-native-schedule-field[hidden] {
    display: none !important;
}
.s724-checkout-page .s724-global-form-label {
    color: var(--s724-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1.2;
    text-transform: uppercase;
}
.s724-checkout-page .s724-native-schedule-field.is-loading .s724-select-control::after {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 36px;
    width: 14px;
    height: 14px;
    content: "";
    border: 2px solid rgba(233, 75, 36, .22);
    border-top-color: var(--s724-primary);
    border-radius: 50%;
    animation: s724ScheduleSpin .7s linear infinite;
    transform: translateY(-50%);
}
@keyframes s724ScheduleSpin {
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-native-schedule-grid {
        grid-template-columns: 1fr;
    }
}
/* ========================================================================== 
   Sipariş724 Checkout / Summary 1.8.1 — centered storefront shell
   Payment and confirmation use the same geometry as header/footer/content.
   ========================================================================== */
.s724-checkout-page .s724-checkout-titlebar,
.s724-summary-page .s724-checkout-titlebar {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    box-shadow: inset 0 -1px 0 var(--s724-line) !important;
}
.s724-checkout-page .s724-checkout-titlebar>.s724-shell,
.s724-summary-page .s724-checkout-titlebar>.s724-shell,
.s724-checkout-page .s724-checkout-shell,
.s724-summary-page .s724-summary-shell,
.s724-summary-page .s724-summary-payment-shell,
.s724-checkout-page .s724-footer>.s724-shell,
.s724-summary-page .s724-footer>.s724-shell {
    width: min(100%, var(--s724-shell, 1440px)) !important;
    max-width: var(--s724-shell, 1440px) !important;
    margin-inline: auto !important;
    padding-inline: 28px !important;
}
.s724-checkout-page .s724-checkout-shell {
    padding-top: 28px !important;
    padding-bottom: 64px !important;
}
.s724-checkout-page .s724-checkout-layout {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 390px) !important;
    gap: 24px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
}
.s724-checkout-page .s724-checkout-layout>[class*="col-"],
.s724-checkout-page .s724-checkout-main,
.s724-checkout-page .s724-checkout-aside {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
}
@media (min-width: 1200px) {
    .s724-checkout-page .s724-checkout-main {
        grid-column: 1 !important;
        order: 1 !important;
    }
    .s724-checkout-page .s724-checkout-aside {
        position: sticky !important;
        z-index: 3 !important;
        top: calc(var(--s724-header-height, 76px) + 18px) !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        grid-column: 2 !important;
        order: 2 !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - var(--s724-header-height, 76px) - 36px) !important;
        overflow: auto !important;
        overscroll-behavior: contain;
        transform: none !important;
    }
    .s724-checkout-page .s724-checkout-cart {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .s724-checkout-page .s724-checkout-mobilebar,
    .s724-checkout-page .s724-checkout-sheet-backdrop,
    .s724-checkout-page .s724-checkout-sheet-close {
        display: none !important;
    }
    .s724-checkout-page.is-summary-open {
        overflow: auto !important;
    }
}
.s724-checkout-page .s724-footer,
.s724-summary-page .s724-footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
}
/* Summary shares exactly the same storefront shell; it no longer uses a narrow
   independent container that visually disconnects it from header/footer. */
.s724-summary-page .s724-summary-shell {
    padding-top: 28px !important;
    padding-bottom: 64px !important;
}
.s724-summary-page .s724-summary-payment-shell {
    padding-top: 24px !important;
    padding-bottom: 8px !important;
}
.s724-summary-page .s724-summary-top,
.s724-summary-page .s724-summary-card,
.s724-summary-page .s724-summary-notice {
    width: 100%;
}
/* AGB / legal modal: same premium modal language, but sized for long legal text. */
.s724-agb-modal .modal-dialog {
    width: min(1120px, calc(100vw - 40px));
    max-width: 1120px !important;
    margin: 20px auto;
}
.s724-agb-modal .modal-content {
    max-height: calc(100dvh - 40px);
    overflow: hidden;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 14px;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .22);
}
.s724-agb-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 76px;
    padding: 16px 20px;
    background: var(--s724-surface) !important;
    border: 0 !important;
    box-shadow: inset 0 -1px 0 var(--s724-line);
}
.s724-agb-modal .modal-title {
    margin: 3px 0 0;
    color: var(--s724-text);
    font-size: 1.15rem;
    font-weight: 850;
    line-height: 1.3;
}
.s724-agb-modal .s724-modal-close {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    font-size: 1.05rem;
}
.s724-agb-modal .s724-agb-body {
    overflow-y: auto;
    padding: 24px 26px 30px;
    overscroll-behavior: contain;
}
.s724-agb-modal .s724-agb-content {
    max-width: 980px;
    margin-inline: auto;
    color: var(--s724-muted);
    font-size: .92rem;
    line-height: 1.8;
}
.s724-agb-modal .s724-agb-content h1,
.s724-agb-modal .s724-agb-content h2,
.s724-agb-modal .s724-agb-content h3,
.s724-agb-modal .s724-agb-content h4,
.s724-agb-modal .s724-agb-content h5,
.s724-agb-modal .s724-agb-content h6,
.s724-agb-modal .s724-agb-content strong {
    color: var(--s724-text);
}
.s724-agb-modal .s724-agb-content table {
    width: 100%;
    margin-block: 18px;
}
@media (max-width: 1199.98px) {
    .s724-checkout-page .s724-checkout-layout {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    .s724-checkout-page .s724-checkout-titlebar>.s724-shell,
    .s724-summary-page .s724-checkout-titlebar>.s724-shell,
    .s724-checkout-page .s724-checkout-shell,
    .s724-summary-page .s724-summary-shell,
    .s724-summary-page .s724-summary-payment-shell,
    .s724-checkout-page .s724-footer>.s724-shell,
    .s724-summary-page .s724-footer>.s724-shell {
        width: min(100%, var(--s724-shell, 1440px)) !important;
        padding-inline: 20px !important;
    }
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-checkout-titlebar>.s724-shell,
    .s724-summary-page .s724-checkout-titlebar>.s724-shell,
    .s724-checkout-page .s724-checkout-shell,
    .s724-summary-page .s724-summary-shell,
    .s724-summary-page .s724-summary-payment-shell,
    .s724-checkout-page .s724-footer>.s724-shell,
    .s724-summary-page .s724-footer>.s724-shell {
        padding-inline: 16px !important;
    }
    .s724-checkout-page .s724-checkout-shell,
    .s724-summary-page .s724-summary-shell {
        padding-top: 18px !important;
        padding-bottom: 48px !important;
    }
    .s724-agb-modal .modal-dialog {
        width: calc(100vw - 18px);
        margin: 9px auto;
    }
    .s724-agb-modal .modal-content {
        max-height: calc(100dvh - 18px);
        border-radius: 12px;
    }
    .s724-agb-modal .modal-header {
        min-height: 66px;
        padding: 13px 14px;
    }
    .s724-agb-modal .s724-agb-body {
        padding: 18px 16px 24px;
    }
}
/* ========================================================================== */
/* 5) Account / auth */
/* ========================================================================== */
/* Sipariş724 Account / Auth */
:root {
    --s724-account-card: var(--s724-surface, #fff);
    --s724-account-soft: var(--s724-surface-2, #f4f5f6);
    --s724-account-line: var(--s724-line, #dedfe2);
}
/* Auth modals */
.s724-auth-modal .modal-dialog {
    width: calc(100% - 28px);
}
.s724-auth-login-dialog {
    max-width: 540px;
}
.s724-auth-card {
    overflow: hidden;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 28px 90px rgba(16, 18, 20, .24);
}
.s724-auth-brandbar {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 13px 16px;
    background: var(--s724-account-soft);
}
.s724-auth-dealer-brand {
    display: inline-flex;
    min-width: 0;
    max-width: min(260px, calc(100% - 58px));
    height: 48px;
    align-items: center;
}
.s724-auth-dealer-brand img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
    object-position: left center;
}
.s724-auth-close {
    display: grid;
    width: 42px;
    height: 42px;
    margin-left: auto;
    place-items: center;
    color: var(--s724-text, #111315);
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
}
.s724-auth-body {
    padding: 28px;
}
.s724-auth-heading {
    margin-bottom: 22px;
}
.s724-auth-heading h2 {
    margin: 6px 0 8px;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 850;
    letter-spacing: -.045em;
}
.s724-auth-heading p {
    max-width: 560px;
    margin: 0;
    color: var(--s724-muted, #6d727a);
    font-size: .9rem;
    line-height: 1.65;
}
.s724-auth-field {
    position: relative;
}
.s724-auth-field .form-label {
    margin-bottom: 6px;
    color: var(--s724-text, #111315);
    font-size: .75rem;
    font-weight: 800;
}
.s724-auth-field .form-control, .s724-auth-field .input-group-text {
    min-height: 48px;
}
.s724-auth-control {
    position: relative;
}
.s724-auth-control>i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 14px;
    color: var(--s724-primary, #e94b24);
    transform: translateY(-50%);
}
.s724-auth-control>.form-control {
    padding-left: 42px;
    padding-right: 44px;
}
.s724-auth-control.no-icon>.form-control {
    padding-left: 13px;
}
.s724-password-eye {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 5px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-muted, #6d727a);
    background: transparent;
    border: 0;
    border-radius: 8px;
    transform: translateY(-50%);
}
.s724-password-eye:hover {
    color: var(--s724-primary, #e94b24);
    background: var(--s724-primary-soft, rgba(233, 75, 36, .08));
}
.s724-auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 15px 0;
}
.s724-auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--s724-muted, #6d727a);
    font-size: .78rem;
}
.s724-auth-check input {
    width: 18px;
    height: 18px;
    accent-color: var(--s724-primary, #e94b24);
}
.s724-auth-textbtn {
    padding: 0;
    color: var(--s724-primary, #e94b24);
    background: none;
    border: 0;
    font-size: .78rem;
    font-weight: 800;
}
.s724-auth-primary {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 16px;
    font-weight: 850;
}
.s724-auth-switch {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 17px;
    color: var(--s724-muted, #6d727a);
    font-size: .8rem;
}
.s724-auth-switch button {
    color: var(--s724-text, #111315);
    background: transparent;
    border: 0;
    font-weight: 850;
}
.s724-password-reset {
    margin-top: 14px;
    padding: 14px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 10px;
}
.s724-password-reset p {
    color: var(--s724-muted, #6d727a);
    font-size: .76rem;
}
.s724-auth-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--s724-text, #111315);
    font-size: .78rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.s724-auth-section-title i {
    color: var(--s724-primary, #e94b24);
}
.s724-register-card {
    max-height: min(880px, 94dvh);
}
.s724-register-card .modal-dialog-scrollable .modal-content {
    max-height: 94dvh;
}
.s724-register-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.s724-auth-section {
    padding: 18px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 12px;
}
.s724-register-consents {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}
.s724-account-choice {
    display: flex;
    min-height: 76px;
    align-items: flex-start;
    gap: 12px;
    padding: 13px;
    cursor: pointer;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 10px;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
@media (max-width: 575.98px) {
    .s724-account-choice {
        min-height: 70px;
        gap: 10px;
        padding: 12px;
    }
}
.s724-account-choice:hover {
    border-color: color-mix(in srgb, var(--s724-primary, #e94b24) 28%, var(--s724-account-line));
}
.s724-account-choice:has(input:checked) {
    border-color: color-mix(in srgb, var(--s724-primary, #e94b24) 42%, var(--s724-account-line));
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 4%, var(--s724-account-card));
}
.s724-account-choice input {
    appearance: none;
    display: grid;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    place-items: center;
    margin: 1px 0 0;
    cursor: pointer;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 5px;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.s724-account-choice input::before {
    width: 10px;
    height: 6px;
    content: "";
    transform: rotate(-45deg) scale(0);
    transform-origin: center;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transition: transform .14s ease;
}
.s724-account-choice input:checked {
    background: var(--s724-primary, #e94b24);
    border-color: var(--s724-primary, #e94b24);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--s724-primary, #e94b24) 12%, transparent);
}
.s724-account-choice input:checked::before {
    transform: rotate(-45deg) scale(1);
}
.s724-account-choice span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.s724-account-choice strong {
    font-size: .78rem;
}
.s724-account-choice small {
    color: var(--s724-muted, #6d727a);
    font-size: .68rem;
    line-height: 1.45;
}
.s724-register-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    padding: 16px 28px 22px;
}
.s724-auth-success {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    color: #11653d;
    background: rgba(31, 180, 108, .1);
    border: 1px solid rgba(31, 180, 108, .22);
    border-radius: 12px;
}
.s724-auth-success>i {
    font-size: 1.7rem;
}
/* Register phone country code */
.s724-phone-control {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
}
@media (max-width: 575.98px) {
    .s724-phone-control {
        grid-template-columns: 116px minmax(0, 1fr);
        gap: 7px;
    }
}
.s724-phone-code {
    position: relative;
    min-width: 0;
}
.s724-phone-code select {
    width: 100%;
    height: 48px;
    padding: 0 30px 0 12px;
    color: var(--s724-text);
    background-color: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    font-size: .78rem;
    font-weight: 800;
    appearance: none;
}
.s724-phone-code::after {
    content: "\F282";
    position: absolute;
    top: 50%;
    right: 11px;
    color: var(--s724-muted);
    font-family: "bootstrap-icons";
    font-size: .68rem;
    pointer-events: none;
    transform: translateY(-50%);
}
.s724-phone-number {
    min-width: 0;
}
/* Profile shell */
.s724-account-page {
    background: var(--s724-bg, #f2f3f4);
}
.s724-account-main {
    min-height: 65vh;
    padding: 34px 0 64px;
}
@media (max-width: 991.98px) {
    .s724-account-main {
        padding-top: 24px;
    }
}
.s724-account-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
    gap: 18px;
    align-items: stretch;
    margin-bottom: 16px;
}
@media (max-width: 991.98px) {
    .s724-account-hero {
        grid-template-columns: 1fr;
    }
}
.s724-account-intro {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px 2px;
}
@media (max-width: 575.98px) {
    .s724-account-intro {
        padding-inline: 0;
    }
}
.s724-account-intro h1 {
    margin: 5px 0 8px;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 850;
    letter-spacing: -.05em;
}
@media (max-width: 575.98px) {
    .s724-account-intro h1 {
        font-size: 2.15rem;
    }
}
.s724-account-intro p {
    max-width: 620px;
    margin: 0;
    color: var(--s724-muted, #6d727a);
    line-height: 1.65;
}
.s724-account-mini-profile {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 16px;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm, 0 10px 30px rgba(20, 22, 25, .06));
}
@media (max-width: 575.98px) {
    .s724-account-mini-profile {
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 14px;
    }
}
.s724-account-mini-avatar {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary, #e94b24);
    border-radius: 11px;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .04em;
}
@media (max-width: 575.98px) {
    .s724-account-mini-avatar {
        width: 46px;
        height: 46px;
    }
}
.s724-account-mini-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.s724-account-mini-copy strong,
.s724-account-mini-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-account-mini-copy strong {
    font-size: .88rem;
}
.s724-account-mini-copy span,
.s724-account-mini-copy small {
    color: var(--s724-muted, #6d727a);
    font-size: .69rem;
}
.s724-account-mini-copy small {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
}
.s724-account-mini-stats {
    display: flex;
    gap: 7px;
}
@media (max-width: 575.98px) {
    .s724-account-mini-stats {
        grid-column: 1 / -1;
        width: 100%;
    }
}
.s724-account-mini-stats>span {
    display: flex;
    min-width: 72px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    padding: 8px 10px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
}
@media (max-width: 575.98px) {
    .s724-account-mini-stats>span {
        min-width: 0;
        flex: 1 1 0;
    }
}
.s724-account-mini-stats b {
    font-size: .86rem;
}
.s724-account-mini-stats small {
    color: var(--s724-muted, #6d727a);
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}
.s724-account-layout {
    display: block;
}
.s724-account-nav {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 16px;
    padding: 8px;
    overflow-x: auto;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm, 0 10px 30px rgba(20, 22, 25, .06));
    scrollbar-width: none;
}
@media (max-width: 767.98px) {
    .s724-account-nav {
        gap: 5px;
        padding: 6px;
    }
}
.s724-account-nav::-webkit-scrollbar {
    display: none;
}
.s724-account-nav a,
.s724-account-nav button {
    display: inline-flex;
    min-width: max-content;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    color: var(--s724-muted, #6d727a);
    background: transparent;
    border: 0;
    border-radius: 9px;
    text-decoration: none;
    font-size: .76rem;
    font-weight: 850;
    text-align: center;
}
@media (max-width: 575.98px) {
    .s724-account-nav a,
    .s724-account-nav button {
        min-height: 42px;
        padding-inline: 11px;
        font-size: .72rem;
    }
}
.s724-account-nav a:hover,
.s724-account-nav a.active,
.s724-account-nav button:hover {
    color: var(--s724-text, #111315);
    background: var(--s724-account-soft);
}
.s724-account-nav a.active {
    box-shadow: inset 0 0 0 1px var(--s724-account-line);
}
.s724-account-nav a.active i:first-child {
    color: var(--s724-primary, #e94b24);
}
.s724-account-nav a i:last-child {
    display: none;
}
.s724-account-nav button[data-s724-account-logout] {
    margin-left: auto;
    color: #a43c32;
}
@media (max-width: 767.98px) {
    .s724-account-nav button[data-s724-account-logout] {
        margin-left: 0;
    }
}
.s724-account-content {
    min-width: 0;
}
.s724-account-view-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
@media (max-width: 991.98px) {
    .s724-account-view-grid {
        grid-template-columns: 1fr;
    }
}
.s724-account-panel {
    margin-bottom: 16px;
    overflow: hidden;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 12px;
    box-shadow: var(--s724-shadow-sm, 0 10px 30px rgba(20, 22, 25, .06));
}
.s724-account-view-grid .s724-account-panel {
    margin-bottom: 0;
}
.s724-account-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 76px;
    padding: 18px 20px;
    background: color-mix(in srgb, var(--s724-account-soft) 60%, transparent);
}
@media (max-width: 575.98px) {
    .s724-account-panel-head {
        min-height: 0;
        padding: 15px;
    }
}
.s724-account-panel-head>div {
    display: flex;
    align-items: center;
    gap: 12px;
}
.s724-account-panel-icon {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    color: var(--s724-primary, #e94b24);
    background: var(--s724-primary-soft, rgba(233, 75, 36, .08));
    border-radius: 9px;
}
.s724-account-panel-head small {
    display: block;
    color: var(--s724-primary, #e94b24);
    font-size: .63rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.s724-account-panel-head h2 {
    margin: 2px 0 0;
    font-size: 1.05rem;
    font-weight: 850;
}
.s724-account-panel-body {
    padding: 20px;
}
@media (max-width: 575.98px) {
    .s724-account-panel-body {
        padding: 15px;
    }
}
.s724-account-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
@media (max-width: 575.98px) {
    .s724-account-form-grid {
        grid-template-columns: 1fr;
    }
}
.s724-account-form-field {
    min-width: 0;
}
.s724-account-form-field.full {
    grid-column: 1 / -1;
}
@media (max-width: 575.98px) {
    .s724-account-form-field.full {
        grid-column: auto;
    }
}
.s724-account-form-field label {
    display: block;
    margin-bottom: 6px;
    color: var(--s724-muted, #6d727a);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}
.s724-account-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}
@media (max-width: 575.98px) {
    .s724-account-form-actions .btn {
        width: 100%;
    }
}
.s724-account-msg {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: .78rem;
}
.s724-account-msg.is-success {
    color: #11653d;
    background: rgba(31, 180, 108, .1);
}
.s724-account-msg.is-error {
    color: #9c2f25;
    background: rgba(233, 75, 36, .1);
}
/* Orders */
.s724-orders-list {
    display: grid;
    gap: 10px;
}
.s724-account-order-card {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) .7fr .7fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 10px;
}
@media (max-width: 991.98px) {
    .s724-account-order-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .s724-account-order-card>.s724-order-meta {
        display: none;
    }
}
@media (max-width: 575.98px) {
    .s724-account-order-card {
        padding: 12px;
    }
}
.s724-order-main {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
}
.s724-order-symbol {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: var(--s724-primary, #e94b24);
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
}
.s724-order-main div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.s724-order-main strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .86rem;
}
.s724-order-main small,
.s724-order-meta small {
    color: var(--s724-muted, #6d727a);
    font-size: .68rem;
}
.s724-order-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.s724-order-meta strong {
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
}
.s724-order-status {
    display: inline-flex;
    width: fit-content;
    min-height: 28px;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 850;
}
.s724-order-status.is-pending {
    color: #9a5212;
    background: rgba(241, 160, 45, .12);
}
.s724-order-status.is-ok {
    color: #11653d;
    background: rgba(31, 180, 108, .12);
}
.s724-order-status.is-cancel {
    color: #9c2f25;
    background: rgba(233, 75, 36, .12);
}
.s724-order-detail-btn {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: var(--s724-text, #111315);
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
}
.s724-account-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 16px;
}
@media (max-width: 575.98px) {
    .s724-account-pagination {
        gap: 5px;
        margin-top: 14px;
    }
}
.s724-account-page-btn {
    display: inline-flex;
    min-width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    color: var(--s724-text, #111315);
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
    text-decoration: none;
    font-size: .74rem;
    font-weight: 850;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}
@media (max-width: 575.98px) {
    .s724-account-page-btn {
        min-width: 36px;
        height: 36px;
        padding-inline: 9px;
    }
}
.s724-account-page-btn:hover {
    color: var(--s724-primary, #e94b24);
    border-color: color-mix(in srgb, var(--s724-primary, #e94b24) 36%, var(--s724-account-line));
    transform: translateY(-1px);
}
.s724-account-page-btn.is-active {
    color: #fff;
    background: var(--s724-primary, #e94b24);
    border-color: var(--s724-primary, #e94b24);
}
.s724-account-page-btn.is-arrow {
    color: var(--s724-muted, #6d727a);
}
.s724-account-empty {
    display: grid;
    min-height: 240px;
    place-items: center;
    padding: 30px;
    text-align: center;
    color: var(--s724-muted, #6d727a);
}
.s724-account-empty i {
    color: var(--s724-primary, #e94b24);
    font-size: 2rem;
}
.s724-account-empty strong {
    display: block;
    margin-top: 8px;
    color: var(--s724-text, #111315);
}
/* Addresses */
.s724-address-editor {
    padding: 16px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 10px;
}
@media (max-width: 575.98px) {
    .s724-address-editor {
        padding: 13px;
    }
}
.s724-address-type {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.s724-address-type label {
    display: flex;
    min-width: 132px;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    cursor: pointer;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
    font-size: .76rem;
    font-weight: 800;
}
.s724-address-type input {
    accent-color: var(--s724-primary, #e94b24);
}
.s724-address-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}
@media (max-width: 575.98px) {
    .s724-address-list {
        grid-template-columns: 1fr;
    }
}
.s724-address-card {
    position: relative;
    min-height: 138px;
    padding: 16px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 10px;
}
.s724-address-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.s724-address-badge {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
    color: var(--s724-primary, #e94b24);
    background: var(--s724-primary-soft, rgba(233, 75, 36, .08));
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 850;
}
.s724-address-card p {
    margin: 10px 0 0;
    color: var(--s724-muted, #6d727a);
    font-size: .76rem;
    line-height: 1.65;
}
.s724-address-actions {
    display: flex;
    gap: 6px;
}
.s724-address-actions button {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    background: var(--s724-account-card);
    border: 1px solid var(--s724-account-line);
    border-radius: 8px;
}
.s724-address-actions .delete {
    color: #c5362d;
    background: rgba(220, 53, 69, .08);
    border-color: rgba(220, 53, 69, .22);
}
.s724-address-actions .delete:hover {
    color: #fff;
    background: #c5362d;
    border-color: #c5362d;
}
/* Danger */
.s724-account-danger {
    grid-column: 1 / -1;
    border-color: rgba(213, 63, 47, .18);
}
@media (max-width: 991.98px) {
    .s724-account-danger {
        grid-column: auto;
    }
}
.s724-account-danger .s724-account-panel-icon {
    color: #b5342a;
    background: rgba(213, 63, 47, .08);
}
.s724-danger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
@media (max-width: 575.98px) {
    .s724-danger-row {
        align-items: flex-start;
        flex-direction: column;
    }
}
.s724-danger-row p {
    margin: 4px 0 0;
    color: var(--s724-muted, #6d727a);
    font-size: .76rem;
}
/* Order detail legacy content normalized */
.s724-account-order-detail {
    max-height: 70dvh;
    overflow: auto;
}
.s724-account-order-detail>.modal-header {
    display: none !important;
}
.s724-account-order-detail table {
    width: 100% !important;
    margin: 0;
    color: var(--s724-text, #111315);
    font-size: .78rem !important;
}
.s724-account-order-detail td,
.s724-account-order-detail th {
    padding: 10px !important;
    background: transparent !important;
    border-color: var(--s724-account-line) !important;
}
html[data-s724-theme="dark"] .s724-auth-card,
html[data-s724-theme="dark"] .s724-account-panel,
html[data-s724-theme="dark"] .s724-account-nav,
html[data-s724-theme="dark"] .s724-account-mini-profile {
    box-shadow: 0 22px 70px rgba(0, 0, 0, .24);
}
html[data-s724-theme="dark"] .s724-auth-success {
    color: #74dba8;
}
.s724-order-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}
@media (max-width: 575.98px) {
    .s724-order-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.s724-order-detail-stat {
    padding: 12px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 9px;
}
.s724-order-detail-stat small {
    display: block;
    color: var(--s724-muted, #6d727a);
    font-size: .62rem;
    text-transform: uppercase;
    font-weight: 800;
}
.s724-order-detail-stat strong {
    display: block;
    margin-top: 3px;
    font-size: .78rem;
}
.s724-order-detail-section {
    margin-top: 12px;
    padding: 14px;
    background: var(--s724-account-soft);
    border: 1px solid var(--s724-account-line);
    border-radius: 10px;
}
.s724-order-detail-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: .78rem;
}
.s724-order-detail-title i {
    color: var(--s724-primary, #e94b24);
}
.s724-order-detail-items {
    display: grid;
    gap: 7px;
}
.s724-order-detail-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 9px;
    background: var(--s724-account-card);
    border-radius: 8px;
}
@media (max-width: 575.98px) {
    .s724-order-detail-item {
        grid-template-columns: 30px minmax(0, 1fr);
    }
    .s724-order-detail-item>b {
        grid-column: 2;
    }
}
.s724-order-detail-qty {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: var(--s724-primary, #e94b24);
    background: var(--s724-primary-soft, rgba(233, 75, 36, .08));
    border-radius: 8px;
    font-size: .7rem;
    font-weight: 850;
}
.s724-order-detail-item div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.s724-order-detail-item strong {
    font-size: .76rem;
}
.s724-order-detail-item small {
    color: var(--s724-muted, #6d727a);
    font-size: .64rem;
}
.s724-order-detail-item b {
    font-size: .74rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.s724-order-detail-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
    padding: 14px;
    color: #fff;
    background: #111315;
    border-radius: 10px;
}
.s724-order-detail-total strong {
    font-size: 1rem;
}
/* ========================================================================== 
   Summary rating modal 2.0.1
   ========================================================================== */
.s724-summary-page .s724-rating-modal .modal-dialog {
    width: min(100% - 28px, 660px);
    max-width: 660px !important;
    margin-inline: auto;
}
.s724-summary-page .s724-rating-modal .modal-content {
    overflow: hidden;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 16px;
    box-shadow: 0 28px 90px rgba(10, 12, 14, .22);
}
.s724-rating-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 14px;
    background: var(--s724-surface);
    border: 0;
}
.s724-rating-head h2 {
    margin: 4px 0 4px;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: 1.15;
}
.s724-rating-head p {
    margin: 0;
    color: var(--s724-muted);
    font-size: .88rem;
    line-height: 1.55;
}
.s724-rating-close {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    font-size: 1rem;
    transition: transform .15s ease, border-color .15s ease, background-color .15s ease;
}
.s724-rating-close:hover {
    color: var(--s724-primary);
    border-color: rgba(233, 75, 36, .35);
    transform: translateY(-1px);
}
.s724-rating-body {
    display: grid;
    gap: 20px;
    padding: 12px 24px 22px;
}
.s724-rating-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 12px;
}
.s724-rating-summary-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 11px;
    font-size: 1.25rem;
}
.s724-rating-summary>div {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 10px;
    align-items: baseline;
}
.s724-rating-summary small {
    grid-column: 1 / -1;
    color: var(--s724-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.s724-rating-summary strong {
    font-size: 1.55rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.s724-rating-summary span:last-child {
    color: var(--s724-muted);
    font-size: .78rem;
}
.s724-rating-fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.s724-rating-fieldset legend {
    width: auto;
    margin: 0 0 10px;
    color: var(--s724-text);
    font-size: .78rem;
    font-weight: 800;
}
.s724-rating-stars {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}
.s724-rating-stars input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.s724-rating-stars label {
    display: grid;
    min-width: 0;
    min-height: 76px;
    place-items: center;
    align-content: center;
    gap: 5px;
    margin: 0;
    color: var(--s724-muted);
    cursor: pointer;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 11px;
    transition: transform .15s ease, color .15s ease, border-color .15s ease, background-color .15s ease;
}
.s724-rating-stars label i {
    font-size: 1.25rem;
}
.s724-rating-stars label span {
    font-size: .68rem;
    font-weight: 850;
}
.s724-rating-stars label:hover {
    color: var(--s724-primary);
    border-color: rgba(233, 75, 36, .38);
    transform: translateY(-1px);
}
.s724-rating-stars input[type="radio"]:checked+label {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
    box-shadow: 0 8px 24px rgba(233, 75, 36, .18);
}
.s724-rating-feedback {
    min-height: 20px;
    margin-top: 8px;
    color: var(--s724-muted);
    font-size: .76rem;
    line-height: 1.45;
}
.s724-rating-feedback.is-error {
    color: #d63e31;
}
.s724-rating-feedback.is-success {
    color: #20945d;
}
.s724-rating-footer {
    display: grid;
    grid-template-columns: auto minmax(190px, 1fr);
    gap: 10px;
    padding: 14px 24px 22px;
    background: var(--s724-surface);
    border: 0;
}
.s724-rating-footer .btn {
    min-height: 46px;
    border-radius: 10px;
    font-weight: 800;
}
.s724-rating-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.s724-rating-submit.is-loading {
    pointer-events: none;
    opacity: .72;
}
.s724-rating-submit.is-loading i {
    animation: s724-spin .75s linear infinite;
}
html[data-s724-theme="dark"] .s724-summary-page .s724-rating-modal .modal-content {
    box-shadow: 0 30px 100px rgba(0, 0, 0, .46);
}
@media (max-width: 575.98px) {
    .s724-summary-page .s724-rating-modal .modal-dialog {
        width: calc(100% - 16px);
        margin: 8px auto;
        align-items: flex-end;
        min-height: calc(100% - 16px);
    }
    .s724-summary-page .s724-rating-modal .modal-content {
        max-height: calc(100dvh - 16px);
        border-radius: 15px;
    }
    .s724-rating-head {
        padding: 18px 17px 12px;
    }
    .s724-rating-body {
        padding: 10px 17px 16px;
        gap: 14px;
    }
    .s724-rating-footer {
        grid-template-columns: 1fr;
        padding: 12px 17px 17px;
    }
    .s724-rating-footer .btn-outline-secondary {
        order: 2;
    }
    .s724-rating-stars {
        gap: 6px;
    }
    .s724-rating-stars label {
        min-height: 64px;
        border-radius: 9px;
    }
    .s724-rating-stars label i {
        font-size: 1.05rem;
    }
}
.s724-summary-rate-btn {
    display: inline-flex;
    width: fit-content;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    padding: 0 13px;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border: 1px solid rgba(233, 75, 36, .22);
    border-radius: 9px;
    font-size: .76rem;
    font-weight: 850;
}
.s724-summary-rate-btn:hover {
    border-color: rgba(233, 75, 36, .42);
}
.s724-summary-rate-btn[hidden] {
    display: none !important;
}
/* ==========================================================================
   Sipariş724 Summary 2.0.2 — centered status, simplified confirmation
   ========================================================================== */
.s724-summary-page .s724-summary-top {
    gap: 10px;
    margin-bottom: 16px !important;
}
@media (max-width: 575.98px) {
    .s724-summary-page .s724-summary-top {
        margin-bottom: 14px !important;
    }
}
.s724-summary-page .s724-summary-redirect {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 14px;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-border);
    border-radius: 10px;
    font-size: .8rem;
    font-weight: 750;
    text-align: center;
}
.s724-summary-page .s724-summary-redirect i {
    color: var(--s724-primary);
    font-size: 1rem;
}
.s724-summary-page .s724-summary-redirect strong {
    display: grid;
    min-width: 26px;
    height: 26px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 50%;
    font-size: .74rem;
}
@media (max-width: 575.98px) {
    .s724-summary-page .s724-summary-redirect {
        width: 100%;
        gap: 7px;
        padding: 9px 11px;
        font-size: .75rem;
    }
}
.s724-summary-page .s724-summary-hero {
    display: flex;
    min-height: 210px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding: 30px 24px;
    text-align: center;
}
.s724-summary-page .s724-summary-hero-icon {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    margin: 0 auto;
    border-radius: 14px;
    font-size: 1.55rem;
}
.s724-summary-page .s724-summary-hero-copy {
    display: flex;
    max-width: 760px;
    align-items: center;
    flex-direction: column;
}
.s724-summary-page .s724-summary-hero-copy h1 {
    margin: 4px 0 6px;
    text-align: center;
}
.s724-summary-page .s724-summary-hero-copy p {
    max-width: 640px;
    text-align: center;
}
.s724-summary-page .s724-summary-rate-btn {
    margin: 13px auto 0;
}
/* The old three-step event strip is intentionally not used anymore. */
.s724-summary-page .s724-summary-events {
    display: none !important;
}
.s724-summary-page .s724-summary-notice {
    text-align: center !important;
}
/* Center only customer/delivery identity rows in the primary order card. */
.s724-summary-page .s724-summary-card-primary .s724-summary-customer-row>td,
.s724-summary-page .s724-summary-card-primary .s724-summary-customer-row>th {
    text-align: center !important;
    vertical-align: middle;
}
.s724-summary-page .s724-summary-card-primary .s724-summary-customer-row>td:last-child,
.s724-summary-page .s724-summary-card-primary .s724-summary-customer-row>th:last-child {
    text-align: center !important;
}
.s724-summary-page .s724-summary-card-primary .s724-summary-customer-row small {
    display: inline-block;
    line-height: 1.65;
}
@media (max-width: 575.98px) {
    .s724-summary-page .s724-summary-hero {
        min-height: 190px;
        padding: 24px 18px;
    }
    .s724-summary-page .s724-summary-hero-icon {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
        font-size: 1.35rem;
    }
}
/* ========================================================================== 
   2.0.3 — Global rhythm + compact Regions / Contact / Content
   ========================================================================== */
:root {
    --s724-body-leading: 1.56;
    --s724-copy-leading: 1.62;
    --s724-control-leading: 1.18;
}
html,
body {
    line-height: var(--s724-body-leading);
}
body,
input,
select,
textarea,
button {
    text-rendering: optimizeLegibility;
}
p,
.s724-richtext,
.s724-richtext p,
.s724-richtext li,
.s724-footer-intro,
.s724-field-help,
.s724-zone-note,
.s724-region-note {
    line-height: var(--s724-copy-leading);
}
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.08;
}
a,
button,
.btn,
.nav-link,
.dropdown-item,
.s724-header-btn,
.s724-icon-btn,
.s724-cart-btn,
.s724-footer-links a,
.s724-footer-links button,
.s724-text-link {
    line-height: var(--s724-control-leading);
}
.form-control,
.form-select,
input,
select,
textarea {
    line-height: 1.35;
}
.badge,
.s724-kicker,
.s724-live-pill,
.s724-region-status {
    line-height: 1.1;
}
.s724-header .navbar-brand,
.s724-platform-brand,
.s724-platform-copy,
.s724-platform-copy strong {
    line-height: 1;
}
/* Compact shared page breadcrumb */
.s724-compact-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 13px;
    color: var(--s724-muted);
    font-size: .74rem;
    font-weight: 700;
}
.s724-compact-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
}
.s724-compact-breadcrumb a:hover {
    color: var(--s724-primary);
}
.s724-compact-breadcrumb>i {
    font-size: .62rem;
}
/* Regions */
.s724-regions-main,
.s724-contact-main,
.s724-content-main {
    background: var(--s724-bg);
}
.s724-regions-intro {
    position: relative;
    min-height: 260px;
    overflow: hidden;
    color: #fff;
    background: #17191c;
}
.s724-regions-intro-media,
.s724-regions-intro-media img,
.s724-regions-intro-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.s724-regions-intro-media {
    overflow: hidden;
}
.s724-regions-intro-media img {
    object-fit: cover;
    transform: scale(1.02);
}
.s724-regions-intro-shade {
    background: linear-gradient(90deg, rgba(10, 12, 14, .88), rgba(10, 12, 14, .52) 60%, rgba(10, 12, 14, .38));
}
.s724-regions-intro-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: end;
    min-height: 260px;
    padding: 38px 0;
}
.s724-regions-intro .s724-compact-breadcrumb,
.s724-regions-intro .s724-compact-breadcrumb a {
    color: rgba(255, 255, 255, .72);
}
.s724-regions-intro h1,
.s724-contact-intro h1,
.s724-content-intro h1 {
    margin: 7px 0 10px;
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 850;
    letter-spacing: -.045em;
}
.s724-regions-intro p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: .95rem;
}
.s724-regions-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    overflow: hidden;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 10px;
    backdrop-filter: blur(12px);
}
.s724-regions-summary>div {
    display: flex;
    min-width: 100px;
    flex-direction: column;
    gap: 1px;
    padding: 14px 16px;
    border-right: 1px solid rgba(255, 255, 255, .12);
}
.s724-regions-summary>div:last-child {
    border-right: 0;
}
.s724-regions-summary strong {
    color: #fff;
    font-size: 1.15rem;
    line-height: 1.1;
}
.s724-regions-summary span {
    color: rgba(255, 255, 255, .62);
    font-size: .66rem;
    font-weight: 700;
    text-transform: uppercase;
}
.s724-regions-section,
.s724-contact-section,
.s724-content-section {
    padding: 48px 0 60px;
}
.s724-regions-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}
.s724-regions-toolbar h2,
.s724-contact-card-head h2,
.s724-contact-map-copy h2 {
    margin: 5px 0 0;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 820;
    letter-spacing: -.035em;
}
.s724-regions-search {
    display: grid;
    width: min(100%, 360px);
    min-height: 48px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 0 12px 0 15px;
    color: var(--s724-muted);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-regions-search>i {
    color: var(--s724-primary);
}
.s724-regions-search input {
    width: 100%;
    min-width: 0;
    height: 46px;
    padding: 0;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    outline: 0;
    font-weight: 650;
}
.s724-regions-search span {
    display: grid;
    min-width: 28px;
    height: 26px;
    place-items: center;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 800;
}
.s724-regions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.s724-region-card {
    min-width: 0;
    padding: 18px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-region-card.is-selected {
    border-color: rgba(233, 75, 36, .46);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .08), var(--s724-shadow-sm);
}
.s724-region-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.s724-region-card-head h3 {
    margin: 4px 0 0;
    font-size: 1.12rem;
    font-weight: 800;
}
.s724-region-postal {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--s724-primary);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .03em;
}
.s724-region-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 9px;
    white-space: nowrap;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    color: var(--s724-muted);
    font-size: .66rem;
    font-weight: 800;
}
.s724-region-status.is-open i {
    color: #28a76a;
}
.s724-region-status.is-closed i {
    color: var(--s724-primary);
}
.s724-region-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    margin-bottom: 12px;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-region-metrics>div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
}
.s724-region-metrics>div+div {
    border-left: 1px solid var(--s724-line);
}
.s724-region-metrics small {
    color: var(--s724-muted);
    font-size: .68rem;
}
.s724-region-metrics strong {
    color: var(--s724-text);
    font-size: .82rem;
}
.s724-region-note {
    display: flex;
    gap: 7px;
    margin: 0 0 12px;
    color: var(--s724-muted);
    font-size: .76rem;
}
.s724-region-note i {
    flex: 0 0 auto;
    margin-top: 3px;
    color: var(--s724-primary);
}
.s724-region-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.s724-region-actions .btn {
    min-height: 40px;
    padding: 0 13px;
    font-size: .77rem;
}
.s724-region-hours-btn {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    padding: 0 11px;
    color: var(--s724-muted);
    background: transparent;
    border: 1px solid var(--s724-line);
    border-radius: 7px;
    font-size: .72rem;
    font-weight: 750;
}
.s724-region-hours-btn:hover {
    color: var(--s724-text);
    background: var(--s724-surface-2);
}
.s724-region-hours-btn[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}
.s724-region-hours-btn .bi-chevron-down {
    transition: transform .18s ease;
}
.s724-region-hours {
    margin-top: 13px;
    padding: 8px 12px;
    background: var(--s724-surface-2);
    border-radius: 8px;
}
.s724-region-hours>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 34px;
    color: var(--s724-muted);
    font-size: .74rem;
}
.s724-region-hours>div.is-today {
    color: var(--s724-text);
    font-weight: 800;
}
.s724-region-hours strong {
    color: inherit;
    font-size: inherit;
    font-variant-numeric: tabular-nums;
}
.s724-regions-empty {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: var(--s724-muted);
    text-align: center;
}
.s724-regions-empty i {
    color: var(--s724-primary);
    font-size: 1.7rem;
}
/* Contact */
.s724-contact-intro,
.s724-content-intro {
    padding: 38px 0 34px;
    background: var(--s724-surface-2);
    border-bottom: 1px solid var(--s724-line);
}
.s724-contact-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
    gap: 34px;
    align-items: center;
}
.s724-contact-intro h1,
.s724-content-intro h1 {
    color: var(--s724-text);
}
.s724-contact-intro p,
.s724-contact-summary,
.s724-content-summary {
    max-width: 720px;
    margin: 0;
    color: var(--s724-muted);
    font-size: .92rem;
}
.s724-contact-quick {
    display: grid;
    gap: 7px;
    padding: 10px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-contact-quick>div,
.s724-contact-quick>a,
.s724-contact-action {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 50px;
    padding: 7px 10px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border-radius: 7px;
}
.s724-contact-quick>div {
    grid-template-columns: 34px minmax(0, 1fr);
}
.s724-contact-quick i:first-child,
.s724-contact-action>i:first-child {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 7px;
}
.s724-contact-quick span,
.s724-contact-action span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.s724-contact-quick small,
.s724-contact-action small {
    color: var(--s724-muted);
    font-size: .62rem;
}
.s724-contact-quick strong,
.s724-contact-action strong {
    overflow-wrap: anywhere;
    font-size: .78rem;
}
.s724-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 14px;
}
.s724-contact-card,
.s724-contact-map-compact,
.s724-content-card,
.s724-content-side-card {
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-contact-card {
    padding: 20px;
}
.s724-contact-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 15px;
}
.s724-contact-card-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 8px;
}
.s724-contact-richtext {
    color: var(--s724-muted);
    font-size: .88rem;
}
.s724-contact-side {
    display: grid;
    align-content: start;
    gap: 8px;
}
.s724-contact-action {
    min-height: 58px;
    border: 1px solid var(--s724-line);
    background: var(--s724-surface);
    box-shadow: var(--s724-shadow-sm);
}
.s724-contact-action:hover {
    color: var(--s724-text);
    border-color: var(--s724-line-strong);
    transform: translateY(-1px);
}
.s724-contact-action.is-static:hover {
    transform: none;
}
.s724-contact-social-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--s724-line);
    color: var(--s724-muted);
    font-size: .74rem;
    font-weight: 750;
}
.s724-contact-social-row>div {
    display: flex;
    gap: 7px;
}
.s724-contact-social-row a {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 7px;
}
.s724-contact-social-row a:hover {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-contact-map-compact {
    grid-column: 1 / -1;
    overflow: hidden;
}
.s724-contact-map-copy {
    padding: 17px 20px 12px;
}
/* Dynamic content uses the same compact shell, no separate page stylesheet. */
.s724-content-intro h1 {
    margin-bottom: 8px;
}
.s724-content-section {
    padding-top: 34px;
}
.s724-content-compact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 14px;
    align-items: start;
}
.s724-content-card {
    padding: clamp(20px, 3vw, 34px);
}
.s724-content-richtext {
    color: var(--s724-muted);
    font-size: .9rem;
}
.s724-content-richtext h2,
.s724-content-richtext h3 {
    color: var(--s724-text);
    margin-top: 1.7em;
}
.s724-content-side {
    display: grid;
    gap: 10px;
    position: sticky;
    top: calc(var(--s724-header-height) + 14px);
}
.s724-content-side-card {
    padding: 12px;
}
.s724-content-side-card>.s724-kicker {
    display: block;
    margin: 3px 5px 9px;
}
.s724-content-side-card a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    min-height: 44px;
    padding: 6px 8px;
    color: var(--s724-text);
    border-radius: 7px;
    font-size: .78rem;
    font-weight: 750;
}
.s724-content-side-card a:hover {
    background: var(--s724-surface-2);
}
.s724-content-side-card a>i:first-child {
    color: var(--s724-primary);
}
.s724-content-not-found {
    display: flex;
    min-height: 320px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    color: var(--s724-muted);
}
.s724-content-not-found>i {
    color: var(--s724-primary);
    font-size: 2rem;
}
.s724-content-not-found h2 {
    color: var(--s724-text);
    margin: 0;
}
@media (max-width: 991.98px) {
    .s724-regions-intro-grid,
    .s724-contact-intro-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .s724-regions-intro-grid {
        align-items: center;
    }
    .s724-regions-summary {
        width: min(100%, 420px);
    }
    .s724-contact-quick {
        width: min(100%, 620px);
    }
    .s724-contact-layout,
    .s724-content-compact-grid {
        grid-template-columns: 1fr;
    }
    .s724-contact-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .s724-content-side {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .s724-regions-intro {
        min-height: 230px;
    }
    .s724-regions-intro-grid {
        min-height: 230px;
        padding: 30px 0;
    }
    .s724-regions-intro h1,
    .s724-contact-intro h1,
    .s724-content-intro h1 {
        font-size: 2.15rem;
    }
    .s724-regions-section,
    .s724-contact-section,
    .s724-content-section {
        padding: 34px 0 44px;
    }
    .s724-regions-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }
    .s724-regions-search {
        width: 100%;
    }
    .s724-regions-grid {
        grid-template-columns: 1fr;
    }
    .s724-contact-intro,
    .s724-content-intro {
        padding: 28px 0 26px;
    }
    .s724-contact-side,
    .s724-content-side {
        grid-template-columns: 1fr;
    }
    .s724-contact-card {
        padding: 17px;
    }
}
@media (max-width: 575.98px) {
    .s724-regions-summary {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .s724-regions-summary>div {
        min-width: 0;
        padding: 11px 9px;
    }
    .s724-regions-summary strong {
        font-size: .98rem;
    }
    .s724-regions-summary span {
        font-size: .56rem;
    }
    .s724-region-card {
        padding: 14px;
    }
    .s724-region-card-head {
        align-items: flex-start;
    }
    .s724-region-metrics {
        grid-template-columns: 1fr;
    }
    .s724-region-metrics>div+div {
        border-left: 0;
        border-top: 1px solid var(--s724-line);
    }
    .s724-region-actions .btn {
        flex: 1 1 calc(50% - 4px);
    }
    .s724-region-hours-btn {
        flex: 1 1 100%;
        justify-content: center;
        margin-left: 0;
    }
    .s724-contact-social-row {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* ========================================================================== 
   2.1.0 — System QA / status modals / final rhythm
   ========================================================================== */
:root {
    --s724-link-leading: 1.38;
    --s724-control-leading: 1.22;
}
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.s724-header-btn):not(.s724-icon-btn):not(.s724-cart-btn) {
    line-height: var(--s724-link-leading);
}
button,
.btn,
.nav-link,
.dropdown-item,
.s724-header-btn,
.s724-icon-btn,
.s724-cart-btn,
.s724-menu-toggle,
.s724-region-hours-btn,
.s724-back-top {
    line-height: var(--s724-control-leading);
}
.btn,
.s724-header-btn,
.s724-icon-btn,
.s724-cart-btn,
.s724-menu-toggle {
    align-items: center;
}
/* Closed branch / delivery-zone warnings share one stable modal component. */
.s724-status-modal .modal-dialog {
    width: min(calc(100% - 28px), 570px);
    max-width: 570px;
    margin-inline: auto;
}
.s724-status-card {
    position: relative;
    overflow: hidden;
    padding: 0;
    border-radius: 14px;
    box-shadow: 0 26px 80px rgba(12, 15, 18, .24);
}
.s724-modal-close {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
    line-height: 1;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.s724-modal-close:hover {
    color: var(--s724-text);
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .28);
    transform: translateY(-1px);
}
.s724-status-head {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 22px 72px 18px 22px;
}
.s724-status-symbol {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 11px;
    font-size: 1.25rem;
}
.s724-status-head .modal-title {
    margin: 4px 0 0;
    color: var(--s724-text);
    font-size: clamp(1.22rem, 3vw, 1.55rem);
    font-weight: 820;
    letter-spacing: -.025em;
    line-height: 1.15;
}
.s724-status-body {
    padding: 0 22px 18px;
}
.s724-status-message {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 14px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border-radius: 9px;
    font-size: .88rem;
    line-height: 1.6;
}
.s724-status-message>i {
    margin-top: 2px;
    color: var(--s724-primary);
    font-size: 1rem;
}
.s724-status-message p,
.s724-status-message .alert,
.s724-status-message> :last-child {
    margin-bottom: 0;
}
.s724-postal-modal .s724-status-message {
    display: block;
}
.s724-postal-modal .s724-status-message:empty {
    display: none;
}
.s724-postal-modal .s724-status-message .alert {
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
}
.s724-status-regions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}
.s724-status-regions span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 750;
    line-height: 1.25;
}
.s724-status-regions i {
    color: var(--s724-primary);
}
.s724-status-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 22px 20px;
}
.s724-status-actions .btn {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-inline: 15px;
}
html[data-s724-theme="dark"] .s724-status-card {
    box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
}
@media (max-width: 575.98px) {
    .s724-status-modal .modal-dialog {
        width: min(calc(100% - 18px), 570px);
        margin: 9px auto;
    }
    .s724-status-head {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 11px;
        padding: 18px 60px 15px 16px;
    }
    .s724-status-symbol {
        width: 44px;
        height: 44px;
        font-size: 1.05rem;
    }
    .s724-status-body {
        padding: 0 16px 14px;
    }
    .s724-status-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 12px 16px 16px;
    }
    .s724-status-actions .btn {
        width: 100%;
        min-width: 0;
    }
}
/* ========================================================================== 
   2.1.1 — Typography floor + checkout preference cards
   ========================================================================== */
:root {
    --s724-text-xs: .78rem;
    --s724-text-sm: .84rem;
    --s724-text-md: .92rem;
}
/* Keep live UI copy readable. Tiny type is reserved for visual mockups only. */
.s724-kicker {
    font-size: var(--s724-text-xs);
}
.s724-nav-links .nav-link,
.s724-header-btn,
.s724-cart-btn,
.s724-footer-links a,
.s724-footer-links button,
.s724-dropdown-item,
.s724-contact-list,
.s724-hours-value,
.s724-zone-names,
.s724-region-actions .btn,
.s724-region-hours-btn,
.s724-region-hours>div,
.s724-compact-breadcrumb {
    font-size: var(--s724-text-sm);
}
.s724-order-stage .s724-live-pill,
.s724-order-stage .s724-order-type-copy small,
.s724-order-stage .s724-field-help,
.s724-main .s724-benefit-item span:not(.s724-benefit-icon),
.s724-main .s724-mosaic-eyebrow,
.s724-main .s724-mosaic-badges span,
.s724-main .s724-mosaic-status,
.s724-main .s724-mosaic-day,
.s724-main .s724-mosaic-time,
.s724-main .s724-mosaic-minimum p,
.s724-main .s724-mosaic-mini-meta span,
.s724-main .s724-mosaic-zone-places,
.s724-main .s724-app-feature small,
.s724-main .s724-store-links small {
    font-size: var(--s724-text-sm);
}
.s724-main .s724-mosaic-day small,
.s724-regions-summary span,
.s724-region-status,
.s724-region-metrics small,
.s724-region-postal,
.s724-regions-search span {
    font-size: var(--s724-text-xs);
}
.s724-main .s724-benefit-item strong,
.s724-main .s724-mosaic-title h3,
.s724-region-card-head h3,
.s724-contact-card-head h2 {
    line-height: 1.28;
}
.btn,
button,
.nav-link,
.dropdown-item,
.s724-text-link,
.s724-region-hours-btn,
.s724-footer-links a,
.s724-footer-links button {
    line-height: 1.28;
}
/* Payment cut / preference areas use the same white section language as checkout. */
.s724-checkout-page .s724-checkout-preference-section {
    display: grid;
    gap: 14px;
    margin-top: 14px;
    padding: 18px 20px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-checkout-page .s724-checkout-preference-title {
    margin: 0;
}
.s724-checkout-page .s724-checkout-preference-title h2 {
    margin: 4px 0 0;
    font-size: 1.05rem;
    font-weight: 820;
    letter-spacing: -.018em;
    line-height: 1.25;
}
.s724-checkout-page .s724-preference-choice {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-height: 66px;
    margin: 0;
    padding: 13px 14px;
    cursor: pointer;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.s724-checkout-page .s724-preference-choice:hover {
    border-color: var(--s724-line-strong);
}
.s724-checkout-page .s724-preference-choice:has(input:checked) {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .42);
    box-shadow: inset 0 0 0 1px rgba(233, 75, 36, .05);
}
.s724-checkout-page .s724-preference-choice>input {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    opacity: 0 !important;
    pointer-events: none;
}
.s724-checkout-page .s724-preference-check {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: transparent;
    background: var(--s724-surface);
    border: 1.5px solid var(--s724-line-strong);
    border-radius: 6px;
    font-size: .82rem;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}
.s724-checkout-page .s724-preference-choice:has(input:checked) .s724-preference-check {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-checkout-page .s724-preference-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}
.s724-checkout-page .s724-preference-copy strong {
    color: var(--s724-text);
    font-size: .92rem;
    font-weight: 780;
    line-height: 1.35;
}
.s724-checkout-page .s724-preference-copy small {
    color: var(--s724-muted);
    font-size: .84rem;
    line-height: 1.55;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-checkout-preference-section {
    background: #181b1f;
    border-color: rgba(255, 255, 255, .08);
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-preference-choice {
    background: #20242a;
    border-color: rgba(255, 255, 255, .09);
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-preference-choice:has(input:checked) {
    background: rgba(233, 75, 36, .12);
    border-color: rgba(255, 112, 76, .48);
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-checkout-preference-section {
        padding: 16px;
    }
    .s724-main .s724-benefit-item span:not(.s724-benefit-icon),
    .s724-order-stage .s724-field-help,
    .s724-order-stage .s724-order-type-copy small {
        font-size: .86rem;
    }
}
/* Compact product rows */
.s724-product-section {
    margin-bottom: 34px;
}
.s724-product-section-head-title-only {
    align-items: center;
    margin-bottom: 10px;
}
.s724-product-section-head-title-only h2 {
    margin: 0;
}
.s724-product-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
}
.s724-product-card {
    width: 100%;
    min-width: 0;
}
.s724-product-card-action {
    display: grid;
    width: 100%;
    min-height: 66px;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    overflow: hidden;
    padding: 0;
    border-radius: 9px;
}
.s724-product-card-action:hover:not(:disabled) {
    transform: translateY(-1px);
}
.s724-product-row-media,
.s724-product-image,
.s724-product-placeholder {
    width: 58px;
    min-height: 64px;
    height: 64px;
    overflow: hidden;
    align-self: center;
    background: var(--s724-surface-2);
}
.s724-product-row-media {
    display: grid;
    place-items: center;
}
.s724-product-row-icon {
    color: var(--s724-primary);
    background:
        radial-gradient(circle at 55% 34%, var(--s724-primary-soft), transparent 48%),
        var(--s724-surface-2);
    font-size: 1.25rem;
}
.s724-product-image img {
    width: 100%;
    height: 64px;
    min-height: 64px;
    object-fit: cover;
}
.s724-product-card-body {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px, auto) minmax(0, 1fr);
    align-items: center;
    gap: 12px 18px;
    padding: 8px 14px;
}
.s724-product-card-titleline {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}
.s724-product-card h3 {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    font-size: .94rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-product-card-badges {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0;
    overflow: hidden;
}
.s724-product-card-badges span {
    min-height: 19px;
    flex: 0 0 auto;
    padding-inline: 6px;
    font-size: .56rem;
    white-space: nowrap;
}
.s724-product-card p {
    display: block;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--s724-muted);
    font-size: .72rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-line-clamp: unset;
}
.s724-product-time {
    margin: 0;
    white-space: nowrap;
}
.s724-product-card-side {
    display: flex;
    min-width: 132px;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 7px 12px 7px 6px;
}
.s724-product-card-side strong {
    white-space: nowrap;
    color: var(--s724-text);
    font-size: .9rem;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}
.s724-product-card-bottom {
    display: none;
}
.s724-product-add {
    width: 31px;
    height: 31px;
    border-radius: 7px;
}
.s724-category-cover {
    min-height: 150px;
    margin-bottom: 22px;
}
.s724-category-cover-copy {
    min-height: 150px;
    padding: 20px 22px;
}
@media (max-width: 991.98px) {
    .s724-product-card-body {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
    }
    .s724-product-card p {
        font-size: .68rem;
    }
}
@media (max-width: 767.98px) {
    .s724-product-section {
        margin-bottom: 28px;
    }
    .s724-product-card-action {
        min-height: 62px;
        grid-template-columns: 52px minmax(0, 1fr) auto;
    }
    .s724-product-row-media,
    .s724-product-image,
    .s724-product-placeholder,
    .s724-product-image img {
        width: 52px;
        min-height: 60px;
        height: 60px;
    }
    .s724-product-card-body {
        padding: 7px 10px;
    }
    .s724-product-card h3 {
        font-size: .88rem;
    }
    .s724-product-card-badges span {
        font-size: .53rem;
    }
    .s724-product-card p {
        display: none;
    }
    .s724-product-card-side {
        min-width: 102px;
        gap: 7px;
        padding: 6px 8px 6px 3px;
    }
    .s724-product-card-side strong {
        font-size: .78rem;
    }
    .s724-product-add {
        width: 29px;
        height: 29px;
    }
}
@media (max-width: 479.98px) {
    .s724-product-card-action {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        min-height: 56px;
    }
    .s724-product-row-media,
    .s724-product-image,
    .s724-product-placeholder,
    .s724-product-image img {
        width: 46px;
        min-height: 54px;
        height: 54px;
    }
    .s724-product-card-body {
        padding-inline: 9px;
    }
    .s724-product-card-titleline {
        gap: 5px;
    }
    .s724-product-card-badges {
        display: none;
    }
    .s724-product-card-side {
        min-width: 92px;
    }
}
/* Products single row */
.s724-products-page .s724-product-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
}
.s724-products-page .s724-product-card-action {
    min-height: 72px !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    align-items: stretch !important;
}
.s724-products-page .s724-product-row-media,
.s724-products-page .s724-product-image,
.s724-products-page .s724-product-placeholder,
.s724-products-page .s724-product-image-fallback {
    width: 64px !important;
    min-height: 70px !important;
    height: 100% !important;
}
.s724-products-page .s724-product-image img {
    width: 64px !important;
    min-height: 70px !important;
    height: 100% !important;
    object-fit: cover !important;
}
.s724-products-page .s724-product-card-body {
    display: grid !important;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 8px 14px !important;
}
.s724-products-page .s724-product-card-titleline {
    min-width: 0;
    align-items: center;
    flex-wrap: nowrap;
}
.s724-products-page .s724-product-card h3 {
    margin: 0 !important;
    overflow: hidden;
    font-size: .92rem !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-products-page .s724-product-card-badges {
    flex-wrap: nowrap !important;
}
.s724-products-page .s724-product-card p {
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden;
    font-size: .72rem !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-line-clamp: unset !important;
}
.s724-products-page .s724-product-card-side {
    min-width: 132px !important;
    gap: 10px !important;
    padding: 7px 12px 7px 6px !important;
}
@media (max-width: 991.98px) {
    .s724-products-page .s724-product-card-body {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 3px !important;
    }
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-product-card-action {
        min-height: 62px !important;
        grid-template-columns: 52px minmax(0, 1fr) auto !important;
    }
    .s724-products-page .s724-product-row-media,
    .s724-products-page .s724-product-image,
    .s724-products-page .s724-product-placeholder,
    .s724-products-page .s724-product-image-fallback,
    .s724-products-page .s724-product-image img {
        width: 52px !important;
        min-height: 60px !important;
    }
    .s724-products-page .s724-product-card p {
        display: none !important;
    }
    .s724-products-page .s724-product-card-side {
        min-width: 102px !important;
    }
}
/* Category text headings */
.s724-products-page .s724-category-title-text {
    position: relative;
    display: block;
    margin: 0 0 22px;
    padding: 0 0 12px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.s724-products-page .s724-category-title-text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 48px;
    height: 3px;
    background: var(--s724-primary);
    border-radius: 999px;
}
.s724-products-page .s724-category-title-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--s724-primary);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
}
.s724-products-page .s724-category-title-text h2 {
    margin: 0;
    color: var(--s724-text);
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: 1.08;
}
.s724-products-page .s724-product-row-icon .bi-clock-history {
    color: var(--s724-primary);
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-category-title-text {
        margin-bottom: 16px;
        padding-bottom: 9px;
    }
    .s724-products-page .s724-category-title-text::after {
        width: 38px;
        height: 2px;
    }
    .s724-products-page .s724-category-title-text h2 {
        font-size: 1.2rem;
    }
}
/* SEPET */
.s724-cart-content {
    --s724-cart-radius: 10px;
    --s724-cart-title-size: .82rem;
    --s724-cart-value-size: .86rem;
}
.s724-cart-empty-state {
    display: grid;
    min-height: 250px;
    place-items: center;
    align-content: center;
    gap: 10px;
    padding: 34px 22px;
    color: var(--s724-muted);
    text-align: center;
}
.s724-cart-empty-icon {
    display: inline-grid;
    width: 58px;
    height: 58px;
    place-items: center;
    color: var(--s724-primary);
    background: color-mix(in srgb, var(--s724-primary) 7%, var(--s724-surface));
    border-radius: 16px;
    font-size: 1.3rem;
}
.s724-cart-empty-state strong {
    color: var(--s724-text);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.3;
}
.s724-cart-empty-state small {
    max-width: 250px;
    color: var(--s724-muted);
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.55;
}
.s724-cart-content .scrollbar-cart {
    display: grid;
    gap: 8px;
}
.s724-cart-content .s724-cart-product-item,
.s724-cart-content .s724-cart-product-item.s724-cart-line {
    display: block !important;
    padding: 12px !important;
    background: var(--s724-surface) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: var(--s724-cart-radius) !important;
}
.s724-cart-item-main {
    display: grid;
    gap: 8px;
    min-width: 0;
}
.s724-cart-item-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}
.s724-cart-content .s724-cart-item-title,
.s724-cart-simple-title {
    margin: 0 !important;
    color: var(--s724-text) !important;
    font-size: var(--s724-cart-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}
.s724-cart-item-price,
.s724-cart-simple-value,
.s724-cart-summary-value {
    color: var(--s724-text) !important;
    font-size: var(--s724-cart-value-size) !important;
    font-weight: 800 !important;
    line-height: 1.2;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.s724-cart-options {
    display: grid;
    gap: 3px;
}
.s724-cart-option-group {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 4px;
}
.s724-cart-option-mark {
    display: inline-grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    margin-top: 1px;
    color: var(--s724-muted) !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    border-radius: 7px;
    font-size: .72rem;
}
.s724-cart-option-badges {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 3px;
}
.s724-cart-option-badge {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    gap: 3px;
    padding: 3px 7px;
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 500;
    line-height: 1.15;
}
.s724-cart-option-price {
    margin-left: 1px;
    color: var(--s724-muted) !important;
    font-size: .61rem !important;
    font-weight: 600;
    line-height: 1 !important;
    white-space: nowrap;
}
.s724-cart-price-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}
.s724-cart-price-meta>span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-height: 22px;
    padding: 3px 7px;
    color: var(--s724-muted) !important;
    background: var(--s724-surface-2) !important;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 600;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}
.s724-cart-price-meta>span b {
    color: var(--s724-text) !important;
    font-weight: 750;
}
.s724-cart-price-meta>span.is-discount,
.s724-cart-price-meta>span.is-discount b {
    color: var(--s724-danger, #dc3545) !important;
}
.s724-cart-menu-items {
    display: grid;
    gap: 5px;
}
.s724-cart-menu-item {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 7px;
}
.s724-cart-menu-item-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
}
.s724-cart-menu-item-copy strong {
    color: var(--s724-text);
    font-size: .69rem;
    font-weight: 650;
    line-height: 1.3;
}
.s724-cart-menu-item-copy strong small {
    color: var(--s724-muted);
    font-size: .62rem;
    font-weight: 600;
}
.s724-cart-menu-item-copy>span {
    color: var(--s724-muted);
    font-size: .63rem;
    font-weight: 500;
    line-height: 1.35;
}
.s724-cart-item-note {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    padding: 3px 0;
    color: var(--s724-muted);
    font-size: .67rem;
    font-weight: 500;
    line-height: 1.4;
}
.s724-cart-item-note i,
.s724-cart-note-action {
    color: var(--s724-muted) !important;
}
.s724-cart-item-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}
.s724-cart-note-action,
.s724-cart-remove-action,
.s724-cart-content .s724-cart-remove-action.s724-cart-line-remove,
.s724-cart-content button.s724-cart-remove-action.s724-cart-line-remove {
    position: static !important;
    display: inline-grid !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
}
.s724-cart-note-action {
    color: var(--s724-muted) !important;
    background: var(--s724-surface-2) !important;
    border: 1px solid var(--s724-line) !important;
}
.s724-cart-remove-action,
.s724-cart-content .s724-cart-remove-action.s724-cart-line-remove,
.s724-cart-content button.s724-cart-remove-action.s724-cart-line-remove {
    color: #fff !important;
    background: var(--s724-danger, #dc3545) !important;
    border: 1px solid var(--s724-danger, #dc3545) !important;
}
.s724-cart-note-action i {
    display: block;
    color: currentColor !important;
    font-size: .86rem;
    line-height: 1;
    opacity: 1;
}
.s724-cart-remove-action i {
    display: none !important;
}
.s724-cart-remove-action::before {
    display: block;
    content: "\f5de";
    color: currentColor;
    font-family: "bootstrap-icons" !important;
    font-size: .86rem;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 1;
    speak: none;
}
.s724-cart-note-action:hover {
    color: var(--s724-text) !important;
    border-color: var(--s724-line-strong) !important;
}
.s724-cart-remove-action:hover {
    color: #fff !important;
    background: #bb2d3b !important;
    border-color: #bb2d3b !important;
}
.s724-cart-content .s724-cart-product-item+.collapse,
.s724-cart-note-editor {
    margin-top: -4px;
    padding: 10px !important;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-top: 0;
    border-radius: 0 0 var(--s724-cart-radius) var(--s724-cart-radius);
}
.s724-cart-note-editor .form-control {
    min-height: 76px;
    font-size: .72rem;
    line-height: 1.45;
}
.s724-cart-note-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 8px;
}
.s724-cart-note-editor-actions .link {
    font-size: .7rem;
    font-weight: 700;
}
.s724-cart-simple-item {
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 10px 11px !important;
    background: var(--s724-surface) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: var(--s724-cart-radius) !important;
}
.s724-cart-simple-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}
.s724-cart-simple-copy small {
    color: var(--s724-muted);
    font-size: .58rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.s724-cart-simple-icon {
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border-radius: 8px;
    font-size: .76rem;
}
.s724-cart-summary-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 !important;
    padding: 10px 11px !important;
    color: var(--s724-text);
    background: var(--s724-surface) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: var(--s724-cart-radius) !important;
}
.s724-cart-summary-label {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 6px;
    color: var(--s724-text);
    font-size: .76rem;
    line-height: 1.3;
}
.s724-cart-summary-label b {
    font-weight: 800;
}
.s724-cart-summary-label small {
    color: var(--s724-muted);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1;
}
.s724-cart-summary-row.is-discount .s724-cart-summary-value::before {
    content: "− ";
}
.s724-cart-summary-row.is-tax,
.s724-cart-summary-row.is-fee,
.s724-cart-summary-row.is-delivery-fee {}
.s724-discount-row,
.s724-checkout-cart .s724-discount-row {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}
.s724-discount-control {
    position: relative;
    z-index: 3;
    display: flex !important;
    width: 100%;
    min-width: 0;
    align-items: center;
    gap: 7px !important;
    padding: 5px !important;
    overflow: visible;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: var(--s724-cart-radius);
}
.s724-discount-icon {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    color: var(--s724-muted);
    background: transparent;
    pointer-events: none;
}
.s724-discount-row .s724-discount-control .s724-discount-input,
.s724-checkout-cart .s724-discount-control .s724-discount-input,
.s724-discount-control #indirimKodu {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 7px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    user-select: text !important;
    cursor: text !important;
    color: var(--s724-text) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: .78rem;
    font-weight: 600;
}
.s724-discount-control #indirimKodu::placeholder {
    color: var(--s724-muted) !important;
    opacity: .82;
}
.s724-discount-control #indirimKodu:focus {
    outline: 0 !important;
    box-shadow: none !important;
}
.s724-discount-control:focus-within {
    border-color: color-mix(in srgb, var(--s724-primary) 38%, var(--s724-line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--s724-primary) 7%, transparent);
}
.s724-discount-control .s724-discount-submit {
    position: relative;
    z-index: 4;
    min-height: 40px;
    flex: 0 0 auto;
}
.s724-discount-applied,
.s724-discount-value {
    color: var(--s724-text);
}
.s724-discount-remove {
    color: var(--s724-muted) !important;
    background: var(--s724-surface-2) !important;
    border-color: var(--s724-line) !important;
}
.s724-cart-content .s724-cart-gift-btn {
    display: grid !important;
    width: 100%;
    grid-template-columns: 36px minmax(0, 1fr) auto 16px;
    gap: 9px;
    align-items: center;
    margin-top: 8px;
    padding: 7px 10px !important;
    color: var(--s724-text) !important;
    text-align: left;
    background: var(--s724-surface) !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: var(--s724-cart-radius) !important;
    box-shadow: none !important;
}
.s724-cart-content .s724-cart-gift-btn:hover {
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border-color: var(--s724-line-strong) !important;
    transform: none;
}
.s724-cart-gift-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--s724-primary);
    background: color-mix(in srgb, var(--s724-primary) 8%, var(--s724-surface));
    border-radius: 8px;
    font-size: .86rem;
}
.s724-cart-gift-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.s724-cart-gift-copy small {
    color: var(--s724-muted);
    font-size: .58rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.s724-cart-gift-copy strong {
    overflow: hidden;
    color: var(--s724-text);
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-cart-gift-badge {
    display: inline-grid;
    min-width: 28px;
    height: 28px;
    place-items: center;
    padding: 0 7px;
    color: var(--s724-primary);
    background: color-mix(in srgb, var(--s724-primary) 8%, var(--s724-surface));
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
}
.s724-cart-gift-arrow {
    color: var(--s724-muted);
    font-size: .76rem;
}
.s724-cart-checkout-dock {
    flex: 0 0 auto;
    padding-top: 8px;
    background: var(--s724-surface);
}
.s724-cart-content .s724-checkout-btn {
    display: grid !important;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    gap: 10px;
    align-items: center;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: var(--s724-cart-radius) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    text-align: left;
}
.s724-checkout-label {
    min-width: 0;
    font-weight: 800;
}
.s724-checkout-total {
    font-size: .88rem;
    font-weight: 800;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.s724-cart-content .s724-checkout-btn.is-ready {
    color: #fff !important;
    background: #168a55 !important;
    border-color: #168a55 !important;
    box-shadow: 0 10px 24px color-mix(in srgb, #168a55 20%, transparent) !important;
}
.s724-cart-content .s724-checkout-btn.is-ready:hover {
    background: #117548 !important;
    border-color: #117548 !important;
}
.s724-cart-content .s724-checkout-btn.is-blocked,
.s724-cart-content .s724-checkout-btn.is-blocked:disabled {
    color: #b7353c !important;
    background: color-mix(in srgb, #c93d42 8%, var(--s724-surface)) !important;
    border-color: color-mix(in srgb, #c93d42 18%, var(--s724-line)) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}
@media (min-width: 992px) {
    .s724-cart-content {
        display: flex;
        min-height: 0;
        flex-direction: column;
        overflow: hidden;
    }
    .s724-cart-content #warenkorb {
        display: flex !important;
        min-height: 0;
        flex: 0 1 auto;
        flex-direction: column;
        overflow: visible;
    }
    .s724-cart-content .scrollbar-cart {
        min-height: 0;
        max-height: calc(100dvh - var(--s724-products-top) - 250px) !important;
        flex: 0 1 auto;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding-right: 2px;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
}
@media (max-width: 575.98px) {
    .s724-cart-content {
        --s724-cart-title-size: .78rem;
        --s724-cart-value-size: .82rem;
    }
    .s724-cart-item-title-row {
        gap: 8px;
    }
    .s724-cart-option-badge {
        font-size: .64rem;
    }
    .s724-discount-control {
        gap: 5px !important;
    }
    .s724-discount-control .s724-discount-submit {
        width: 42px;
        min-width: 42px;
        padding: 0 !important;
    }
    .s724-checkout-total {
        font-size: .8rem;
    }
}
/* MODAL */
.s724-product-modal .s724-product-detail-options .s724-detail-row,
.s724-product-modal .s724-product-detail-options .form-row {
    display: grid !important;
    width: min(100%, 580px);
    margin-right: 0 !important;
    margin-left: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 280px)) !important;
    justify-content: start;
    column-gap: 18px !important;
    row-gap: 2px !important;
}
.s724-product-modal .s724-product-detail.is-packet .s724-detail-row,
.s724-product-modal .s724-product-detail.is-packet .form-row {
    width: 100%;
    grid-template-columns: 1fr !important;
}
.s724-product-modal .showlist,
.s724-product-modal .s724-option-row {
    width: auto !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}
.s724-product-modal .s724-choice-card,
.s724-product-modal .custom-control,
.s724-product-modal .form-check,
.s724-product-detail-options .s724-choice-card,
.s724-product-detail-options .custom-control {
    min-height: 34px !important;
    margin: 0 !important;
    padding: 5px 4px 5px 31px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: color .16s ease !important;
}
.s724-product-modal .s724-choice-card:hover,
.s724-product-modal .custom-control:hover,
.s724-product-modal .form-check:hover,
.s724-product-detail-options .s724-choice-card:hover,
.s724-product-detail-options .custom-control:hover {
    background: transparent !important;
    border: 0 !important;
    transform: none !important;
}
.s724-product-modal .s724-choice-card .form-check-input,
.s724-product-modal .custom-control-input,
.s724-product-modal .form-check-input {
    left: 4px !important;
    width: 18px !important;
    height: 18px !important;
    border-width: 1px !important;
    border-color: color-mix(in srgb, var(--s724-text) 20%, var(--s724-line)) !important;
    box-shadow: none !important;
}
.s724-product-modal .s724-choice-card .form-check-input:focus,
.s724-product-modal .custom-control-input:focus,
.s724-product-modal .form-check-input:focus {
    border-color: color-mix(in srgb, var(--s724-primary) 48%, var(--s724-line)) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--s724-primary) 8%, transparent) !important;
}
.s724-product-modal .s724-choice-card label,
.s724-product-modal .custom-control label,
.s724-product-modal .form-check label,
.s724-product-detail-options .s724-choice-card label,
.s724-product-detail-options .custom-control label {
    display: flex !important;
    width: 100% !important;
    min-width: 0;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    color: var(--s724-text) !important;
    font-weight: 680 !important;
    line-height: var(--s724-action-line-height) !important;
}
.s724-product-modal .badge,
.s724-product-modal .badge-warning,
.s724-product-modal .badge-success,
.s724-product-modal .badge-danger,
.s724-product-modal .badge-secondary,
.s724-product-modal .text-bg-warning,
.s724-product-modal .text-bg-success,
.s724-product-modal .text-bg-danger,
.s724-product-modal .text-bg-secondary {
    padding: 4px 7px !important;
    color: var(--s724-muted) !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
}
.s724-product-modal .s724-option-price {
    float: none !important;
    flex: 0 0 auto;
    margin: 0 0 0 auto !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    white-space: nowrap;
}
.s724-product-modal .s724-option-price[hidden] {
    display: none !important;
}
.s724-product-modal .showmore,
.s724-product-modal .s724-showmore {
    display: inline-flex !important;
    min-height: 32px !important;
    align-items: center;
    justify-content: center;
    margin-top: 6px !important;
    padding: 0 11px !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: .73rem !important;
    font-weight: 760 !important;
    text-decoration: none !important;
}
.s724-product-modal .showmore:hover,
.s724-product-modal .s724-showmore:hover {
    color: var(--s724-text) !important;
    background: color-mix(in srgb, var(--s724-text) 7%, var(--s724-surface-2)) !important;
}
.s724-product-modal .s724-gift-qty {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 3px 4px;
}
.s724-product-modal .s724-gift-qty-name {
    min-width: 0;
    color: var(--s724-text);
    font-size: .76rem;
    font-weight: 650;
    line-height: var(--s724-action-line-height);
}
.s724-product-modal .s724-gift-qty-stepper {
    display: inline-grid;
    flex: 0 0 auto;
    grid-template-columns: 30px 38px 30px;
    align-items: center;
    overflow: hidden;
    background: var(--s724-surface-2);
    border-radius: 8px;
}
.s724-product-modal .s724-gift-qty-btn {
    display: inline-grid;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    place-items: center;
    padding: 0;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    border-radius: 0;
    line-height: 1;
}
.s724-product-modal .s724-gift-qty-btn:hover {
    color: var(--s724-primary);
    background: color-mix(in srgb, var(--s724-primary) 7%, transparent);
}
.s724-product-modal .s724-gift-qty-input {
    width: 38px;
    height: 30px;
    padding: 0;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    font-size: .76rem;
    font-weight: 800;
    text-align: center;
    appearance: textfield;
}
.s724-product-modal .s724-gift-qty-input::-webkit-outer-spin-button,
.s724-product-modal .s724-gift-qty-input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}
html[data-s724-theme="dark"] .s724-product-modal .badge,
html[data-s724-theme="dark"] .s724-product-modal .s724-option-price,
html[data-s724-theme="dark"] .s724-cart-option-badge {
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
}
@media (max-width: 767.98px) {
    .s724-product-modal .s724-product-detail-options .s724-detail-row,
    .s724-product-modal .s724-product-detail-options .form-row {
        width: 100%;
        grid-template-columns: 1fr !important;
        row-gap: 2px !important;
    }
}
/* ========================================================================== 
   Order mode and checkout flow
   ========================================================================== */
.s724-order-mode-compact {
    display: grid;
    gap: 8px;
    min-width: 0;
}
.s724-order-mode-label {
    color: var(--s724-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.s724-order-mode-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
.s724-order-mode-option {
    display: inline-flex;
    min-width: 0;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid transparent;
    border-radius: 10px;
    box-shadow: none;
    font-size: .82rem;
    font-weight: 760;
    line-height: var(--s724-action-line-height);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.s724-order-mode-option i {
    font-size: 1rem;
    line-height: 1;
}
.s724-order-mode-option:hover:not(:disabled):not(.is-active) {
    background: color-mix(in srgb, var(--s724-text) 7%, var(--s724-surface-2));
}
.s724-order-mode-option.is-active {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-order-mode-option:disabled {
    opacity: .42;
    cursor: not-allowed;
}
.s724-order-mode-compact.is-loading {
    opacity: .7;
    pointer-events: none;
}
.s724-menu-status-order-type {
    min-width: 250px;
    grid-template-columns: minmax(0, 1fr);
}
.s724-menu-status-order-type .s724-order-mode-compact {
    display: grid;
    width: 100%;
    flex-direction: initial;
    gap: 8px;
}
.s724-menu-status-order-type .s724-order-mode-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex-direction: initial;
    gap: 6px;
}
.s724-checkout-page .s724-checkout-form {
    display: grid;
    gap: 20px;
}
.s724-checkout-page .s724-payment-stage {
    padding: 22px 22px 24px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 18px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-checkout-page .s724-payment-stage-head,
.s724-checkout-page .s724-checkout-subhead,
.s724-checkout-page .s724-checkout-address>.s724-checkout-block-title,
.s724-checkout-page .s724-checkout-preference-title {
    display: block;
    margin: 0 0 14px;
}
.s724-checkout-page .s724-payment-stage-head .s724-checkout-eyebrow,
.s724-checkout-page .s724-checkout-subhead .s724-checkout-eyebrow,
.s724-checkout-page .s724-checkout-address>.s724-checkout-block-title .s724-checkout-eyebrow,
.s724-checkout-page .s724-checkout-preference-title .s724-kicker {
    display: block;
    margin: 0 0 4px;
    color: var(--s724-primary);
    font-size: .72rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.s724-checkout-page .s724-payment-stage-head h2,
.s724-checkout-page .s724-checkout-subhead h2,
.s724-checkout-page .s724-checkout-address>.s724-checkout-block-title h2,
.s724-checkout-page .s724-checkout-preference-title h2 {
    margin: 0;
    color: var(--s724-text);
    font-size: 1.12rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.02em;
}
.s724-checkout-page .s724-payment-stage-head p {
    margin: 6px 0 0;
    color: var(--s724-muted);
    font-size: .9rem;
    line-height: 1.5;
}
.s724-checkout-page .s724-payment-stage-personal>.form-row {
    margin-top: 0;
}
.s724-checkout-page .s724-checkout-order-type,
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-address,
.s724-checkout-page .s724-payment-stage-personal>#teslimatAdresi,
.s724-checkout-page .s724-payment-stage-personal>#teslimatZamanisecim,
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-preference-section,
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-subhead {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--s724-line);
}
.s724-checkout-page .s724-checkout-order-type .s724-checkout-subhead {
    margin-bottom: 10px;
}
.s724-checkout-page .s724-order-mode-checkout {
    max-width: 480px;
}
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-address,
.s724-checkout-page .s724-payment-stage-personal>#teslimatAdresi,
.s724-checkout-page .s724-payment-stage-personal>#teslimatZamanisecim,
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-preference-section {
    padding-inline: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    border-inline: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.s724-checkout-page .s724-payment-stage-personal>#teslimatZamanisecim {
    border-top: 0;
    margin-top: 10px;
    padding-top: 0;
}
.s724-checkout-page .s724-payment-stage-personal>textarea[name="siparisNotu"] {
    margin-top: 0;
    min-height: 104px;
}
.s724-checkout-page .s724-payment-stage-payment>hr,
.s724-checkout-page .s724-payment-stage-agb>hr {
    display: none !important;
}
.s724-checkout-page .s724-payment-stage-payment #krediKarti,
.s724-checkout-page .s724-payment-stage-payment #sumup {
    margin-top: 14px;
}
.s724-checkout-page .s724-payment-stage-agb {
    display: block;
}
.s724-checkout-page .s724-agb-list {
    display: grid;
    gap: 8px;
}
.s724-checkout-page .s724-agb-row {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    padding: 6px 0;
    cursor: pointer;
}
.s724-checkout-page .s724-agb-row>input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}
.s724-checkout-page .s724-agb-box {
    display: inline-grid;
    width: 20px;
    height: 20px;
    place-items: center;
    margin-top: 1px;
    color: transparent;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line-strong);
    border-radius: 6px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.s724-checkout-page .s724-agb-row>input:checked+.s724-agb-box {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
.s724-checkout-page .s724-agb-row>input:focus-visible+.s724-agb-box {
    outline: 3px solid color-mix(in srgb, var(--s724-primary) 16%, transparent);
    outline-offset: 2px;
}
.s724-checkout-page .s724-agb-copy {
    color: var(--s724-text);
    font-size: .88rem;
    font-weight: 560;
    line-height: 1.45;
}
.s724-checkout-page .s724-agb-copy a {
    margin-left: 4px;
    color: var(--s724-primary);
    font-weight: 760;
    text-decoration: none;
}
.s724-checkout-page .s724-agb-copy a:hover {
    text-decoration: underline;
}
.s724-checkout-page #odemeKontrolDurumu {
    margin: 30px 0 38px !important;
}
.s724-checkout-page #odemeButonu.s724-checkout-submit {
    width: min(100%, 540px) !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 16px 24px !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
}
.s724-checkout-page .s724-discount-row {
    margin-top: 0;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-payment-stage {
    background: var(--s724-surface);
    border-color: var(--s724-line);
}
@media (max-width: 1199.98px) {
    .s724-menu-status-order-type {
        min-width: 0;
    }
}
@media (max-width: 767.98px) {
    .s724-order-mode-options {
        gap: 5px;
    }
    .s724-order-mode-option {
        min-height: 40px;
        padding-inline: 9px;
        font-size: .78rem;
    }
    .s724-checkout-page .s724-checkout-form {
        gap: 16px;
    }
    .s724-checkout-page .s724-payment-stage {
        padding: 18px 16px 20px;
        border-radius: 16px;
    }
    .s724-checkout-page .s724-checkout-order-type,
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-address,
    .s724-checkout-page .s724-payment-stage-personal>#teslimatAdresi,
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-preference-section,
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-subhead {
        margin-top: 18px;
        padding-top: 18px;
    }
    .s724-checkout-page .s724-payment-stage-head h2,
    .s724-checkout-page .s724-checkout-subhead h2,
    .s724-checkout-page .s724-checkout-address>.s724-checkout-block-title h2,
    .s724-checkout-page .s724-checkout-preference-title h2 {
        font-size: 1.06rem;
    }
    .s724-checkout-page #odemeKontrolDurumu {
        margin: 24px 0 30px !important;
    }
    .s724-checkout-page #odemeButonu.s724-checkout-submit {
        width: 100% !important;
        min-height: 60px !important;
    }
}
/* ========================================================================== 
   COMPACT PAGE CONTEXT
   ========================================================================== */
.s724-context-strip {
    padding: 16px 0 14px;
    background: var(--s724-bg);
    border: 0;
}
.s724-context-strip-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.s724-context-strip .s724-menu-breadcrumb {
    margin: 0;
}
.s724-context-strip-grid.s724-menu-status {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-width: none;
    align-items: stretch;
}
.s724-context-strip .s724-menu-status-item,
.s724-context-strip .s724-menu-status-order-type {
    min-width: 0;
    min-height: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.s724-context-strip .s724-order-mode-compact {
    width: 100%;
    gap: 0;
}
.s724-context-strip .s724-order-mode-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 6px;
    background: color-mix(in srgb, var(--s724-surface) 78%, var(--s724-bg));
    border-radius: 17px;
    box-shadow: 0 10px 30px color-mix(in srgb, #000 5%, transparent);
}
.s724-context-strip .s724-order-mode-option {
    display: grid;
    min-width: 0;
    min-height: 88px;
    align-content: center;
    justify-items: center;
    gap: 8px;
    padding: 13px 16px;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    text-align: center;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.s724-context-strip .s724-order-mode-option:hover:not(:disabled):not(.is-active) {
    background: color-mix(in srgb, var(--s724-text) 5%, transparent);
}
.s724-context-strip .s724-order-mode-option.is-active {
    color: #fff;
    background: var(--s724-primary);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--s724-primary) 22%, transparent);
}
.s724-context-strip .s724-order-mode-option-title {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: .96rem;
    line-height: 1.15;
}
.s724-context-strip .s724-order-mode-option-title i {
    font-size: 1.05rem;
    line-height: 1;
}
.s724-context-strip .s724-order-mode-option-title strong {
    font-weight: 850;
}
.s724-context-strip .s724-order-mode-option-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px 12px;
    color: var(--s724-muted);
    font-size: .7rem;
    font-weight: 620;
    line-height: 1.2;
}
.s724-context-strip .s724-order-mode-option-meta>span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.s724-context-strip .s724-order-mode-option-meta i {
    font-size: .72rem;
    line-height: 1;
}
.s724-context-strip .s724-order-mode-option.is-active .s724-order-mode-option-meta {
    color: rgba(255, 255, 255, .84);
}
html[data-s724-theme="dark"] .s724-context-strip .s724-order-mode-options {
    background: color-mix(in srgb, var(--s724-surface-2) 86%, var(--s724-bg));
}
@media (max-width: 767.98px) {
    .s724-context-strip {
        padding: 13px 0 11px;
    }
    .s724-context-strip-head {
        margin-bottom: 8px;
    }
    .s724-context-strip .s724-order-mode-options {
        gap: 5px;
        padding: 5px;
        border-radius: 14px;
    }
    .s724-context-strip .s724-order-mode-option {
        min-height: 78px;
        gap: 6px;
        padding: 11px 9px;
        border-radius: 10px;
    }
    .s724-context-strip .s724-order-mode-option-title {
        font-size: .86rem;
    }
    .s724-context-strip .s724-order-mode-option-meta {
        gap: 4px 8px;
        font-size: .64rem;
    }
}
@media (max-width: 479.98px) {
    .s724-context-strip .s724-order-mode-options {
        grid-template-columns: 1fr;
    }
    .s724-context-strip .s724-order-mode-option {
        min-height: 70px;
    }
}
/* CHECKOUT ORDER MODE */
.s724-checkout-page .s724-checkout-modebar {
    padding: 14px 0 0;
    background: var(--s724-bg);
    border: 0;
}
.s724-checkout-page .s724-checkout-modebar>.s724-shell {
    width: min(100% - 32px, var(--s724-shell-width, 1400px));
    margin-inline: auto;
    padding: 0;
}
.s724-checkout-page .s724-checkout-mode-switch {
    width: 100%;
}
.s724-checkout-page .s724-checkout-mode-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    background: color-mix(in srgb, var(--s724-surface) 82%, var(--s724-bg));
    border-radius: 18px;
    box-shadow: 0 10px 28px color-mix(in srgb, #000 5%, transparent);
}
.s724-checkout-page .s724-checkout-mode-option {
    display: grid;
    min-width: 0;
    min-height: 92px;
    align-content: center;
    justify-items: center;
    gap: 8px;
    padding: 14px 18px;
    color: var(--s724-text);
    background: transparent;
    border: 0;
    border-radius: 13px;
    box-shadow: none;
    text-align: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.s724-checkout-page .s724-checkout-mode-option:hover:not(:disabled):not(.is-active) {
    background: color-mix(in srgb, var(--s724-text) 5%, transparent);
}
.s724-checkout-page .s724-checkout-mode-option:active:not(:disabled) {
    transform: scale(.992);
}
.s724-checkout-page .s724-checkout-mode-option.is-active {
    color: #fff;
    background: var(--s724-primary);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--s724-primary) 22%, transparent);
}
.s724-checkout-page .s724-checkout-mode-option:disabled {
    cursor: not-allowed;
    opacity: .42;
}
.s724-checkout-page .s724-checkout-mode-title {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 1rem;
    line-height: 1.15;
}
.s724-checkout-page .s724-checkout-mode-title i {
    font-size: 1.08rem;
    line-height: 1;
}
.s724-checkout-page .s724-checkout-mode-title strong {
    font-weight: 800;
}
.s724-checkout-page .s724-checkout-mode-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px 12px;
    color: var(--s724-muted);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.25;
}
.s724-checkout-page .s724-checkout-mode-meta>span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.s724-checkout-page .s724-checkout-mode-meta i {
    font-size: .74rem;
    line-height: 1;
}
.s724-checkout-page .s724-checkout-mode-option.is-active .s724-checkout-mode-meta {
    color: rgba(255, 255, 255, .86);
}
.s724-checkout-page .s724-checkout-mode-switch.is-loading {
    pointer-events: none;
    opacity: .7;
}
.s724-checkout-page .s724-checkout-order-type {
    display: none !important;
}
html[data-s724-theme="dark"] .s724-checkout-page .s724-checkout-mode-options {
    background: color-mix(in srgb, var(--s724-surface-2) 88%, var(--s724-bg));
}
@media (min-width: 1200px) {
    .s724-checkout-page .s724-checkout-modebar>.s724-shell {
        padding-right: calc(var(--s724-checkout-aside-width, 390px) + var(--s724-checkout-aside-gap, 18px) + 28px);
    }
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-checkout-modebar {
        padding-top: 10px;
    }
    .s724-checkout-page .s724-checkout-modebar>.s724-shell {
        width: min(100% - 20px, var(--s724-shell-width, 1400px));
    }
    .s724-checkout-page .s724-checkout-mode-options {
        gap: 5px;
        padding: 5px;
        border-radius: 15px;
    }
    .s724-checkout-page .s724-checkout-mode-option {
        min-height: 88px;
        gap: 6px;
        padding: 11px 9px;
        border-radius: 11px;
    }
    .s724-checkout-page .s724-checkout-mode-title {
        gap: 6px;
        font-size: .88rem;
    }
    .s724-checkout-page .s724-checkout-mode-meta {
        display: grid;
        justify-items: center;
        gap: 3px;
        font-size: .64rem;
    }
    .s724-checkout-page .s724-checkout-mode-meta>span {
        white-space: normal;
        text-align: center;
    }
}
/* PAYMENT ORDER MODE INSIDE */
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-inside {
    width: 100%;
    margin: 0 0 22px;
}
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-inside .s724-checkout-mode-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    background: color-mix(in srgb, var(--s724-surface-2) 78%, var(--s724-bg));
    border-radius: 18px;
    box-shadow: none;
}
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-inside .s724-checkout-mode-option {
    min-height: 84px;
}
.s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-divider {
    height: 1px;
    margin: 0 0 20px;
    background: var(--s724-line);
}
@media (max-width: 767.98px) {
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-inside {
        margin-bottom: 18px;
    }
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-inside .s724-checkout-mode-options {
        gap: 6px;
        padding: 5px;
        border-radius: 15px;
    }
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-inside .s724-checkout-mode-option {
        min-height: 76px;
        padding: 11px 9px;
    }
    .s724-checkout-page .s724-payment-stage-personal>.s724-checkout-mode-divider {
        margin-bottom: 18px;
    }
}
/* Product modal / free gift radio cards */
.s724-product-modal .s724-gift-choice-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(18, 18, 18, .08);
}
.s724-product-modal .s724-gift-choice-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}
.s724-product-modal .s724-gift-choice-head>div {
    display: grid;
    gap: .2rem;
}
.s724-product-modal .s724-gift-choice-head strong {
    font-size: 1rem;
    line-height: 1.3;
}
.s724-product-modal .s724-gift-choice-kicker {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--s724-primary, #e33b23);
}
.s724-product-modal .s724-gift-choice-count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.6rem;
    min-height: 2.35rem;
    padding: .35rem .7rem;
    border-radius: 999px;
    background: rgba(227, 59, 35, .1);
    color: var(--s724-primary, #e33b23);
    font-weight: 800;
}
.s724-product-modal .s724-gift-radio-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.s724-product-modal .s724-gift-radio-card {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 28px;
    align-items: center;
    gap: .8rem;
    min-height: 76px;
    margin: 0;
    padding: .55rem .65rem;
    border: 1px solid rgba(18, 18, 18, .1);
    border-radius: 14px;
    background: var(--bs-body-bg, #fff);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.s724-product-modal .s724-gift-radio-card:hover {
    border-color: rgba(227, 59, 35, .38);
    transform: translateY(-1px);
}
.s724-product-modal .s724-gift-radio-card.is-selected,
.s724-product-modal .s724-gift-radio-card:has(.s724-gift-radio-input:checked) {
    border-color: var(--s724-primary, #e33b23);
    box-shadow: 0 0 0 3px rgba(227, 59, 35, .09);
}
.s724-product-modal .s724-gift-radio-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.s724-product-modal .s724-gift-radio-media {
    width: 58px;
    height: 58px;
    overflow: hidden;
    border-radius: 11px;
    background: rgba(18, 18, 18, .04);
}
.s724-product-modal .s724-gift-radio-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.s724-product-modal .s724-gift-radio-copy {
    min-width: 0;
    display: grid;
    gap: .22rem;
}
.s724-product-modal .s724-gift-radio-copy strong {
    overflow: hidden;
    font-size: .96rem;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-product-modal .s724-gift-radio-copy small {
    font-size: .84rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--s724-primary, #e33b23);
}
.s724-product-modal .s724-gift-radio-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(18, 18, 18, .18);
    border-radius: 50%;
    color: transparent;
    background: transparent;
    transition: all .18s ease;
}
.s724-product-modal .s724-gift-radio-card.is-selected .s724-gift-radio-check,
.s724-product-modal .s724-gift-radio-card:has(.s724-gift-radio-input:checked) .s724-gift-radio-check {
    border-color: var(--s724-primary, #e33b23);
    background: var(--s724-primary, #e33b23);
    color: #fff;
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-choice-section {
    border-top-color: rgba(255, 255, 255, .09);
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-card {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .035);
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-check {
    border-color: rgba(255, 255, 255, .22);
}
@media (max-width: 767.98px) {
    .s724-product-modal .s724-gift-radio-grid {
        grid-template-columns: 1fr;
    }
    .s724-product-modal .s724-gift-radio-card {
        grid-template-columns: 54px minmax(0, 1fr) 26px;
        min-height: 70px;
    }
    .s724-product-modal .s724-gift-radio-media {
        width: 54px;
        height: 54px;
    }
}
/* Bonus-product chooser: legacy select values presented as custom radio cards */
.s724-product-modal .s724-gift-fields-radio {
    grid-template-columns: 1fr;
}
.s724-product-modal .s724-gift-radio-field {
    gap: .65rem;
}
.s724-product-modal .s724-gift-radio-field-title {
    display: block;
    color: var(--s724-muted);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.3;
}
.s724-product-modal .s724-gift-select-source[hidden] {
    display: none !important;
}
.s724-product-modal .s724-gift-select-radio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.s724-product-modal .s724-gift-select-radio-grid.is-invalid .s724-gift-select-radio-card {
    border-color: rgba(220, 53, 69, .58);
}
.s724-product-modal .s724-gift-select-radio-media {
    display: grid;
    place-items: center;
    color: var(--s724-primary, #e33b23);
    background: color-mix(in srgb, var(--s724-primary, #e33b23) 10%, var(--bs-body-bg, #fff));
    font-size: 1.2rem;
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-select-radio-media {
    background: color-mix(in srgb, var(--s724-primary, #e33b23) 13%, rgba(255, 255, 255, .035));
}
@media (max-width: 767.98px) {
    .s724-product-modal .s724-gift-select-radio-grid {
        grid-template-columns: 1fr;
    }
}
/* ========================================================================== 
   Index reset 2.5.0 — centered ordering, no parallax, full-height info image
   ========================================================================== */
/* Header navigation is mathematically centered on desktop. */
@media (min-width: 1200px) {
    .s724-navbar>.s724-shell {
        display: grid;
        grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr);
        align-items: center;
        column-gap: 22px;
    }
    .s724-navbar>.s724-shell>.navbar-brand {
        justify-self: start;
    }
    .s724-header .s724-offcanvas {
        justify-self: center;
    }
    .s724-header .s724-offcanvas-body {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-inline: 0;
    }
    .s724-header .s724-nav-links {
        justify-content: center;
        margin-inline: 0 !important;
        text-align: center;
    }
    .s724-navbar>.s724-shell>.s724-header-actions {
        justify-self: end;
        margin-left: 0 !important;
    }
}
/* Center the restaurant/order selection on the index. */
.s724-order-stage {
    min-height: 560px;
}
.s724-order-stage-content {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
    justify-items: stretch;
    gap: 24px;
    min-height: 560px;
    padding-block: 54px;
}
.s724-restaurant-heading {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
}
.s724-restaurant-heading h1,
.s724-restaurant-heading p {
    max-width: 760px;
    margin-inline: auto;
}
.s724-order-card {
    width: min(100%, 720px);
    margin-inline: auto;
}
.s724-order-card-head {
    align-items: center;
    text-align: left;
}
.s724-order-action {
    width: 100%;
}
/* Icon explanations below the selector are centered as well. */
.s724-benefit-grid {
    align-items: stretch;
}
.s724-benefit-item,
.s724-benefit-item:first-child,
.s724-benefit-item:last-child {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 9px;
    padding: 14px 22px;
    text-align: center;
}
.s724-benefit-item div {
    align-items: center;
}
/* Left image now follows the complete height of the information container. */
.s724-info-mosaic {
    display: grid;
    grid-template-columns: minmax(300px, 5fr) minmax(0, 7fr);
    gap: 14px;
    align-items: stretch;
}
.s724-info-mosaic-content {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
    align-content: start;
}
.s724-mosaic-visual {
    grid-column: auto;
    min-height: 100%;
    height: 100%;
}
.s724-mosaic-media img {
    top: 0;
    height: 100%;
    object-fit: cover;
    transform: none;
    will-change: auto;
}
.s724-info-mosaic-content .s724-mosaic-hours {
    grid-column: span 12;
}
.s724-info-mosaic-content .s724-mosaic-minimum {
    grid-column: span 5;
}
.s724-info-mosaic-content .s724-mosaic-zones {
    grid-column: span 7;
}
.s724-info-mosaic-content .s724-mosaic-declaration {
    grid-column: span 7;
}
.s724-info-mosaic-content .s724-mosaic-contact {
    grid-column: span 5;
}
.s724-info-mosaic-content .s724-mosaic-contact.is-wide {
    grid-column: span 12;
}
/* Footer: no platform logo/brand block; all actions and navigation centered. */
.s724-footer-order {
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    text-align: center;
}
@media (max-width: 767.98px) {
    .s724-footer-order {
        align-items: center;
        width: 100%;
        text-align: center;
    }
}
.s724-footer-order-copy {
    justify-content: center;
    flex-direction: column;
}
@media (max-width: 767.98px) {
    .s724-footer-order-copy {
        width: 100%;
        align-items: center;
        text-align: center;
    }
    .s724-footer-order-copy>div {
        align-items: center;
        width: 100%;
        text-align: center;
    }
}
.s724-footer-order-actions {
    justify-content: center;
    flex-wrap: wrap;
}
@media (max-width: 767.98px) {
    .s724-footer-order-actions {
        width: 100%;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
}
.s724-footer-service-pills {
    justify-content: center;
}
@media (max-width: 767.98px) {
    .s724-footer-service-pills {
        width: 100%;
        justify-content: center;
    }
}
.s724-footer-order-btn {
    justify-content: center;
}
@media (max-width: 767.98px) {
    .s724-footer-order-btn {
        width: min(100%, 260px);
        margin-inline: auto;
    }
}
.s724-footer-navigation-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
    text-align: center;
}
@media (max-width: 767.98px) {
    .s724-footer-navigation-centered {
        width: 100%;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}
.s724-footer-navigation-centered .s724-footer-links-inline {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media (max-width: 767.98px) {
    .s724-footer-navigation-centered .s724-footer-links-inline {
        width: 100%;
        justify-content: center;
        gap: 8px 10px;
    }
    .s724-footer-navigation-centered .s724-footer-links-inline li {
        flex: 0 1 auto;
    }
}
.s724-footer-navigation-centered .s724-footer-links a,
.s724-footer-navigation-centered .s724-footer-links button {
    justify-content: center;
    text-align: center;
}
.s724-footer-navigation-centered .s724-footer-legal-social {
    justify-content: center;
}
@media (max-width: 767.98px) {
    .s724-footer-navigation-centered .s724-footer-legal-social {
        width: 100%;
        justify-content: center;
    }
}
.s724-footer-bottom-centered {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 14px;
    text-align: center;
}
.s724-footer-platform {
    display: inline-flex;
    align-items: center;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, .12);
    line-height: 1;
    white-space: nowrap;
}
.s724-footer-platform-text {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, .62);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .01em;
}
.s724-footer-version-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: var(--s724-primary);
    color: #fff;
    box-shadow: 0 5px 14px rgba(233, 75, 36, .22);
    font-size: .62rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .035em;
    vertical-align: middle;
}
@media (max-width: 767.98px) {
    .s724-footer-bottom-centered {
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center;
    }
    .s724-footer-platform {
        padding-left: 12px;
    }
}
@media (max-width: 1199.98px) {
    .s724-info-mosaic {
        grid-template-columns: minmax(270px, .9fr) minmax(0, 1.1fr);
    }
    .s724-info-mosaic-content .s724-mosaic-minimum,
    .s724-info-mosaic-content .s724-mosaic-zones,
    .s724-info-mosaic-content .s724-mosaic-declaration,
    .s724-info-mosaic-content .s724-mosaic-contact {
        grid-column: span 12;
    }
}
@media (max-width: 991.98px) {
    .s724-order-stage-content {
        grid-template-columns: minmax(0, 720px);
        padding-block: 42px;
    }
    .s724-info-mosaic {
        grid-template-columns: 1fr;
    }
    .s724-mosaic-visual {
        min-height: 430px;
        height: auto;
    }
}
@media (max-width: 767.98px) {
    .s724-order-stage-content {
        gap: 20px;
        padding-block: 34px;
    }
    .s724-restaurant-heading h1 {
        font-size: clamp(2.45rem, 12vw, 4rem);
    }
    .s724-order-card {
        padding: 18px;
    }
    .s724-benefit-item,
    .s724-benefit-item:first-child,
    .s724-benefit-item:last-child {
        padding: 14px 8px;
    }
    .s724-footer-order-actions {
        width: 100%;
        align-items: center;
    }
    .s724-footer-service-pills {
        justify-content: center;
    }
    .s724-footer-order-btn {
        width: min(100%, 260px);
    }
}
/* ========================================================================== 
   Index reset 2.5.1 — stable order selector height
   ========================================================================== */
/* Lieferung and Abholung reserve the same vertical space. */
.s724-order-action {
    height: 112px;
    min-height: 112px;
}
@media (max-width: 575.98px) {
    .s724-order-action {
        height: 120px;
        min-height: 120px;
    }
}
.s724-order-action>[data-s724-delivery-action],
.s724-order-action>[data-s724-pickup-action] {
    width: 100%;
}
.s724-order-action>[data-s724-pickup-action]:not(.d-none) {
    display: flex;
    height: 112px;
    align-items: flex-start;
}
@media (max-width: 575.98px) {
    .s724-order-action>[data-s724-pickup-action]:not(.d-none) {
        height: 120px;
        min-height: 120px;
    }
}
/* PLZ / Ort and Abholung action use the same control height. */
.s724-postal-field {
    height: 58px;
    min-height: 58px;
}
@media (max-width: 575.98px) {
    .s724-postal-field {
        height: 58px;
        min-height: 58px;
    }
}
.s724-pickup-submit {
    height: 58px;
    min-height: 58px;
    justify-content: flex-start;
    padding-inline: 22px;
    font-size: 1rem;
    font-weight: 760;
}
@media (max-width: 575.98px) {
    .s724-pickup-submit {
        height: 58px;
        min-height: 58px;
        padding-inline: 18px;
    }
}
/* Index reset V3: footer order row blends into the footer surface. */
.s724-footer-order {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}
/* ========================================================================== 
   2.1.5 — Shared inner-page heading + language backdrop + contact reset
   ========================================================================== */
.s724-page-intro {
    position: relative;
    min-height: 0 !important;
    overflow: visible;
    padding: 26px 0 24px !important;
    color: var(--s724-text) !important;
    background: var(--s724-surface-2) !important;
    border-bottom: 1px solid var(--s724-line);
}
.s724-page-intro-copy {
    max-width: 820px;
}
.s724-page-intro .s724-compact-breadcrumb,
.s724-page-intro .s724-compact-breadcrumb a {
    color: var(--s724-muted) !important;
}
.s724-page-intro .s724-compact-breadcrumb {
    margin-bottom: 9px;
    font-size: .76rem;
}
.s724-page-intro .s724-kicker {
    color: var(--s724-primary);
}
.s724-page-intro h1,
.s724-regions-intro h1,
.s724-contact-intro h1,
.s724-content-intro h1 {
    margin: 5px 0 7px;
    color: var(--s724-text) !important;
    font-size: clamp(1.55rem, 3vw, 2.25rem) !important;
    font-weight: 820;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.s724-page-intro p,
.s724-page-intro .s724-contact-summary,
.s724-page-intro .s724-content-summary {
    max-width: 720px;
    margin: 0;
    color: var(--s724-muted) !important;
    font-size: .88rem;
    line-height: 1.55;
}
.s724-regions-intro-grid {
    min-height: 0 !important;
    align-items: center;
    padding: 0 !important;
}
.s724-regions-summary {
    overflow: hidden;
    color: var(--s724-text);
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
    backdrop-filter: none;
}
.s724-regions-summary>div {
    border-color: var(--s724-line);
}
.s724-regions-summary strong {
    color: var(--s724-text);
}
.s724-regions-summary span {
    color: var(--s724-muted);
}
/* Language selection is a real backdrop/modal instead of a dropdown. */
.s724-language-trigger {
    gap: 8px;
}
@media (max-width: 767.98px) {
    .s724-language-trigger {
        width: auto !important;
        min-width: 48px !important;
        padding-inline: 8px !important;
        gap: 4px;
    }
}
.s724-language-chevron {
    margin-left: 1px;
    color: var(--s724-muted);
    font-size: .65rem;
}
.s724-menu-toggle {
    margin-left: 2px;
}
@media (max-width: 1199.98px) {
    .s724-menu-toggle {
        margin-left: 6px;
    }
}
@media (max-width: 575.98px) {
    .s724-menu-toggle {
        margin-left: 4px;
    }
}
.s724-language-modal .modal-dialog {
    width: min(calc(100% - 28px), 540px);
    max-width: 540px;
    margin-inline: auto;
}
.s724-language-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 14px;
    box-shadow: 0 28px 90px rgba(12, 15, 18, .24);
}
.s724-language-close {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--s724-muted);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
.s724-language-close:hover {
    color: var(--s724-text);
}
.s724-language-head {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding-right: 44px;
    margin-bottom: 18px;
}
.s724-language-symbol {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 11px;
    font-size: 1.15rem;
}
.s724-language-head h2 {
    margin: 4px 0 2px;
    color: var(--s724-text);
    font-size: 1.28rem;
    font-weight: 820;
    letter-spacing: -.025em;
}
.s724-language-head p {
    margin: 0;
    color: var(--s724-muted);
    font-size: .82rem;
}
.s724-language-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}
.s724-language-option {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 28px;
    gap: 10px;
    align-items: center;
    min-height: 68px;
    padding: 9px 11px;
    color: var(--s724-text);
    text-align: left;
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.s724-language-option:hover {
    transform: translateY(-1px);
    border-color: var(--s724-line-strong);
}
.s724-language-option.is-active {
    background: var(--s724-primary-soft);
    border-color: rgba(233, 75, 36, .36);
}
.s724-language-option-flag {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    overflow: hidden;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 50%;
}
.s724-language-option-flag img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border-radius: 50%;
}
.s724-language-option-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.s724-language-option-copy strong {
    overflow: hidden;
    font-size: .86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-language-option-copy small {
    color: var(--s724-muted);
    font-size: .68rem;
    font-weight: 750;
}
.s724-language-option-check {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    color: transparent;
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 50%;
}
.s724-language-option.is-active .s724-language-option-check {
    color: #fff;
    background: var(--s724-primary);
    border-color: var(--s724-primary);
}
/* Contact follows the same compact card language as the reset index/content pages. */
.s724-contact-dashboard {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}
@media (max-width: 991.98px) {
    .s724-contact-dashboard {
        grid-template-columns: 1fr;
        align-items: start;
    }
}
.s724-contact-panel {
    background: var(--s724-surface);
    border: 1px solid var(--s724-line);
    border-radius: 10px;
    box-shadow: var(--s724-shadow-sm);
}
.s724-contact-panel-main,
.s724-contact-panel-order {
    height: 100%;
    padding: 20px;
}
@media (max-width: 991.98px) {
    .s724-contact-panel-main,
    .s724-contact-panel-order {
        height: auto;
    }
}
@media (max-width: 767.98px) {}
.s724-contact-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.s724-contact-panel-head h2 {
    margin: 4px 0 0;
    color: var(--s724-text);
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 820;
    letter-spacing: -.025em;
}
.s724-contact-panel-symbol {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 9px;
}
.s724-contact-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}
.s724-contact-details>a,
.s724-contact-details>div {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 9px 11px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 8px;
}
.s724-contact-details>div {
    grid-template-columns: 36px minmax(0, 1fr);
}
.s724-contact-details>a>i:first-child,
.s724-contact-details>div>i:first-child {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: var(--s724-primary);
    background: var(--s724-primary-soft);
    border-radius: 8px;
}
.s724-contact-details span,
.s724-contact-order-actions a>span:not(.s724-contact-action-icon) {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.s724-contact-details small,
.s724-contact-order-actions small {
    color: var(--s724-muted);
    font-size: .72rem;
}
.s724-contact-details strong,
.s724-contact-order-actions strong {
    overflow-wrap: anywhere;
    font-size: .84rem;
}
.s724-contact-richtext {
    padding-top: 16px;
    border-top: 1px solid var(--s724-line);
}
.s724-contact-order-actions {
    display: grid;
    gap: 8px;
}
.s724-contact-order-actions a {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 64px;
    padding: 9px 11px;
    color: var(--s724-text);
    background: var(--s724-surface-2);
    border: 1px solid var(--s724-line);
    border-radius: 9px;
}
.s724-contact-order-actions a:hover {
    border-color: var(--s724-line-strong);
}
.s724-contact-action-icon {
    display: grid !important;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #fff;
    background: var(--s724-primary);
    border-radius: 9px;
}
.s724-contact-map-compact {
    grid-column: 1 / -1;
}
@media (max-width: 991.98px) {
    .s724-regions-intro-grid {
        gap: 16px;
    }
}
@media (max-width: 767.98px) {
    .s724-page-intro {
        padding: 21px 0 20px !important;
    }
    .s724-page-intro h1,
    .s724-regions-intro h1,
    .s724-contact-intro h1,
    .s724-content-intro h1 {
        font-size: 1.7rem !important;
    }
    .s724-language-card {
        padding: 20px 16px 16px;
    }
    .s724-language-grid,
    .s724-contact-details {
        grid-template-columns: 1fr;
    }
    .s724-contact-panel-main,
    .s724-contact-panel-order {
        padding: 16px;
    }
}
/* =========================================================
   S724 Products UI — standard ingredients / badge / gift fix
   ========================================================= */
/* Category headings no longer use the decorative underline. */
.s724-products-page .s724-category-title-text {
    padding-bottom: 0 !important;
}
.s724-products-page .s724-category-title-text::after {
    display: none !important;
}
/* Product capability badges: slightly larger and easier to scan. */
.s724-products-page .s724-product-card-badges {
    gap: 5px !important;
}
.s724-products-page .s724-product-card-badges span {
    min-height: 23px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    font-size: .64rem !important;
    line-height: 1.1 !important;
}
/* Standard ingredients are the primary compact description on product rows. */
.s724-products-page .s724-product-card p.s724-product-standard-ingredients {
    display: block !important;
    color: var(--s724-muted) !important;
    font-size: .74rem !important;
    line-height: 1.38 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}
/* Gift choices: full product names, less cramped media, clean no-image icon. */
.s724-product-modal .s724-gift-radio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
}
.s724-product-modal .s724-gift-radio-card {
    grid-template-columns: 46px minmax(0, 1fr) 26px !important;
    min-height: 70px !important;
    gap: .7rem !important;
    padding: .6rem .7rem !important;
}
.s724-product-modal .s724-gift-radio-media {
    display: grid !important;
    width: 46px !important;
    height: 46px !important;
    place-items: center !important;
    border-radius: 10px !important;
}
.s724-product-modal .s724-gift-radio-media.is-placeholder {
    color: var(--s724-primary, #e33b23) !important;
    background: color-mix(in srgb, var(--s724-primary, #e33b23) 10%, var(--bs-body-bg, #fff)) !important;
    font-size: 1.1rem !important;
}
.s724-product-modal .s724-gift-radio-copy strong {
    overflow: visible !important;
    font-size: .9rem !important;
    line-height: 1.25 !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
}
.s724-product-modal .s724-gift-radio-copy small {
    font-size: .74rem !important;
}
.s724-product-modal .s724-gift-radio-check {
    width: 24px !important;
    height: 24px !important;
}
/* Standard / extras / sauce rows stay readable after legacy modal modernization. */
.s724-product-modal .s724-option-row {
    min-width: 0;
}
.s724-product-modal .s724-option-row .custom-control-label {
    white-space: normal;
}
@media (max-width: 991.98px) {
    .s724-products-page .s724-product-card p.s724-product-standard-ingredients {
        font-size: .7rem !important;
    }
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-product-card p.s724-product-standard-ingredients {
        display: block !important;
        font-size: .66rem !important;
        white-space: nowrap !important;
    }
    .s724-products-page .s724-product-card-badges span {
        min-height: 21px !important;
        padding: 3px 7px !important;
        font-size: .6rem !important;
    }
    .s724-product-modal .s724-gift-radio-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 479.98px) {
    /* Keep badges visible on phones when the card has enough width. */
    .s724-products-page .s724-product-card-badges {
        display: flex !important;
        max-width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .s724-products-page .s724-product-card-badges::-webkit-scrollbar {
        display: none;
    }
}
/* =========================================================
   S724 Products UI V3 — card ingredient block + gift radio reliability
   ========================================================= */
.s724-products-page .s724-product-card-body {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
}
.s724-products-page .s724-product-card-main {
    display: block;
    min-width: 0;
}
.s724-products-page .s724-product-card-main h3 {
    display: block;
    width: 100%;
    margin: 0 0 4px !important;
}
.s724-products-page .s724-product-card-main p.s724-product-standard-ingredients,
.s724-products-page .s724-product-card-main p.s724-product-card-description {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    color: var(--s724-muted) !important;
    font-size: .74rem !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.s724-products-page .s724-product-card-badges {
    align-self: center;
    justify-content: flex-end;
}
.s724-product-modal .s724-gift-radio-input:focus-visible+.s724-gift-radio-check {
    outline: 2px solid var(--s724-primary, #e94b24);
    outline-offset: 2px;
}
@media (max-width: 991.98px) {
    .s724-products-page .s724-product-card-body {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    .s724-products-page .s724-product-card-badges {
        justify-content: flex-start;
    }
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-product-card-main p.s724-product-standard-ingredients,
    .s724-products-page .s724-product-card-main p.s724-product-card-description {
        display: block !important;
        font-size: .67rem !important;
    }
}
/* =========================================================
   S724 Gift UI V4 — compact product chooser
   ========================================================= */
.s724-product-modal .s724-gift-choice-section {
    margin-top: 1.15rem;
    padding: 1rem;
    border: 1px solid rgba(18, 18, 18, .08);
    border-radius: 18px;
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 3%, var(--bs-body-bg, #fff));
}
.s724-product-modal .s724-gift-choice-head {
    align-items: flex-start;
    margin-bottom: .8rem;
}
.s724-product-modal .s724-gift-choice-head>div {
    gap: .28rem;
}
.s724-product-modal .s724-gift-choice-head strong {
    font-size: .98rem;
    font-weight: 800;
    letter-spacing: -.015em;
}
.s724-product-modal .s724-gift-choice-kicker {
    width: fit-content;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 10%, transparent);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.s724-product-modal .s724-gift-choice-count {
    min-width: 40px;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid color-mix(in srgb, var(--s724-primary, #e94b24) 18%, transparent);
    background: var(--bs-body-bg, #fff);
    font-size: .82rem;
    box-shadow: 0 6px 18px rgba(18, 18, 18, .04);
}
.s724-product-modal .s724-gift-choice-section>.alert {
    margin: 0 0 .75rem !important;
    padding: .62rem .75rem !important;
    border-radius: 11px !important;
    font-size: .76rem !important;
    line-height: 1.35 !important;
}
.s724-product-modal .s724-gift-radio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .65rem !important;
}
.s724-product-modal .s724-gift-radio-card {
    position: relative;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: .7rem !important;
    min-height: 78px !important;
    padding: .7rem 2.65rem .7rem .7rem !important;
    border: 1px solid rgba(18, 18, 18, .09) !important;
    border-radius: 14px !important;
    background: var(--bs-body-bg, #fff) !important;
    box-shadow: none !important;
    transform: none !important;
}
.s724-product-modal .s724-gift-radio-card:hover {
    border-color: color-mix(in srgb, var(--s724-primary, #e94b24) 36%, transparent) !important;
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 2.5%, var(--bs-body-bg, #fff)) !important;
}
.s724-product-modal .s724-gift-radio-card.is-selected,
.s724-product-modal .s724-gift-radio-card:has(.s724-gift-radio-input:checked) {
    border-color: var(--s724-primary, #e94b24) !important;
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 6%, var(--bs-body-bg, #fff)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s724-primary, #e94b24) 16%, transparent) !important;
}
.s724-product-modal .s724-gift-radio-media {
    width: 52px !important;
    height: 52px !important;
    border-radius: 11px !important;
    background: rgba(18, 18, 18, .035) !important;
}
.s724-product-modal .s724-gift-radio-media img {
    object-fit: cover;
}
.s724-product-modal .s724-gift-radio-media.is-placeholder,
.s724-product-modal .s724-gift-select-radio-media:not(:has(img)) {
    display: grid !important;
    place-items: center !important;
    color: var(--s724-primary, #e94b24) !important;
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 8%, var(--bs-body-bg, #fff)) !important;
    font-size: 1rem !important;
}
.s724-product-modal .s724-gift-radio-copy {
    align-self: center;
    gap: .35rem !important;
}
.s724-product-modal .s724-gift-radio-copy strong {
    display: -webkit-box !important;
    overflow: hidden !important;
    font-size: .86rem !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.s724-product-modal .s724-gift-radio-copy small {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .28rem;
    min-height: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 9%, transparent);
    color: var(--s724-primary, #e94b24) !important;
    font-size: .66rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.s724-product-modal .s724-gift-radio-copy small b {
    font-weight: 900;
}
.s724-product-modal .s724-gift-radio-check {
    position: absolute;
    top: 50%;
    right: .75rem;
    width: 22px !important;
    height: 22px !important;
    transform: translateY(-50%);
    border-width: 1.5px !important;
    background: var(--bs-body-bg, #fff);
    font-size: .72rem;
}
.s724-product-modal .s724-gift-radio-card.is-selected .s724-gift-radio-check,
.s724-product-modal .s724-gift-radio-card:has(.s724-gift-radio-input:checked) .s724-gift-radio-check {
    background: var(--s724-primary, #e94b24) !important;
    color: #fff !important;
}
/* The standalone bonus-product chooser uses the same visual language. */
.s724-product-modal .s724-gift-select-radio-grid {
    gap: .65rem !important;
}
.s724-product-modal .s724-gift-radio-field-title {
    margin-bottom: .45rem;
    color: var(--s724-muted, #6c757d);
    font-size: .72rem;
    font-weight: 750;
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-choice-section {
    border-color: rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .025);
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-card,
[data-bs-theme="dark"] .s724-product-modal .s724-gift-choice-count {
    border-color: rgba(255, 255, 255, .1) !important;
    background: rgba(255, 255, 255, .035) !important;
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-card:hover,
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-card.is-selected,
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-card:has(.s724-gift-radio-input:checked) {
    background: color-mix(in srgb, var(--s724-primary, #e94b24) 10%, rgba(255, 255, 255, .035)) !important;
}
[data-bs-theme="dark"] .s724-product-modal .s724-gift-radio-check {
    background: rgba(255, 255, 255, .04);
}
@media (min-width: 1280px) {
    .s724-product-modal .s724-gift-radio-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 767.98px) {
    .s724-product-modal .s724-gift-choice-section {
        padding: .8rem;
        border-radius: 15px;
    }
    .s724-product-modal .s724-gift-choice-head {
        gap: .65rem;
    }
    .s724-product-modal .s724-gift-radio-grid {
        grid-template-columns: 1fr !important;
    }
    .s724-product-modal .s724-gift-radio-card {
        min-height: 72px !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        padding: .6rem 2.55rem .6rem .6rem !important;
    }
    .s724-product-modal .s724-gift-radio-media {
        width: 48px !important;
        height: 48px !important;
    }
}
/* =========================================================
   S724 Gift UI V5 — heading alignment
   ========================================================= */
.s724-product-modal .s724-gift-choice-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
}
.s724-product-modal .s724-gift-choice-head-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    margin-left: auto;
    min-width: 0;
}
.s724-product-modal .s724-gift-choice-head-action strong {
    margin: 0;
    white-space: nowrap;
}
.s724-product-modal .s724-gift-choice-count {
    flex: 0 0 auto;
}
@media (max-width: 575.98px) {
    .s724-product-modal .s724-gift-choice-head {
        gap: .55rem !important;
    }
    .s724-product-modal .s724-gift-choice-head-action {
        gap: .4rem;
    }
    .s724-product-modal .s724-gift-choice-head-action strong {
        font-size: .86rem;
    }
    .s724-product-modal .s724-gift-choice-count {
        min-width: 36px;
        min-height: 36px;
        padding: 0 8px;
    }
}
/* =========================================================
   S724 Gift UI V6 — compact head action
   ========================================================= */
.s724-product-modal .s724-gift-choice-head-action strong {
    display: inline-flex;
    align-items: center;
    gap: .22rem;
    font-weight: 800;
}
.s724-product-modal .s724-gift-choice-inline-count {
    font-weight: 800;
}
/* Menu package modal: product choices use the same selectable-card language as gifts */
.s724-product-modal .s724-menu-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: .15rem;
}
.s724-product-modal .s724-menu-choice-card {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 28px;
    align-items: center;
    gap: .8rem;
    min-height: 74px;
    margin: 0;
    padding: .55rem .65rem;
    border: 1px solid rgba(18, 18, 18, .1);
    border-radius: 14px;
    background: var(--bs-body-bg, #fff);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}
.s724-product-modal .s724-menu-choice-card:hover {
    border-color: rgba(227, 59, 35, .38);
    transform: translateY(-1px);
}
.s724-product-modal .s724-menu-choice-card:has(.s724-menu-choice-input:checked) {
    border-color: var(--s724-primary, #e33b23);
    background: color-mix(in srgb, var(--s724-primary, #e33b23) 4%, var(--bs-body-bg, #fff));
    box-shadow: 0 0 0 3px rgba(227, 59, 35, .09);
}
.s724-product-modal .s724-menu-choice-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.s724-product-modal .s724-menu-choice-media {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    overflow: hidden;
    border-radius: 11px;
    background: rgba(18, 18, 18, .04);
    color: var(--s724-primary, #e33b23);
}
.s724-product-modal .s724-menu-choice-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.s724-product-modal .s724-menu-choice-media.is-placeholder {
    font-size: 1.15rem;
    background: color-mix(in srgb, var(--s724-primary, #e33b23) 8%, transparent);
}
.s724-product-modal .s724-menu-choice-copy {
    display: grid;
    min-width: 0;
    gap: .22rem;
}
.s724-product-modal .s724-menu-choice-copy strong {
    overflow: hidden;
    color: var(--s724-text, #111);
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-product-modal .s724-menu-choice-copy small {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    color: var(--s724-primary, #e33b23);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.25;
}
.s724-product-modal .s724-menu-choice-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(18, 18, 18, .18);
    border-radius: 50%;
    color: transparent;
    background: transparent;
    transition: all .18s ease;
}
.s724-product-modal .s724-menu-choice-card:has(.s724-menu-choice-input:checked) .s724-menu-choice-check {
    border-color: var(--s724-primary, #e33b23);
    color: #fff;
    background: var(--s724-primary, #e33b23);
}
.s724-product-modal .s724-menu-choice-grid.is-invalid .s724-menu-choice-card {
    border-color: rgba(220, 53, 69, .48);
    box-shadow: 0 0 0 2px rgba(220, 53, 69, .06);
}
.s724-product-modal .s724-menu-choice-warning {
    margin: .65rem 0 0;
    padding: .65rem .8rem;
    border-radius: 11px;
}
[data-bs-theme="dark"] .s724-product-modal .s724-menu-choice-card {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .035);
}
[data-bs-theme="dark"] .s724-product-modal .s724-menu-choice-card:has(.s724-menu-choice-input:checked) {
    background: color-mix(in srgb, var(--s724-primary, #e33b23) 8%, rgba(255, 255, 255, .035));
}
[data-bs-theme="dark"] .s724-product-modal .s724-menu-choice-check {
    border-color: rgba(255, 255, 255, .22);
}
@media (max-width: 767.98px) {
    .s724-product-modal .s724-menu-choice-grid {
        grid-template-columns: 1fr;
    }
    .s724-product-modal .s724-menu-choice-card {
        grid-template-columns: 52px minmax(0, 1fr) 26px;
        min-height: 68px;
    }
    .s724-product-modal .s724-menu-choice-media {
        width: 52px;
        height: 52px;
    }
}
/* Register security ------------------------------------------------------- */
.s724-register-security {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
    gap: 18px;
    align-items: center;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--s724-border, rgba(15, 23, 42, .12));
    border-radius: 16px;
    background: rgba(15, 23, 42, .025);
}
.s724-register-security-copy {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.s724-register-security-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(25, 135, 84, .10);
    color: #198754;
    font-size: 19px;
}
.s724-register-security-copy strong,
.s724-register-security-copy small {
    display: block;
}
.s724-register-security-copy small {
    margin-top: 3px;
    color: var(--s724-muted, #6b7280);
    line-height: 1.45;
}
/*
 * CAPTCHA sorusu HTML metni değildir. Sunucudaki image endpoint'i görseli
 * üretir; aynı satırdaki buton yeni token/soru oluşturur.
 */
.s724-register-captcha-panel {
    min-width: 0;
    display: grid;
    gap: 7px;
}
.s724-register-captcha-label {
    color: var(--s724-text, #111827);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .01em;
}
.s724-register-captcha-control {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(170px, 1fr) 46px 96px;
    gap: 8px;
    align-items: center;
}
.s724-register-captcha-image {
    min-width: 0;
    height: 46px;
    display: block;
    overflow: hidden;
    border: 1px solid var(--s724-border-strong, #d7dce1);
    border-radius: 10px;
    background: #f7f8fa;
}
.s724-register-captcha-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: fill;
    user-select: none;
    -webkit-user-drag: none;
}
.s724-register-captcha-refresh {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--s724-border-strong, #d7dce1);
    border-radius: 10px;
    background: var(--s724-surface, #fff);
    color: var(--s724-text-soft, #4b5563);
    font-size: 17px;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.s724-register-captcha-refresh:hover,
.s724-register-captcha-refresh:focus-visible {
    border-color: var(--s724-primary, #e74b24);
    background: var(--s724-primary-soft, #fff0eb);
    color: var(--s724-primary, #e74b24);
}
.s724-register-captcha-refresh:disabled {
    cursor: wait;
    opacity: .65;
}
.s724-register-captcha-refresh.is-loading i {
    animation: s724-captcha-spin .65s linear infinite;
}
@keyframes s724-captcha-spin {
    to {
        transform: rotate(360deg);
    }
}
.s724-register-captcha-answer.form-control {
    min-width: 0;
    min-height: 46px;
    padding-left: 8px;
    padding-right: 8px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
}
@media (max-width: 767.98px) {
    .s724-register-security {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .s724-register-captcha-control {
        grid-template-columns: minmax(0, 1fr) 46px 96px;
    }
}
@media (max-width: 420px) {
    .s724-register-captcha-control {
        grid-template-columns: minmax(0, 1fr) 44px 82px;
        gap: 6px;
    }
    .s724-register-captcha-image,
    .s724-register-captcha-refresh {
        height: 44px;
    }
    .s724-register-captcha-refresh {
        width: 44px;
    }
    .s724-register-captcha-answer.form-control {
        min-height: 44px;
        font-size: 14px;
    }
}
.s724-register-trap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}
/* 2026-08-20 — centrally managed payment method logos */
.s724-checkout-page .s724-payment-grid .custom-control-payment {
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 5px;
    border-radius: 12px;
}
.s724-checkout-page .s724-payment-grid .custom-control-payment img {
    width: 100%;
    height: 100%;
    max-width: 38px;
    max-height: 34px;
    object-fit: contain;
}
/* 2026-08-20 — payment choices: single row + uniform logo stage */
.s724-checkout-page .s724-payment-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 10px !important;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding: 1px 1px 7px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}
.s724-checkout-page .s724-payment-grid>.custom-control,
.s724-checkout-page .s724-payment-grid>.s724-payment-option,
.s724-checkout-page .s724-payment-grid>.s724-choice {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 96px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start;
}
.s724-checkout-page .s724-payment-grid .custom-control-label {
    display: grid !important;
    grid-template-rows: 58px minmax(32px, auto) !important;
    align-content: center;
    justify-items: center;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    height: 100% !important;
    padding: 10px 8px !important;
    text-align: center;
}
.s724-checkout-page .s724-payment-grid .custom-control-payment,
.s724-checkout-page .s724-payment-grid .s724-payment-logo,
.s724-checkout-page .s724-payment-grid .s724-payment-media {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    max-width: 112px !important;
    height: 58px !important;
    min-height: 58px !important;
    flex: 0 0 58px !important;
    margin: 0 auto !important;
    padding: 8px 10px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--s724-line) !important;
    border-radius: 10px !important;
}
.s724-checkout-page .s724-payment-grid .custom-control-payment img,
.s724-checkout-page .s724-payment-grid .s724-payment-logo img,
.s724-checkout-page .s724-payment-grid .s724-payment-media img,
.s724-checkout-page .s724-payment-grid .s724-payment-media.has-db-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 92px !important;
    max-height: 40px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
}
.s724-checkout-page .s724-payment-grid .custom-control-payment i,
.s724-checkout-page .s724-payment-grid .s724-payment-media i {
    font-size: 1.65rem !important;
    line-height: 1 !important;
}
.s724-checkout-page .s724-payment-grid .s724-payment-name,
.s724-checkout-page .s724-payment-grid .custom-control-label {
    overflow-wrap: anywhere;
}
@media (max-width: 991.98px) {
    .s724-checkout-page .s724-payment-grid>.custom-control,
    .s724-checkout-page .s724-payment-grid>.s724-payment-option,
    .s724-checkout-page .s724-payment-grid>.s724-choice {
        flex: 0 0 122px !important;
        min-width: 122px !important;
    }
    .s724-checkout-page .s724-payment-grid .custom-control-label {
        min-height: 108px !important;
        grid-template-rows: 54px minmax(30px, auto) !important;
        padding: 9px 7px !important;
    }
    .s724-checkout-page .s724-payment-grid .custom-control-payment,
    .s724-checkout-page .s724-payment-grid .s724-payment-logo,
    .s724-checkout-page .s724-payment-grid .s724-payment-media {
        height: 54px !important;
        min-height: 54px !important;
        flex-basis: 54px !important;
    }
}
/* 2026-08-21 — register CAPTCHA cache/UX hardening ----------------------- */
.s724-register-security {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
    align-items: center;
    min-height: 104px;
}
.s724-register-captcha-panel {
    width: 100%;
    max-width: 430px;
    justify-self: end;
}
.s724-register-captcha-control {
    grid-template-columns: minmax(185px, 1fr) 44px 94px;
    gap: 8px;
}
.s724-register-captcha-image {
    height: 48px;
}
.s724-register-captcha-refresh {
    appearance: none;
    -webkit-appearance: none;
    width: 44px;
    height: 48px;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
}
.s724-register-captcha-answer.form-control {
    height: 48px;
    min-height: 48px;
}
.s724-register-security>.s724-form-alert {
    grid-column: 1 / -1;
    margin-top: -6px;
}
@media (max-width: 767.98px) {
    .s724-register-security {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 14px;
    }
    .s724-register-captcha-panel {
        max-width: none;
        justify-self: stretch;
    }
    .s724-register-captcha-control {
        grid-template-columns: minmax(0, 1fr) 44px 84px;
    }
}
@media (max-width: 420px) {
    .s724-register-captcha-control {
        grid-template-columns: minmax(0, 1fr) 44px;
    }
    .s724-register-captcha-answer.form-control {
        grid-column: 1 / -1;
        width: 100%;
    }
}
/* ========================================================================== 
   Register verification success
   - Kayıt sonrası aktivasyon gerektiğini açıkça anlatır.
   - Mail adresi ayrı bir bilgi satırı olarak gösterilir.
   ========================================================================== */
.s724-register-verify-success {
    align-items: flex-start;
    gap: 16px;
    padding: 22px;
}
.s724-register-verify-success>.s724-register-verify-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(31, 180, 108, .14);
}
.s724-register-verify-success>.s724-register-verify-icon i {
    font-size: 1.25rem;
}
.s724-register-verify-copy {
    min-width: 0;
    display: grid;
    gap: 8px;
}
.s724-register-verify-copy>strong {
    color: var(--s724-text);
    font-size: 1rem;
    line-height: 1.35;
}
.s724-register-verify-copy>p {
    margin: 0;
    color: var(--s724-muted);
    font-size: .82rem;
    line-height: 1.55;
}
.s724-register-verify-action {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: var(--s724-text) !important;
    font-weight: 650;
}
.s724-register-verify-action i {
    margin-top: 2px;
    color: #15945a;
}
.s724-register-verify-mail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 8px;
    margin-top: 2px;
    padding: 10px 12px;
    border: 1px solid rgba(31, 180, 108, .22);
    border-radius: 10px;
    background: rgba(255, 255, 255, .58);
}
.s724-register-verify-mail small {
    color: var(--s724-muted);
    font-size: .72rem;
}
.s724-register-verify-mail span {
    overflow-wrap: anywhere;
    color: var(--s724-text);
    font-size: .78rem;
    font-weight: 750;
}
.s724-register-verify-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    color: var(--s724-muted);
    font-size: .7rem;
    line-height: 1.5;
}
.s724-register-verify-note i {
    margin-top: 2px;
}
html[data-s724-theme="dark"] .s724-register-verify-mail {
    background: rgba(255, 255, 255, .035);
}
@media (max-width: 575.98px) {
    .s724-register-verify-success {
        padding: 17px;
        gap: 12px;
    }
    .s724-register-verify-success>.s724-register-verify-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
}
/* ==========================================================
   Header logo breathing room 1.1.7
   Slightly taller storefront header so square/compact brand
   marks do not feel visually undersized next to wide logos.
   ========================================================== */
:root {
    --s724-header-height: 84px;
}
.s724-platform-brand {
    height: 74px;
    padding-block: 7px;
}
.s724-platform-mark {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
}
.s724-platform-mark i {
    font-size: 24px;
}
/* Keep any image-based header/offcanvas brand fully visible regardless of aspect ratio. */
.s724-offcanvas-brand {
    width: 180px;
    height: 58px;
}
.s724-offcanvas-brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 575.98px) {
    :root {
        --s724-header-height: 72px;
    }
    .s724-platform-brand {
        height: 62px;
    }
    .s724-platform-mark {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }
    .s724-platform-mark i {
        font-size: 21px;
    }
}
/* ========================================================================== 
   Storefront home readability + Google Play icon fallback — 2026-08-25
   - Large display headings stay unchanged.
   - Only compact/supporting copy on index.php is nudged up for readability.
   - Current bundled Bootstrap Icons has no `bi-google-play`, so use a local
     play-glyph treatment without adding another icon/font dependency.
   ========================================================================== */
.s724-store-links .s724-google-play-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: #fff;
    font-size: 1.55rem;
    line-height: 1;
}
.s724-store-links .s724-google-play-icon i {
    display: block;
    line-height: 1;
    transform: scaleX(1.08);
}
.s724-page-home .s724-kicker {
    font-size: .78rem;
}
.s724-page-home .s724-benefit-item strong {
    font-size: .9rem;
}
.s724-page-home .s724-benefit-item span:not(.s724-benefit-icon) {
    font-size: .78rem;
}
.s724-page-home .s724-section-heading>p {
    font-size: 1.02rem;
}
.s724-page-home .s724-mosaic-eyebrow,
.s724-page-home .s724-mosaic-badges span {
    font-size: .78rem;
}
.s724-page-home .s724-mosaic-status {
    font-size: .73rem;
}
.s724-page-home .s724-mosaic-day {
    font-size: .88rem;
}
.s724-page-home .s724-mosaic-day small {
    font-size: .61rem;
}
.s724-page-home .s724-mosaic-time {
    font-size: .87rem;
}
.s724-page-home .s724-mosaic-minimum p {
    font-size: .81rem;
}
.s724-page-home .s724-mosaic-mini-meta span {
    font-size: .74rem;
}
.s724-page-home .s724-mosaic-zone-places {
    font-size: .85rem;
}
.s724-page-home .s724-mosaic-zone-price small,
.s724-page-home .s724-mosaic-zone-price span {
    font-size: .64rem;
}
.s724-page-home .s724-mosaic-richtext {
    font-size: .9rem;
}
.s724-page-home .s724-mosaic-contact-list>div {
    font-size: .84rem;
}
.s724-page-home .s724-mosaic-contact-list small {
    font-size: .63rem;
}
.s724-page-home .s724-mosaic-contact-list strong {
    font-size: .88rem;
}
.s724-page-home .s724-app-brandline {
    font-size: .88rem;
}
.s724-page-home .s724-app-copy>p {
    font-size: 1.08rem;
}
.s724-page-home .s724-app-feature strong {
    font-size: .88rem;
}
.s724-page-home .s724-app-feature small {
    font-size: .76rem;
}
.s724-page-home .s724-store-links a small {
    font-size: .7rem;
}
.s724-page-home .s724-store-links a strong {
    font-size: .96rem;
}
@media (max-width: 575.98px) {
    .s724-page-home .s724-section-heading>p {
        font-size: .96rem;
    }
    .s724-page-home .s724-mosaic-richtext {
        font-size: .86rem;
    }
}
/* S724 contact location: no embedded third-party map. */
.s724-contact-location-card .s724-contact-map-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 24px;
}
.s724-contact-location-card .s724-contact-map-copy>div {
    min-width: 0;
}
.s724-contact-location-card .s724-contact-map-copy h2 {
    margin: 2px 0 5px;
}
.s724-contact-location-card .s724-contact-map-copy p {
    margin: 0;
    color: var(--s724-muted);
    font-size: .82rem;
}
.s724-contact-map-button {
    display: grid;
    grid-template-columns: 40px auto 18px;
    align-items: center;
    gap: 10px;
    min-width: 190px;
    min-height: 54px;
    padding: 7px 12px 7px 7px;
    color: #fff;
    background: var(--s724-primary);
    border: 1px solid var(--s724-primary);
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 800;
}
.s724-contact-map-button:hover {
    color: #fff;
    transform: translateY(-1px);
}
.s724-contact-map-button>span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    background: rgba(255, 255, 255, .14);
    border-radius: 8px;
    font-size: 1rem;
}
.s724-contact-map-button>i:last-child {
    font-size: .9rem;
}
@media (max-width: 767.98px) {
    .s724-contact-location-card .s724-contact-map-copy {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        padding: 18px 16px;
    }
    .s724-contact-map-button {
        width: 100%;
        min-width: 0;
    }
}
/* ========================================================================== 
   Dealer storefront logo — theme specific PNG
   firmaID=1 dahil bütün bayiler aynı Medya > Light Logo / Dark Logo akışını kullanır.
   Storefront yalnız bu iki PNG kaynağını gösterir; legacy/platform fallback yoktur.
   ========================================================================== */
.s724-platform-brand.s724-dealer-brand {
    max-width: min(230px, 28vw);
}
.s724-dealer-brand-logo {
    width: auto;
    max-width: 220px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}
.s724-dealer-brand-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: left center;
}
.s724-dealer-logo-dark {
    display: none !important;
}
html[data-s724-theme="dark"] .s724-dealer-logo-light {
    display: none !important;
}
html[data-s724-theme="dark"] .s724-dealer-logo-dark {
    display: block !important;
}
html[data-s724-theme="light"] .s724-dealer-brand:not(.has-light-logo) {
    display: none !important;
}
html[data-s724-theme="dark"] .s724-dealer-brand:not(.has-dark-logo) {
    display: none !important;
}
.s724-platform-brand-offcanvas .s724-dealer-brand-logo {
    max-width: 190px;
    height: 52px;
}
@media (max-width: 575.98px) {
    .s724-platform-brand.s724-dealer-brand {
        max-width: 160px;
    }
    .s724-dealer-brand-logo {
        max-width: 155px;
        height: 46px;
    }
    .s724-platform-brand-offcanvas .s724-dealer-brand-logo {
        max-width: 170px;
        height: 46px;
    }
}
/* =========================================================
   S724 Products UI — discount price block restore
   ========================================================= */
.s724-products-page .s724-product-card-side.has-discount {
    min-width: 188px;
}
.s724-products-page .s724-product-price-block {
    display: grid;
    min-width: 0;
    justify-items: end;
    gap: 2px;
}
.s724-products-page .s724-product-price-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}
.s724-products-page .s724-product-discount-badge {
    display: inline-flex;
    min-height: 20px;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border-radius: 999px;
    color: #fff;
    background: var(--s724-primary);
    font-size: .58rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}
.s724-products-page .s724-product-price-meta del {
    color: var(--s724-muted);
    font-size: .66rem;
    font-weight: 700;
    line-height: 1;
    text-decoration-thickness: 1px;
    white-space: nowrap;
}
.s724-products-page .s724-product-price-block>strong {
    color: var(--s724-text);
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-product-card-side.has-discount {
        min-width: 142px;
    }
    .s724-products-page .s724-product-price-meta {
        gap: 4px;
    }
    .s724-products-page .s724-product-discount-badge {
        min-height: 18px;
        padding: 2px 5px;
        font-size: .52rem;
    }
    .s724-products-page .s724-product-price-meta del {
        font-size: .57rem;
    }
    .s724-products-page .s724-product-price-block>strong {
        font-size: .78rem;
    }
}
@media (max-width: 479.98px) {
    .s724-products-page .s724-product-card-side.has-discount {
        min-width: 116px;
        gap: 5px;
    }
    .s724-products-page .s724-product-price-meta {
        display: grid;
        justify-items: end;
        gap: 2px;
    }
    .s724-products-page .s724-product-discount-badge {
        min-height: 17px;
        font-size: .49rem;
    }
    .s724-products-page .s724-product-price-meta del {
        font-size: .54rem;
    }
}
/* =========================================================
   S724 Products UI — discount badge beside product badges
   ========================================================= */
.s724-products-page .s724-product-card-badges .is-discount {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    color: var(--s724-primary) !important;
    background: color-mix(in srgb, var(--s724-primary) 10%, var(--s724-surface)) !important;
    border-color: color-mix(in srgb, var(--s724-primary) 28%, var(--s724-line)) !important;
    font-weight: 850 !important;
    white-space: nowrap;
}
.s724-products-page .s724-product-card-badges .is-discount i {
    font-size: .68rem;
    line-height: 1;
}
.s724-products-page .s724-product-card-side.has-discount {
    min-width: 126px;
}
.s724-products-page .s724-product-price-meta {
    display: flex;
    justify-content: flex-end;
}
@media (max-width: 767.98px) {
    .s724-products-page .s724-product-card-side.has-discount {
        min-width: 112px;
    }
    .s724-products-page .s724-product-card-badges .is-discount {
        gap: 3px;
    }
}
@media (max-width: 479.98px) {
    .s724-products-page .s724-product-card-side.has-discount {
        min-width: 102px;
    }
}
/* 2026-08-26 — Cart compact rows: content-driven height + single-line gratis items. */
.s724-cart-content .list-group-item {
    height: auto !important;
    min-height: 0 !important;
}
.s724-cart-content .s724-cart-simple-item {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 0 !important;
    padding: 7px 10px !important;
}
.s724-cart-content .s724-cart-simple-icon {
    width: 28px;
    height: 28px;
    font-size: .72rem;
}
.s724-cart-content .s724-cart-simple-title {
    min-width: 0;
    overflow: hidden;
    font-size: .72rem !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.s724-cart-gratis-badge {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    color: #168a55;
    background: color-mix(in srgb, #168a55 10%, var(--s724-surface));
    border: 1px solid color-mix(in srgb, #168a55 18%, var(--s724-line));
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .045em;
    text-transform: uppercase;
    white-space: nowrap;
}
.s724-cart-content .s724-cart-summary-row {
    min-height: 0 !important;
    padding-block: 8px !important;
}
@media (max-width: 420px) {
    .s724-cart-content .s724-cart-simple-item {
        grid-template-columns: 26px minmax(0, 1fr) auto;
        gap: 7px;
        padding: 6px 9px !important;
    }
    .s724-cart-content .s724-cart-simple-icon {
        width: 26px;
        height: 26px;
    }
    .s724-cart-gratis-badge {
        min-height: 20px;
        padding-inline: 7px;
        font-size: .55rem;
    }
}
/* 2026-08-26 — Gratis row: force all three columns to the same vertical center. */
.s724-cart-content .s724-cart-simple-item>.s724-cart-simple-icon,
.s724-cart-content .s724-cart-simple-item>.s724-cart-simple-title,
.s724-cart-content .s724-cart-simple-item>.s724-cart-gratis-badge {
    align-self: center !important;
}
.s724-cart-content .s724-cart-simple-item>.s724-cart-simple-title {
    display: flex;
    align-items: center;
    min-height: 28px;
}
/* Footer platform signature: static Sipariş724 identity, no dealer copyright. */
.s724-footer-platform.s724-footer-platform-static {
    padding-left: 0;
    border-left: 0;
}
@media (max-width: 767.98px) {
    .s724-footer-platform.s724-footer-platform-static {
        padding-left: 0;
    }
}
.s724-cart-option-badge.is-free-extra .s724-cart-option-price {
    opacity: .72;
    text-decoration: line-through;
}
.s724-cart-option-free {
    display: inline-flex;
    align-items: center;
    min-height: 16px;
    padding: 1px 5px;
    border-radius: 999px;
    background: var(--s724-surface);
    color: var(--s724-text);
    font-size: .56rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

/* 2026-09-04 — Cart tall-item stability + real inner scroll area. */
.s724-cart-content .s724-cart-product-item,
.s724-cart-content .s724-cart-product-item.s724-cart-line,
.s724-cart-content .s724-cart-item-main,
.s724-cart-content .s724-cart-options,
.s724-cart-content .s724-cart-option-badges {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

@media (min-width: 992px) {
    .s724-cart-content {
        display: flex !important;
        height: 100%;
        min-height: 0;
        flex: 1 1 0%;
        flex-direction: column;
        overflow: hidden !important;
    }

    .s724-cart-content #warenkorb {
        display: flex !important;
        height: 0;
        min-height: 0;
        flex: 1 1 0% !important;
        flex-direction: column;
        overflow: hidden !important;
    }

    .s724-cart-content .scrollbar-cart {
        display: grid;
        min-height: 0;
        max-height: 100% !important;
        flex: 1 1 0% !important;
        align-content: start;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding-right: 4px;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
}

@media (min-width: 992px) {
    .s724-cart-content .scrollbar-cart {
        display: flex !important;
        flex: 1 1 0% !important;
        flex-direction: column !important;
        gap: 8px;
        min-height: 0 !important;
        max-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        align-content: initial !important;
    }

    .s724-cart-content .scrollbar-cart > * {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
    }

    .s724-cart-content .scrollbar-cart > .s724-cart-product-item,
    .s724-cart-content .scrollbar-cart > .s724-cart-product-item.s724-cart-line {
        height: auto !important;
        min-height: max-content !important;
        max-height: none !important;
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        overflow: visible !important;
    }
}


.s724-footer-platform.s724-footer-platform-static .s724-footer-platform-text {
    flex-direction: column;
    align-items: center;
    gap: 5px;
}
.s724-footer-platform-main {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.s724-footer-powered {
    color: rgba(255, 255, 255, .42);
    font-size: .58rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .02em;
    white-space: nowrap;
}

/* 2026-09-04 — Responsive cart drawer: stable breakpoints + fixed checkout dock. */
body.s724-cart-breakpoint-sync .s724-cart-aside,
body.s724-cart-breakpoint-sync .s724-mobile-cart-dock,
body.s724-cart-breakpoint-sync .s724-cart-backdrop {
    transition: none !important;
    animation: none !important;
}

/* Cart rows must keep their natural height; overflow belongs to the list, not the row. */
.s724-cart-content .scrollbar-cart > * {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
}
.s724-cart-content .scrollbar-cart > .s724-cart-product-item,
.s724-cart-content .scrollbar-cart > .s724-cart-product-item.s724-cart-line {
    height: auto !important;
    min-height: max-content !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Below 992px the cart becomes the only missing branch of the flex-scroll model.
   Keep header/meta + gift/minimum + checkout outside the scrolling product list. */
@media (max-width: 991.98px) {
    .s724-cart-aside {
        min-height: 0;
    }

    .s724-cart-content {
        display: flex !important;
        height: 100%;
        min-height: 0 !important;
        flex: 1 1 0% !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .s724-cart-content #warenkorb {
        display: flex !important;
        height: 0;
        min-height: 0 !important;
        flex: 1 1 0% !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .s724-cart-content .scrollbar-cart {
        display: flex !important;
        min-height: 0 !important;
        max-height: none !important;
        flex: 1 1 0% !important;
        flex-direction: column !important;
        gap: 8px;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding-right: 4px;
        padding-bottom: 6px;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .s724-cart-content .s724-min-order-card,
    .s724-cart-content .s724-cart-gift-btn,
    .s724-cart-content .s724-cart-checkout-dock {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
    }

    .s724-cart-content .s724-cart-checkout-dock {
        z-index: 5;
        margin-top: 0;
        padding-top: 8px;
        background: var(--s724-surface);
    }
}

@media (max-width: 767.98px) {
    .s724-cart-content {
        padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    }

    .s724-cart-content .s724-cart-checkout-dock {
        padding-bottom: 0;
    }
}
