.vrtai-front-theme {
    --vrtai-bg: #f7f8fb;
    --vrtai-surface: #353535;
    --vrtai-surface-soft: #353535;
    --vrtai-border: #e2e7ef;
    --vrtai-text: #1f2a3a;
    --vrtai-muted: #64748b;
    --vrtai-accent: #F07D00;
    --vrtai-accent-soft: #eaf2fa;
    --vrtai-accent-700: #c76600;
    --vrtai-accent-600: #da7200;
    --vrtai-accent-500: #f07d00;
    --vrtai-accent-200: #ffe7cc;
    --vrtai-accent-120: #fff3e5;
    --vrtai-accent-border: #f2be86;
    --vrtai-accent-text: #8b4700;
    --vrtai-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
    --vrtai-fixed-header-height: 130px;
}

@supports (color: color-mix(in srgb, #000 50%, #fff 50%)) {
    .vrtai-front-theme {
        --vrtai-accent-700: color-mix(in srgb, var(--vrtai-accent) 75%, black);
        --vrtai-accent-600: color-mix(in srgb, var(--vrtai-accent) 85%, black);
        --vrtai-accent-500: var(--vrtai-accent);
        --vrtai-accent-200: color-mix(in srgb, var(--vrtai-accent) 24%, white);
        --vrtai-accent-120: color-mix(in srgb, var(--vrtai-accent) 14%, white);
        --vrtai-accent-border: color-mix(in srgb, var(--vrtai-accent) 42%, white);
        --vrtai-accent-text: color-mix(in srgb, var(--vrtai-accent) 58%, black);
        --vrtai-accent-soft: color-mix(in srgb, var(--vrtai-accent) 16%, white);
    }
}

/* Takeaway pages */
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeaway,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayitem,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm {
    background:
        radial-gradient(circle at 0% -10%, rgba(31, 106, 165, 0.08), transparent 42%),
        linear-gradient(180deg, #fcfdff 0%, var(--vrtai-bg) 100%);
    color: var(--vrtai-text);
    border-radius: 18px;
    padding: 20px;
}

.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeaway .vrtkitemspagediv,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayitem .vrtk-itemdet-page,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm #vrtkconfirmform,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm #vrpayform {
    background: var(--vrtai-surface);
    border: 1px solid var(--vrtai-border);
    border-radius: 16px;
    box-shadow: var(--vrtai-shadow);
}

.vrtai-front-theme .vrtkitemspagediv {
    padding: 20px;
}

.vrtai-front-theme .vrtai-tk-hero {
    background: var(--vrtai-accent);
    color: #fff;
    border-radius: 14px;
    padding: 18px;
    margin-bottom: 18px;
}

.vrtai-front-theme .vrtai-tk-hero-title {
    font-family: "Sora", "Poppins", "Segoe UI", sans-serif;
    font-size: 1.45rem;
    line-height: 1.2;
    font-weight: 700;
}

.vrtai-front-theme .vrtai-tk-hero-subtitle {
    margin-top: 8px;
    opacity: 0.93;
    line-height: 1.55;
}

.vrtai-front-theme .vrtai-tk-hero-stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.vrtai-front-theme .vrtai-tk-stat {
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 0.82rem;
    font-weight: 600;
}

.vrtai-front-theme .vrtkitemsdiv {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.vrtai-front-theme .vrtkitemsdiv .vrtkitemvardiv{
    gap:10px;

}
.vrtai-front-theme .vrtkitemsdiv .vrtksinglevar{
    padding: 10px 10px 8px;
}
.vrtkitemsdiv .vrtksinglevar .vrtkvarfloatrdiv{
    right: 10px;
}
.vrtai-front-theme .vrtk-menus-filter-head {
    position: sticky;
    top: calc(var(--vrtai-fixed-header-height, 0px) + 12px);
    z-index: 20;
    border: 1px solid var(--vrtai-border);
    background: var(--vrtai-surface);
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 8px;
}

.vrtai-front-theme .vrtai-tk-controls {
    border-top: 1px solid #edf1f7;
}
.vrtkselectmenudiv{
    display: none;
}
.vrtai-front-theme .vrtai-tk-search-wrap {
    display: flex;
    gap: 8px;
    align-items: center;
}

.vrtai-front-theme .vrtai-tk-search {
    flex: 1;
    min-width: 220px;
    border: 1px solid #d7dee9;
    background: #fff;
    border-radius: 10px;
    padding: 10px 12px;
    color: #233244;
}

.vrtai-front-theme .vrtai-tk-search:focus {
    outline: none;
    border-color: #9fb3cc;
    box-shadow: 0 0 0 3px rgba(159, 179, 204, 0.2);
}

.vrtai-front-theme .vrtai-tk-reset {
    border: 1px solid #d7dee9;
    background: #fff;
    color: #354256;
    border-radius: 10px;
    padding: 10px 12px;
    font-weight: 600;
    cursor: pointer;
}

.vrtai-front-theme .vrtai-tk-chipbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.vrtai-front-theme .vrtai-tk-chip {
    border: 1px solid #d6deea;
    border-radius: 999px;
    background: #fff;
    color: #364355;
    padding: 6px 11px;
    font-size: 0.83rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.vrtai-front-theme .vrtai-tk-chip em {
    font-style: normal;
    border-radius: 999px;
    background: #f0f4fa;
    color: #495a72;
    padding: 2px 7px;
}

.vrtai-front-theme .vrtai-tk-chip.active {
    border-color: var(--vrtai-accent);
    background: var(--vrtai-accent-soft);
    color: #1f4c73;
}

.vrtai-front-theme .vrtai-tk-empty {
    border: 1px dashed #d5dfec;
    background: #fcfdff;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
    margin: 14px 0;
}

.vrtai-front-theme .vrtk-menu-outer {
    border: 1px solid var(--vrtai-border);
    border-radius: 14px;
    background: #353535;
    padding: 16px;
    margin-bottom: 0;
}

.vrtai-front-theme .vrtk-menu-title {
    font-family: "Sora", "Poppins", "Segoe UI", sans-serif;
    font-size: 1.28rem;
    font-weight: 700;
}

.vrtai-front-theme .vrtai-tk-menu-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 23px;
    height: 23px;
    margin-left: 8px;
    border-radius: 999px;
    background: #eef3fa;
    color: #38506d;
    font-size: 0.77rem;
    font-weight: 700;
    padding: 0 6px;
}

.vrtai-front-theme .vrtkitemsofmenudiv {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
}

.vrtai-front-theme .vrtksingleitemdiv {
    border: 1px solid #e4e9f0;
    border-radius: 12px;
    background: #fff;
    padding: 14px;
}

.vrtai-front-theme .vrtksinglevar {
    border: 1px solid #e6ebf3;
    border-radius: 10px;
    background: #fbfcfe;
    padding: 7px 9px;
}

.vrtai-front-theme .vrtkvaraddbutton i {
    color: var(--vrtai-accent);
}

.vrtai-front-theme .vre-btn {
    border-radius: 10px !important;
}

.vrtai-front-theme .vre-btn.primary,
.vrtai-front-theme .vre-btn.success {
    background: #1f6aa5 !important;
    border-color: #1f6aa5 !important;
}

.vrtai-front-theme .vrtkgotopaydiv .vre-btn {
    width: 100%;
}

/* Modal: hard reset to override native floats/widths */
#vrnewitemoverlay.vr-overlay,
#vrupselloverlay.vr-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999999999999 !important;
    padding: 16px !important;
    display: grid;
    place-items: center !important;
    background: linear-gradient(160deg, rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.36)) !important;
    backdrop-filter: blur(3px);
}

#vrnewitemoverlay .vr-modal-box,
#vrupselloverlay .vr-modal-box {
    width: min(1040px, 96vw) !important;
    max-height: calc(100vh - 0px) !important;
    overflow: hidden !important;
    border: 1px solid #e3e7ef !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 26px 54px rgba(15, 23, 42, 0.2) !important;
    display: flex !important;
    flex-direction: column !important;
}

#vrnewitemoverlay .vr-modal-head,
#vrupselloverlay .vr-modal-head {
    padding: 13px 16px !important;
    border-bottom: 1px solid #edf1f6 !important;
    background: linear-gradient(180deg, #fff 0%, #f9fbff 100%) !important;
}

#vrnewitemoverlay .vr-modal-head-title h3,
#vrupselloverlay .vr-modal-head-title h3 {
    margin: 0 !important;
    font-family: "Sora", "Poppins", "Segoe UI", sans-serif;
    color: #1f2a3a;
    font-size: 1.15rem;
    font-weight: 700;
}

#vrnewitemoverlay .vr-modal-body,
#vrupselloverlay .vr-modal-body {
    overflow: auto !important;
    padding: 0 !important;
    background: #f8fafd !important;
}

#vrnewitemoverlay .vrtk-additem-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 14px !important;
}

#vrnewitemoverlay .vrtk-additem-product,
#vrnewitemoverlay .vrtk-additem-middle,
#vrnewitemoverlay .vrtk-additem-group-box {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid #e4e9f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

#vrnewitemoverlay .vrtk-additem-product {
    padding: 13px !important;
}

#vrnewitemoverlay .additem-product-name {
    font-size: 1.04rem;
    font-weight: 700;
    color: #1f2d3f;
}

#vrnewitemoverlay .additem-product-description {
    color: #5f7088;
    line-height: 1.45;
}

#vrnewitemoverlay .vrtk-additem-notes-title {
    background: #fbfcfe !important;
    padding: 12px 13px !important;
    border-radius: 12px !important;
}

#vrnewitemoverlay .vrtk-additem-notes-field {
    padding: 0 13px 13px !important;
}

#vrnewitemoverlay #vrtk-additem-notes-textarea {
    width: 100% !important;
    min-height: 88px !important;
    border: 1px solid #d7dee9 !important;
    border-radius: 10px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

#vrnewitemoverlay #vrtk-additem-notes-textarea:focus {
    outline: none !important;
    border-color: #9fb3cc !important;
    box-shadow: 0 0 0 3px rgba(159, 179, 204, 0.2) !important;
}

#vrnewitemoverlay .vrtk-additem-group-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 12px 13px 8px !important;
}

#vrnewitemoverlay .vrtk-additem-group-fields {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 10px 10px !important;
    box-sizing: border-box !important;
}

#vrnewitemoverlay .vrtk-group-multiple,
#vrnewitemoverlay .vrtk-group-single {
    width: 100% !important;
    float: none !important;
    display: block !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 10px 42px 10px 12px !important;
    border: 1px solid #dce3ee !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

#vrnewitemoverlay .vrtk-additem-group-topping.is-selected {
    border-color: #b8c8de !important;
    background: #f5f9ff !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping::after {
    content: "" !important;
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 999px !important;
    border: 1px solid #cfd8e6 !important;
    background: #fff !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping.is-selected::after {
    content: "\2713" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.76rem !important;
    color: #fff !important;
    border-color: #1f6aa5 !important;
    background: #1f6aa5 !important;
}

#vrnewitemoverlay .vrtk-additem-group-box input.vre-topping-checkbox,
#vrnewitemoverlay .vrtk-additem-group-box input.vre-topping-radio {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
}

#vrnewitemoverlay .vrtk-additem-topping-field {
    float: none !important;
    display: flex !important;
    align-items: flex-start !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    margin: 0 !important;
}

#vrnewitemoverlay .vrtk-additem-topping-field label {
    margin: 0 !important;
    display: block !important;
    font-size: 0.93rem !important;
    line-height: 1.35 !important;
    color: #253447 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    pointer-events: none !important;
}

#vrnewitemoverlay .vrtk-additem-topping-price {
    float: none !important;
    display: inline-flex !important;
    margin: 0 0 0 8px !important;
    width: auto !important;
    white-space: nowrap !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    color: #425268 !important;
    pointer-events: none !important;
}

#vrnewitemoverlay .vrtk-additem-bottom {
    bottom: 0 !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border-top: 1px solid #e5ebf3 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}

#vrnewitemoverlay #vrtk-additem-quantity {
    margin-right: auto !important;
}

#vrnewitemoverlay .quantity-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid #dce3ee !important;
    border-radius: 999px !important;
    background: #fafcff !important;
    padding: 4px !important;
}

#vrnewitemoverlay #vrtk-quantity-input {
    width: 42px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-weight: 700 !important;
}

#vrnewitemoverlay #vrtk-quantity-input:focus {
    outline: none !important;
}

#vrnewitemoverlay #vrtk-cartcancel-button,
#vrnewitemoverlay #vrtk-addtocart-button {
    min-width: 170px !important;
}

#vrnewitemoverlay #vrtk-cartcancel-button {
    background: #fff !important;
    border-color: #d7dee9 !important;
    color: #334155 !important;
}

#vrnewitemoverlay #vrtk-addtocart-button {
    background: #1f6aa5 !important;
    border-color: #1f6aa5 !important;
    color: #fff !important;
}

#vrnewitemoverlay .vrtk-additem-group-box.vrrequiredfield {
    border-color: #d97d7d !important;
    box-shadow: inset 0 0 0 1px #d97d7d !important;
}

.vrtai-front-theme .vrtai-reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.vrtai-front-theme .vrtai-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media screen and (max-width: 900px) {
    #vrnewitemoverlay .vrtk-additem-group-fields {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    }
}

@media screen and (max-width: 780px) {
    .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeaway,
    .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayitem,
    .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm {
        padding: 10px;
        border-radius: 12px;
    }

    .vrtai-front-theme .vrtk-menus-filter-head {
        position: static;
    }

    .vrtai-front-theme .vrtai-tk-search-wrap {
        flex-direction: column;
        align-items: stretch;
    }

    .vrtai-front-theme .vrtai-tk-reset {
        width: 100%;
    }

    .vrtai-front-theme .vrtkitemsofmenudiv {
        grid-template-columns: 1fr;
    }

    .vrtai-front-theme .vrtai-tk-chipbar {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    #vrnewitemoverlay.vr-overlay,
    #vrupselloverlay.vr-overlay {
        padding: 8px !important;
    }

    #vrnewitemoverlay .vr-modal-box,
    #vrupselloverlay .vr-modal-box {
        width: 100% !important;
        max-height: calc(100vh - 16px) !important;
        border-radius: 14px !important;
    }

    #vrnewitemoverlay .vrtk-additem-container {
        padding: 10px !important;
    }

    #vrnewitemoverlay .vrtk-additem-group-fields {
        grid-template-columns: 1fr !important;
    }

    #vrnewitemoverlay #vrtk-additem-quantity,
    #vrnewitemoverlay #vrtk-cartcancel-button,
    #vrnewitemoverlay #vrtk-addtocart-button {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

/* Hotfix final: toppings cards stability */
#vrnewitemoverlay .vrtk-additem-group-fields {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: stretch !important;
}

#vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-multiple,
#vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-single,
#vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-additem-group-topping {
    float: none !important;
    display: block !important;
    width: calc(33.333% - 7px) !important;
    min-width: 220px !important;
    max-width: none !important;
    flex: 1 1 220px !important;
    margin: 0 !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 10px 40px 10px 12px !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping * {
    pointer-events: none !important;
}

#vrnewitemoverlay .vrtk-additem-topping-field {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

#vrnewitemoverlay .vrtk-additem-topping-field label {
    display: block !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

#vrnewitemoverlay .vrtk-additem-topping-price {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin-left: 8px !important;
    padding-right: 0 !important;
}

@media screen and (max-width: 980px) {
    #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-multiple,
    #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-single,
    #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-additem-group-topping {
        width: calc(50% - 6px) !important;
        min-width: 180px !important;
    }
}

@media screen and (max-width: 640px) {
    #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-multiple,
    #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-single,
    #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-additem-group-topping {
        width: 100% !important;
    }
}

/* Fallback: restore native Vik checkbox/radio behavior */
#vrnewitemoverlay .vrtk-additem-group-box input.vre-topping-checkbox,
#vrnewitemoverlay .vrtk-additem-group-box input.vre-topping-radio {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 5px 0 0 !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping::after {
    content: none !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping *,
#vrnewitemoverlay .vrtk-additem-topping-field label,
#vrnewitemoverlay .vrtk-additem-topping-price {
    pointer-events: auto !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping {
    cursor: default !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping.is-selected {
    border-color: #dce3ee !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* Native checkbox restyle + clickable row state */
#vrnewitemoverlay .vrtk-additem-group-topping.vrtk-group-multiple {
    cursor: pointer !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping.vrtk-group-multiple.vrtai-checked {
    border-color: #c6d6ea !important;
    background: #f7fbff !important;
}

#vrnewitemoverlay input.vre-topping-checkbox[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 8px 0 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid var(--vrtai-accent-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    cursor: pointer !important;
    vertical-align: middle !important;
    display: inline-block !important;
    position: relative !important;
}

/* Accent color system harmonization */
.vrtai-front-theme .vrtai-tk-chip.active {
    border-color: var(--vrtai-accent-500) !important;
    background: var(--vrtai-accent-soft) !important;
    color: var(--vrtai-accent-text) !important;
}

.vrtai-front-theme .vrtai-tk-chip.active em {
    background: var(--vrtai-accent-200) !important;
    color: var(--vrtai-accent-text) !important;
}

.vrtai-front-theme .vrtai-tk-search:focus,
#vrnewitemoverlay #vrtk-additem-notes-textarea:focus {
    border-color: var(--vrtai-accent-border) !important;
    box-shadow: 0 0 0 3px var(--vrtai-accent-soft) !important;
}

.vrtai-front-theme .vre-btn.primary,
.vrtai-front-theme .vre-btn.success,
#vrnewitemoverlay #vrtk-addtocart-button {
    background: var(--vrtai-accent-500) !important;
    border-color: var(--vrtai-accent-500) !important;
    color: #fff !important;
}

.vrtai-front-theme .vre-btn.primary:hover,
.vrtai-front-theme .vre-btn.success:hover,
#vrnewitemoverlay #vrtk-addtocart-button:hover {
    background: var(--vrtai-accent-700) !important;
    border-color: var(--vrtai-accent-700) !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping.vrtk-group-multiple.vrtai-checked {
    border-color: var(--vrtai-accent-border) !important;
    background: var(--vrtai-accent-120) !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping.vrtk-group-multiple.vrtai-checked .vrtk-additem-topping-price {
    color: var(--vrtai-accent-text) !important;
}

#vrnewitemoverlay .vrtk-additem-group-topping.vrtk-group-multiple.vrtai-checked .vrtk-additem-topping-field label {
    color: var(--vrtai-accent-text) !important;
}

#vrnewitemoverlay input.vre-topping-checkbox[type="checkbox"]:checked {
    background-color: var(--vrtai-accent-500) !important;
    border-color: var(--vrtai-accent-500) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M3.2 8.4l3.1 3.1L12.8 5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 13px !important;
}

#vrnewitemoverlay input.vre-topping-checkbox[type="checkbox"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px var(--vrtai-accent-soft) !important;
}

/* Takeaway confirm redesign */
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm.vrtai-confirm-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 16px;
    align-items: start;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-confirm-card {
    background: var(--vrtai-surface);
    border: 1px solid var(--vrtai-border);
    border-radius: 14px;
    box-shadow: var(--vrtai-shadow);
    padding: 16px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv.vrtai-confirm-cart {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: calc(var(--vrtai-fixed-header-height, 0px) + 14px);
    padding: 14px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-confirm-more {
    grid-column: 1;
    grid-row: 2;
    padding: 12px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfirmform.vrtai-confirm-search-form,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrpayform.vrtai-confirm-customer-form {
    grid-row: 1;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfirmform.vrtai-confirm-search-form {
    grid-column: 2;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrpayform.vrtai-confirm-customer-form {
    grid-column: 3;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfirmform.vrtai-confirm-search-form,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrpayform.vrtai-confirm-customer-form,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv.vrtai-confirm-cart {
    min-height: 100%;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkconfcartoneitemrow {
    border: 1px solid #e5ebf2;
    border-radius: 12px;
    padding: 11px;
    margin-bottom: 10px;
    background: #fff;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-confcart-item-main {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkconfcartenamesp {
    font-weight: 700;
    color: var(--vrtai-text);
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkconfcartonamesp,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-confcart-item-topping {
    color: var(--vrtai-muted);
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkconfcartpricesp {
    font-weight: 700;
    color: var(--vrtai-accent-700);
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkconfcartremovelink i {
    color: #d16464;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-confcart-fullcost-details {
    border-top: 1px dashed #e4eaf2;
    padding-top: 10px;
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-confcart-fullcost-details.grand-total {
    border-top-style: solid;
    font-weight: 700;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdeliverytitlediv,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vr-confirm-h3 {
    font-family: "Sora", "Poppins", "Segoe UI", sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 11px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimediv {
    display: grid;
    grid-template-columns: 1fr;
    border: 1px solid #e7edf4;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
    background: #fdfefe;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinputdiv {
    width: 100%;
    margin-bottom: 10px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-service-dt-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-service-dt-wrapper .vrtkdatetimediv,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-service-dt-wrapper .vrtkdeliveryservicediv {
    width: 100%;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinputlabel {
    display: block;
    margin-bottom: 6px;
    color: #38485e;
    font-weight: 600;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinput input,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeselect select,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls input,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls select,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls textarea {
    width: 100%;
    border: 1px solid #d7e0eb;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
    color: #1f2a3a;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box .vrtkdatetimeselect,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box .vre-select-wrapper,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box .select2-container {
    width: 100% !important;
    min-width: 0 !important;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box select,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box .select2-choice {
    width: 100% !important;
    min-height: 42px !important;
    line-height: 1.25 !important;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinput input:focus,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeselect select:focus,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls input:focus,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls select:focus,
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls textarea:focus {
    outline: none;
    border-color: var(--vrtai-accent-border);
    box-shadow: 0 0 0 3px var(--vrtai-accent-soft);
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdeliveryradiodiv {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-choice-card {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #dce4ef;
    border-radius: 10px;
    background: #fff;
    min-height: 44px;
    padding: 9px 11px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-choice-card input[type="radio"],
.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-choice-card input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-choice-card::before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 1px solid #bdcadb;
    background: #fff;
    flex: 0 0 auto;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-choice-card.is-selected {
    border-color: var(--vrtai-accent-border);
    background: var(--vrtai-accent-120);
    box-shadow: 0 0 0 2px var(--vrtai-accent-soft);
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-choice-card.is-selected::before {
    border-color: var(--vrtai-accent-500);
    background: var(--vrtai-accent-500);
    box-shadow: inset 0 0 0 3px #fff;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrcustomfields {
    display: grid;
    gap: 12px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrseparatorcf {
    margin: 4px 0 0;
    padding-bottom: 4px;
    border-bottom: 1px solid #e8edf4;
    font-weight: 700;
    color: #2b3a4f;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .control-custom-field {
    margin: 0;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .control-custom-field .control-label {
    margin-bottom: 6px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .control-custom-field .control-label label {
    color: #405066;
    font-weight: 600;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrordererrordiv {
    border: 1px solid #efb7b7;
    border-radius: 10px;
    background: #fff7f7;
    color: #9f3333;
    padding: 10px 12px;
    margin-bottom: 10px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vre-conf-continue-btn {
    width: 100%;
    min-height: 50px;
    border-radius: 12px !important;
    margin-top: 10px;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkaddmoreitemsdiv .vre-btn {
    width: 100%;
}

.vrtkmenudescdiv{

}

@media screen and (max-width: 1240px) {
    .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm.vrtai-confirm-layout {
        grid-template-columns: minmax(300px, 1fr) minmax(0, 1fr);
    }

    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv.vrtai-confirm-cart {
        grid-column: 1;
        grid-row: 1 / span 2;
        position: static;
    }

    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfirmform.vrtai-confirm-search-form {
        grid-column: 2;
        grid-row: 1;
    }

    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrpayform.vrtai-confirm-customer-form {
        grid-column: 2;
        grid-row: 2;
    }

    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-confirm-more {
        grid-column: 1;
        grid-row: 3;
    }
}

@media screen and (max-width: 960px) {
    .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm.vrtai-confirm-layout {
        grid-template-columns: 1fr;
    }

    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv.vrtai-confirm-cart,
    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtai-confirm-more,
    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfirmform.vrtai-confirm-search-form,
    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrpayform.vrtai-confirm-customer-form {
        grid-column: auto;
        grid-row: auto;
    }
}

@media screen and (max-width: 640px) {
    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdeliveryradiodiv {
        grid-template-columns: 1fr;
    }
}

/* --- */


@media screen and (max-width: 780px) {
  .vrtai-front-theme .vrtai-tk-chipbar {
        overflow-x: unset;
        flex-wrap: wrap;
        padding-bottom: 4px;
    }
  .page-id-9 .ct-section-inner-wrap{
    padding-inline: 0;
  }
  .vrtkitemspagediv{
    border-radius: 0 !important;
  }
  #vrnewitemoverlay .vr-modal-box, #vrupselloverlay .vr-modal-box{
    width: inherit !important;
  }
}

@media screen and (max-width: 440px) {
  .vrtai-front-theme .vrtai-tk-chipbar {
    display: flex;
    flex-direction: column;
      overflow-y: auto;
      max-height: 170px;
    flex-wrap: nowrap;
    }
  .vrtai-front-theme .vrtai-tk-chipbar > *{
    width: 100%;
  }
}

input[type=checkbox]:after{
  display: none !important;
}

.allergenes-table td:first-child, .allergenes-table th:first-child{
  min-width: 125px;
}


.vrtk-menus-filter-head{
  gap: 10px !important;
}
input[type="text"].vrtk-menus-filter-date, .vre-select{
  border-radius: 10px !important;
}

.vre-calendar-wrapper:before{
  top: 50% !important;
  transform: translateY(-50%);
}

.vrtk-service-dt-wrapper{
  display: flex !important;
  flex-direction: column-reverse !important;
  gap: 20px !important;
}

.vikrestaurants-page-takeawayconfirm .notice {
    grid-column: 3 !important;
    grid-row: -2 !important;
    width: 100%;
    padding: 16px 20px;

    border-radius: 8px;
    font-size: 1.25rem;
    font-weight: 500;

    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    backdrop-filter: blur(6px);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    animation: slideDown 0.25s ease-out;
}

.vikrestaurants-page-takeawayconfirm .notice-error {
    background: #fff5f5;
    color: #b42318;
    border: 1px solid #fecdca;
}

.vikrestaurants-page-takeawayconfirm .notice p {
    margin: 0;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translate(-50%, -10px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

.vrtkdatetimediv{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.vrtkdatetimediv .vrtkdatetimeinputdiv, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinputdiv  {
  width: 49% !important;
}

@media screen and (max-width: 1240px){
  .vrtkdatetimediv .vrtkdatetimeinputdiv, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinputdiv  {
  width: 100% !important;
}

  .vikrestaurants-page-takeawayconfirm .notice{
    grid-column: 2 !important;
    grid-row: -2 !important;
  }
  .vrtkaddmoreitemsdiv.vrtai-confirm-card.vrtai-confirm-more {
    grid-column: 1;
    grid-row: -2;
    margin: 0;
}

  .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrpayform.vrtai-confirm-customer-form{
  grid-column: 2;
  grid-row: 1 / span 2;
}
    .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfirmform.vrtai-confirm-search-form{
    grid-column: 1;
    grid-row: 1;
  }
  .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv.vrtai-confirm-cart{
    grid-column: 1;
      grid-row: 2;
  }
  
}

.vrtkdatetimediv > div{
  margin: 0 !important;
}



.vrtkdatetimediv > div > *, .vrtkdatetimediv .vrtkdeliverytitlediv{
  width: 100% !important;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeinput input, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtkdatetimeselect select, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls input, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls select, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls textarea{
  height: unset;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .controls select{
  line-height: 1;
}

@media screen and (max-width: 960px) {
  
  .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm.vrtai-confirm-layout{
    grid-template-columns: minmax(300px, 1fr) minmax(0, 1fr);
  }


}

@media screen and (max-width: 600px) {
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm.vrtai-confirm-layout{
  display: flex;
  flex-direction: column;
}
  .vrtai-front-theme .vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv.vrtai-confirm-cart{
    width: 100% !important;
  }
}






/* === VIK Restaurants cart module – polished + offcanvas center === */
.vrtkcartitemsmodule.cart-fixed{
  --vrtk-accent:#ff7a00;
  --vrtk-radius:18px;
  --vrtk-shadow:0 18px 55px rgba(0,0,0,.22);
  --vrtk-border:rgba(0,0,0,.10);
  --vrtk-bg:#fff;
  --vrtk-muted:#6b7280;
  
  color: #333;
  position:fixed !important;
  left:50%;
  top:50%;
  width:min(420px, calc(100vw - 88px));
  z-index:99999;

  /* fermé = dehors à droite, ouvert = centré */
  transform:translate3d(110vw, -50%, 0);
  transition:transform .35s cubic-bezier(.2,.9,.2,1);
  pointer-events:none; /* évite les clicks quand fermé */
}

.vrtkcartitemsmodule.cart-fixed.is-open{
  transform:translate3d(-50%, -50%, 0);
  pointer-events:auto;
}

@media (prefers-reduced-motion: reduce){
  .vrtkcartitemsmodule.cart-fixed{ transition:none; }
}

/* wrapper */
.vrtkcartitemsmodule.cart-fixed .cart-inner-wrapper{
  background:var(--vrtk-bg);
  border:1px solid var(--vrtk-border);
  border-radius:var(--vrtk-radius);
  box-shadow:var(--vrtk-shadow);
  overflow:hidden;
}

/* scroll area */
.vrtkcartitemsmodule.cart-fixed .vrtkitemcontainer{
  padding:12px 12px 8px;
  max-height:min(62vh, 640px);
  overflow:auto;
}

/* item row */
.vrtkcartitemsmodule.cart-fixed .vrtkcartoneitemrow{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 10px;
  border-radius:14px;
  background:rgba(0,0,0,.035);
  border:1px solid rgba(0,0,0,.06);
  margin-bottom:10px;
}

/* quantity pill */
.vrtkcartitemsmodule.cart-fixed .vrtkcartquantitysp{
  width:auto;
  min-width:34px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,122,0,.12);
  color:var(--vrtk-accent);
  font-weight:800;
  font-size:13px;
  letter-spacing:.2px;
}

/* names */
.vrtkcartitemsmodule.cart-fixed .vrtkcartleftrow{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartenamesp{
  font-weight:800;
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartonamesp{
  margin-top:2px;
  font-size:12px;
  color:var(--vrtk-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* price + remove */
.vrtkcartitemsmodule.cart-fixed .vrtkcartrightrow{
  display:flex;
  align-items:center;
  gap:10px;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartpricesp{
  font-weight:900;
  font-size:14px;
  white-space:nowrap;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartremovelink{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  color:#111;
  text-decoration:none;
  transition:transform .15s ease, background .15s ease;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartremovelink:hover{
  transform:translateY(-1px);
  background:rgba(255,0,0,.10);
}

/* totals */
.vrtkcartitemsmodule.cart-fixed .vrtkcartpriceoutmodule{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  border-top:1px solid rgba(0,0,0,.08);
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(0,0,0,.02));
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartpricelabelmodule{
  color:var(--vrtk-muted);
  font-weight:700;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartpricemodule{
  font-weight:950;
  font-size:16px;
}

/* buttons */
.vrtkcartitemsmodule.cart-fixed .vrtkcartbuttonsmodule{
  display:flex;
  gap:10px;
  padding:12px 12px 14px;
  border-top:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartbuttonsmodule .vre-btn{
  height:44px;
  border-radius:14px;
  border:0 !important;
  font-weight:800;
  cursor:pointer;
  width: max-content;
  flex-grow: 1;
  margin-left: 
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartemptybutton{
  background:rgba(0,0,0,.08) !important;
  flex-grow: 0;
  max-width: max-content;
}
.vrtkcartitemsmodule.cart-fixed .vrtkcartorderbutton{
  background:var(--vrtk-accent) !important;
  color:#fff !important;
}

/* overlay (si tu utilises le JS) */
.vrtk-cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.38);
  z-index:99998;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.vrtk-cart-overlay.is-open{
  opacity:1;
  pointer-events:auto;
}

/* toggle button (injecté par le JS) */
.vrtk-cart-toggle{
  --size:56px;
  position:fixed;
  right:20px;
  bottom:20px;
  width:var(--size);
  height:var(--size);
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:100000;
}
.vrtk-cart-toggle:hover{ transform: translateY(-1px); }
.vrtk-cart-toggle svg{ width:26px; height:26px; color:#111; }

.vrtk-cart-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  background:#111;
  color:#fff;
  border:2px solid #fff;
}







/* Wrapper du widget (bg derrière le module) */
.widget_mod_vikrestaurants_takeaway_deals{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  overflow:hidden;
}

/* Titre */
.widget_mod_vikrestaurants_takeaway_deals .widgettitle{
  margin:0;
  padding:12px 14px;
  font-size:1.5rem;
  color:#111;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.vrtk-dealsmod-offer {
  margin: 0;
}

/* Conteneur module */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-deals-module{
  padding:12px;
  border: none;
}

/* Slides */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-slides{
  list-style:none;
  margin:0;
  padding:0;
  width: 100%;
}

/* Carte promo */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-slide{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px 12px;
  background:#fff;
  position: relative;
}

/* Texte cliquable = disclosure */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealmod-info{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;

  font-size:1.25rem;
  line-height:1.25;
  color:#111;
}

/* Chevron (indique que ça s’ouvre) */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealmod-info::after{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  opacity:.55;
}

/* Zone détails */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-listfull{
  margin-top:10px;
}

/* Détail promo */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-offer{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  background:#fff;
}

.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-offer-avdays{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  color:rgba(0,0,0,.65);
  font-weight:700;
  font-size:12px;
  margin-bottom:8px;
}

.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-offer-title{
  font-size:14px;
  color:#111;
}

.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-listfull-toggle{
  margin-top:10px;
  display:flex;
  justify-content:flex-end;
}

/* Bouton cacher */
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-listfull-toggle .vre-btn{
  height:38px;
  padding:0 12px;
  border-radius:12px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  background:#fff !important;
}
.widget_mod_vikrestaurants_takeaway_deals .vrtk-dealsmod-listfull-toggle .vre-btn:hover{
  background:rgba(0,0,0,.04) !important;
}

.vrtk-dealsmod-slide, .vrtk-dealsmod-slides{
  min-height: unset !important;
}

@media screen and (max-width: 768px) {
.widget_mod_vikrestaurants_takeaway_deals{
  border-radius: 0;
}
}

@media screen and (max-width: 670px) {
   .vrtk-dealsmod-slides {
        width: 100% !important;
    }
      .vrtk-dealsmod-slide {
        width: 100% !important;
    }
}

#vrnewitemoverlay .vrtk-additem-group-fields .vrtk-additem-group-topping.vrtk-group-single input.vre-topping-radio {
  accent-color: #f07d00;
  width: 20px !important;
  height: 20px !important;
}

#vrnewitemoverlay .vrtk-additem-group-fields .vrtk-additem-group-topping.vrtk-group-single:has(input.vre-topping-radio:checked){
    border-color: var(--vrtai-accent-border) !important;
    background: color-mix(in srgb, var(--vrtai-accent) 14%, white) !important;
}

.vrorderboxcontent{
  color: #333;
  border-radius: 25px;
}





/* ============ VikRestaurants - All Orders (Takeaway) UI refresh ============
   Accent: #F07D00
   Scope: .vikrestaurants-page-allorders (tu touches pas le HTML)
============================================================================ */

.vikrestaurants-page-allorders{
  --vre-accent:#F07D00;
  --vre-bg:#f6f7fb;
  --vre-border:#e6e8ef;
  --vre-text:#111827;
  --vre-muted:#6b7280;
  --vre-radius:18px;
  --vre-shadow:0 10px 28px rgba(17,24,39,.10);

  background:var(--vre-bg);
  padding:18px 0;
}

/* Header "Bonjour..." */
.vikrestaurants-page-allorders .vr-allorders-userhead{
  background:var(--vre-accent);
  color:#fff;
  border-radius:var(--vre-radius);
  padding:18px 22px;
  margin:0 0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:var(--vre-shadow);
}
.vikrestaurants-page-allorders .vr-allorders-userhead h2{
  margin:0;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.2px;
}
.vikrestaurants-page-allorders .vr-allorders-userhead .vre-btn.secondary{
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.7) !important;
  border-radius:14px !important;
  padding:10px 14px !important;
  font-weight:700;
}
.vikrestaurants-page-allorders .vr-allorders-userhead .vre-btn.secondary:hover{
  background:rgba(255,255,255,.14) !important;
}

/* Tabs */
.vikrestaurants-page-allorders .vr-allorders-switch-tabs{
  display:flex;
  gap:10px;
  margin:0 0 16px;
}

.vr-allorders-switch-tabs .switch-box.active{
  background: none !important;
  border: none !important;
}

.vikrestaurants-page-allorders .vr-allorders-switch-tabs .switch-box a{
  display:block;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--vre-border);
  color:var(--vre-text);
  font-weight:800;
  text-decoration:none;
}
.vikrestaurants-page-allorders .vr-allorders-switch-tabs .switch-box.active a{
  background:var(--vre-accent);
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 20px rgba(240,125,0,.25);
}

/* Main card */
.vikrestaurants-page-allorders .vr-allorders-box{
  background:#fff;
  border:1px solid var(--vre-border);
  border-radius:var(--vre-radius);
  box-shadow:var(--vre-shadow);
  padding:12px;
}

/* Order rows */
.vikrestaurants-page-allorders .vr-allorders-tinylist .list-order-bar{
  display:grid;
  grid-template-columns: 90px 1fr 140px 190px;
  gap:14px;
  align-items:center;
  padding:14px;
  margin:12px 0;
  border:1px solid var(--vre-border);
  border-radius:16px;
  background:#fff;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.vikrestaurants-page-allorders .vr-allorders-tinylist .list-order-bar:hover{
  border-color:rgba(240,125,0,.40);
  box-shadow:0 14px 30px rgba(17,24,39,.12);
  transform:translateY(-1px);
}

/* Left: order code */
.vikrestaurants-page-allorders .list-order-bar .order-oid{
  font-weight:900;
  color:var(--vre-text);
  background:rgba(240,125,0,.10);
  border-radius:14px;
  padding:10px 12px;
  text-align:center;
  letter-spacing:.6px;
}

/* Middle: status + service */
.vikrestaurants-page-allorders .list-order-bar .order-summary .summary-status b{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(239,68,68,.10);
  color:#991b1b !important;
  font-weight:900;
}
.vikrestaurants-page-allorders .list-order-bar .order-summary .summary-service{
  margin-top:6px;
  color:var(--vre-muted);
  font-weight:600;
}

.vikrestaurants-page-allorders{
  background: none;
}

/* Right: date + price */
.vr-allorders-tinylist .list-order-bar .order-purchase{
  width: 100% !important;
}

.vikrestaurants-page-allorders .list-order-bar .order-purchase .purchase-date{
  color:var(--vre-muted);
  font-weight:600;
  font-size:.9rem;
}
.vikrestaurants-page-allorders .list-order-bar .order-purchase .purchase-price{
  margin-top:4px;
  color:var(--vre-text);
  font-weight:900;
  font-size:1.05rem;
}

/* Button */
.vr-allorders-tinylist .list-order-bar .order-view-button{
  width: 100% !important;
}
.vikrestaurants-page-allorders .list-order-bar .order-view-button .vre-btn.primary{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--vre-accent) !important;
  border:0 !important;
  color:#fff !important;
  border-radius:14px !important;
  padding:10px 12px !important;
  font-weight:900;
  text-decoration:none;
}
.vikrestaurants-page-allorders .list-order-bar .order-view-button .vre-btn.primary:hover{
  filter:brightness(0.96);
}

/* Pagination card */
.vikrestaurants-page-allorders .vr-list-pagination .tablenav{
  background:#fff;
  border:1px solid var(--vre-border);
  border-radius:16px;
  padding:12px 14px;
  margin-top:10px;
}
.vikrestaurants-page-allorders .vr-list-pagination .tablenav .tablenav-pages .button{
  border-radius:12px !important;
}

/* Responsive */
@media (max-width: 980px){
  .vikrestaurants-page-allorders .vr-allorders-tinylist .list-order-bar{
    grid-template-columns: 1fr 1fr;
  }
  .vikrestaurants-page-allorders .list-order-bar .order-oid{ grid-column:1 / -1; text-align:left; }
  .vikrestaurants-page-allorders .list-order-bar .order-summary{ grid-column:1 / -1; }
  .vikrestaurants-page-allorders .list-order-bar .order-view-button{ grid-column:1 / -1; }
}


.vr-overlay{
      z-index: 9999999999 !important;
}
body .vrtk-additem-groups-container{
      display: flex;
    flex-direction: column;
}
body .vrtk-additem-groups-container .vrtk-additem-group-box{
      width: calc(100% - 5px);
}

body .vrtk-attributes-legend{
  display:none;
}

form .vrtkdeliveryservicediv, form .vrtkdatetimediv, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-service-dt-wrapper{
  padding: 0 !important;
  background: none !important;
  border: none !important;
  margin: 0 !important;
}

.vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box select, .vrtai-front-theme .vikrestaurants-page-takeawayconfirm .vrtk-time-box .select2-choice{
  min-height: 4ch !important;
}
.vr-cf-checkbox-wrap{
  display: flex;
  gap: 15px;
  align-items: center;
}

.vr-cf-checkbox-wrap input[type="checkbox"]{
  width: 15px !important;
  height: 15px !important;
}
.vrcustomfields > *{
  max-width: unset !important;
}
.vrtai-confirm-card.vrtai-confirm-customer-form{
  margin-top: 0 !important;
}
.vrtai-confirm-card.vrtai-confirm-customer-form > h3, .iti__flag-container{
  display: none;
}
.vrtkaddmoreitemsdiv.vrtai-confirm-card.vrtai-confirm-more{
  grid-column: 2;
  grid-row: -2;
  margin: 0;
}

.vrtk-menus-filter-head .vrtai-tk-controls{
  width: 100%;
}
.vrtai-front-theme .vrtkitemsdiv, .vrtkitemsdiv .vrtk-menu-outer.grid-layout .vrtkitemsofmenudiv .vrtksingleitemdiv{
  border-radius: 10px !important;
}


.vrtai-front-theme .vrtkgotopaydiv .vre-btn{
  max-width: max-content;
}
.vrtkitemsdiv .vrtksinglevar .vrtkvarfloatrdiv{
  position: static !important;
}
.vrtai-front-theme .vrtkitemsdiv .vrtksinglevar{
  justify-content: space-between;
}
.vrtkitemsdiv .vrtksinglevar:last-of-type{
  border: 1px solid #e6ebf3 !important;
}
.vrtai-front-theme .vrtai-tk-controls{
  border-top: unset !important;
}
.vrtkitemsdiv, .vrtai-front-theme .vrtk-menu-outer{
  border: none !important;
  padding: 0px !important;
}
.vrtk-additem-notes-box{
    border: none !important;
}
#vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-multiple, #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-group-single, #vrnewitemoverlay .vrtk-additem-group-fields > .vrtk-additem-group-topping{
    display: flex !important;
  align-items: center;
}
#vrnewitemoverlay input.vre-topping-checkbox[type="checkbox"]{
  margin-bottom: 0 !important;
}
#vrnewitemoverlay .quantity-actions{
  border-radius: 14px !important;
}
.vrtk-additem-notes-info{
  margin-top: 10px;
}
.vr-modal-box{
  padding-top: 0px !important;
}
.vrtk-additem-groups-container{
  gap: 10px !important;
}
.vrtkitemnamesp a{
  pointer-events: none;
  font-size: 1.5rem;
}
.vrtai-front-theme .vrtk-menu-title{
  font-size: 2rem;
  margin-bottom: 10px;
}
.vrtkitemdescsp p{
  margin-top: 0;
  margin-bottom: 10px;
}

.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeaway, .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayitem, .vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm{
  background: none !important;
  padding: 0 !important;
}

/* Affiche un message global si au moins un groupe requis est en erreur */
.vrtk-additem-groups-container:has(> .vrtk-additem-group-box.vrrequiredfield)::before{
  content: "Merci de compléter tous les champs obligatoires du formulaire pour ajouter les articles au panier." !important;
  display: block !important;
  margin: 0 0 12px 0 !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(239,68,68,.35) !important;
  background: rgba(239,68,68,.10) !important;
  color: #555 !important;
  font: 700 14px/1.35 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

.vrtkmenudescdiv p {
    color:white !important;
}
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm #vrtkconfcartitemsdiv,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm #vrtkconfirmform,
.vrtai-front-theme .wrap.plugin-container.vikrestaurants-page-takeawayconfirm #vrpayform{
    --vrtai-surface: #fff;
}
.vrtai-front-theme .vrtksingleitemdiv{
    padding: 10px !important;
}
.vrtai-front-theme .vrtai-tk-menu-count{
    display: none;
}
.vrtai-front-theme .vrtkcartfullcostoutmodule, .vrtai-front-theme .vrtkcartdiscountoutmodule{
    padding-inline: 12px;
}