/* FotoCity Custom Cart — v1.0.0 */
body.fotocity-cart-page {
    background: #f6f8fb;
}

body.fotocity-cart-page .site-content,
body.fotocity-cart-page .main-page-wrapper,
body.fotocity-cart-page .container {
    overflow: visible;
}

.fotocity-cart,
.fotocity-cart * {
    box-sizing: border-box;
}

.fotocity-cart {
    --fcc-primary: #003366;
    --fcc-primary-2: #0a4f87;
    --fcc-text: #172033;
    --fcc-muted: #718096;
    --fcc-line: #e7ecf2;
    --fcc-bg: #f6f8fb;
    --fcc-card: #ffffff;
    --fcc-danger: #d9363e;
    --fcc-success: #15805d;
    --fcc-radius: 22px;
    --fcc-shadow: 0 14px 45px rgba(16, 35, 58, .07);
    width: 100%;
    background: var(--fcc-bg);
    color: var(--fcc-text);
    padding: 34px 0 64px;
    font-family: Vazirmatn, IRANSansX, Tahoma, sans-serif;
}

.fcc-shell {
    width: min(1320px, calc(100% - 40px));
    margin: 0 auto;
}

.fcc-checkout-steps {
    max-width: 660px;
    margin: 0 auto 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.fcc-step {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #9aa6b4;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
}

.fcc-step__number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d7dee7;
    background: #fff;
    font-size: 12px;
}

.fcc-step.is-active {
    color: var(--fcc-primary);
}

.fcc-step.is-active .fcc-step__number {
    background: var(--fcc-primary);
    border-color: var(--fcc-primary);
    color: #fff;
    box-shadow: 0 6px 16px rgba(0, 51, 102, .18);
}

.fcc-step__line {
    width: 78px;
    height: 1px;
    background: #dde4eb;
}

.fcc-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.fcc-head h1,
.fcc-summary h2,
.fcc-items h2,
.fcc-empty-card h1 {
    margin: 0;
    color: var(--fcc-text);
    font-family: inherit;
}

.fcc-head h1 {
    margin-top: 3px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.35;
    font-weight: 900;
}

.fcc-head p {
    margin: 7px 0 0;
    color: var(--fcc-muted);
    font-size: 14px;
}

.fcc-eyebrow,
.fcc-summary-kicker {
    color: var(--fcc-primary);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 900;
    letter-spacing: .4px;
}

.fcc-continue,
.fcc-back-shop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fcc-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.fcc-continue {
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #d8e1eb;
    background: #fff;
    border-radius: 12px;
}

.fcc-continue:hover,
.fcc-back-shop:hover {
    color: #001f3d;
}

.fcc-layout {
    display: grid;
    grid-template-columns: 390px minmax(0, 1fr);
    grid-template-areas: "summary items";
    align-items: start;
    gap: 24px;
    direction: ltr;
}

.fcc-summary {
    grid-area: summary;
    direction: rtl;
    position: sticky;
    top: 100px;
}

.fcc-items {
    grid-area: items;
    direction: rtl;
    min-width: 0;
}

.fcc-summary-card,
.fcc-items-card,
.fcc-empty-card {
    background: var(--fcc-card);
    border: 1px solid rgba(225, 232, 240, .95);
    border-radius: var(--fcc-radius);
    box-shadow: var(--fcc-shadow);
}

.fcc-summary-card {
    padding: 24px;
}

.fcc-summary-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--fcc-line);
}

.fcc-summary-title h2 {
    margin-top: 4px;
    font-size: 21px;
    font-weight: 900;
}

.fcc-summary-count {
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff5fb;
    color: var(--fcc-primary);
    font-size: 13px;
    font-weight: 900;
}

.fcc-coupon {
    padding: 19px 0;
    border-bottom: 1px solid var(--fcc-line);
}

.fcc-coupon > label {
    display: block;
    margin-bottom: 9px;
    color: #445168;
    font-size: 12px;
    font-weight: 800;
}

.fcc-coupon-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.fcc-coupon-row input {
    width: 100%;
    height: 44px;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid #dce4ed !important;
    border-radius: 11px !important;
    background: #fbfcfe !important;
    color: var(--fcc-text) !important;
    text-align: center;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    outline: none !important;
}

.fcc-coupon-row input:focus {
    border-color: var(--fcc-primary) !important;
    background: #fff !important;
}

.fcc-coupon-btn {
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #edf4fb !important;
    color: var(--fcc-primary) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 44px !important;
    box-shadow: none !important;
}

.fcc-coupon-btn:hover {
    background: #e2edf8 !important;
}

.fcc-items-card {
    overflow: hidden;
}

.fcc-items-titlebar {
    min-height: 72px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--fcc-line);
}

.fcc-items-titlebar h2 {
    font-size: 18px;
    font-weight: 900;
}

.fcc-items-titlebar > span {
    min-height: 30px;
    padding: 0 11px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    background: #f3f6f9;
    color: #68768a;
    font-size: 11px;
    font-weight: 800;
}

.fcc-product-list {
    padding: 0 22px;
}

.fcc-product {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid var(--fcc-line);
}

.fcc-product:last-child {
    border-bottom: 0;
}

.fcc-product-media {
    width: 116px;
    height: 116px;
    padding: 7px;
    border: 1px solid #e9eef4;
    border-radius: 17px;
    overflow: hidden;
    background: #fbfcfe;
}

.fcc-product-media a,
.fcc-product-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.fcc-product-media img {
    object-fit: cover;
    border-radius: 11px;
}

.fcc-product-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.fcc-product-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.fcc-product-info {
    min-width: 0;
}

.fcc-product-info h3 {
    margin: 0 0 9px;
    color: var(--fcc-text);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.8;
    font-weight: 900;
}

.fcc-product-info h3 a {
    color: inherit;
    text-decoration: none !important;
}

.fcc-product-meta {
    color: #7c899a;
    font-size: 11.5px;
    line-height: 1.9;
}

.fcc-product-meta dl,
.fcc-product-meta p {
    margin: 0;
}

.fcc-product-meta dt,
.fcc-product-meta dd {
    display: inline;
    float: none;
    margin: 0;
}

.fcc-product-meta dt {
    color: #526074;
    font-weight: 800;
}

.fcc-product-meta dd {
    margin-left: 10px;
}

.fcc-product-remove {
    flex: 0 0 auto;
}

.fcc-remove {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff4f4 !important;
    color: var(--fcc-danger) !important;
    text-decoration: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

.fcc-remove:hover {
    background: #ffe9ea !important;
    color: #b82028 !important;
}

.fcc-remove::before,
.fcc-remove::after {
    display: none !important;
}

.fcc-product-bottom {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: end;
    gap: 24px;
}

.fcc-product-bottom small {
    display: block;
    margin-bottom: 4px;
    color: #8a96a7;
    font-size: 10.5px;
    font-weight: 700;
}

.fcc-unit-price strong,
.fcc-line-total strong {
    color: var(--fcc-primary);
    font-size: 13px;
    font-weight: 900;
}

.fcc-line-total {
    text-align: left;
}

.fcc-quantity {
    text-align: center;
}

.fcc-qty-control {
    min-width: 118px;
    height: 40px;
    padding: 3px;
    display: grid;
    grid-template-columns: 34px minmax(38px, 1fr) 34px;
    align-items: center;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    background: #fff;
}

.fcc-qty-control .quantity {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.fcc-qty-control input.qty {
    width: 100% !important;
    min-width: 0 !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--fcc-text) !important;
    text-align: center !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
    -moz-appearance: textfield;
}

.fcc-qty-control input.qty::-webkit-outer-spin-button,
.fcc-qty-control input.qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.fcc-qty-btn {
    width: 34px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: var(--fcc-primary);
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: .18s ease;
}

.fcc-qty-btn:hover {
    background: var(--fcc-primary);
    color: #fff;
}

.fcc-cart-actions {
    min-height: 72px;
    padding: 15px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-top: 1px solid var(--fcc-line);
    background: #fbfcfe;
}

.fcc-update-cart {
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #d9e2ec !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--fcc-primary) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 40px !important;
    box-shadow: none !important;
}

.fcc-update-cart:hover {
    background: #f1f6fb !important;
}

/* WooCommerce totals scoped to FotoCity */
.fcc-native-totals .cart-collaterals,
.fcc-native-totals .cart_totals {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fcc-native-totals .cart_totals > h2 {
    display: none !important;
}

.fcc-native-totals table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

.fcc-native-totals table.shop_table tr {
    border-bottom: 1px solid var(--fcc-line);
}

.fcc-native-totals table.shop_table th,
.fcc-native-totals table.shop_table td {
    padding: 14px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #526074 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    vertical-align: middle !important;
}

.fcc-native-totals table.shop_table th {
    width: 43%;
    text-align: right !important;
    font-weight: 800 !important;
}

.fcc-native-totals table.shop_table td {
    text-align: left !important;
    font-weight: 800 !important;
}

.fcc-native-totals .order-total th,
.fcc-native-totals .order-total td {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    color: var(--fcc-text) !important;
}

.fcc-native-totals .order-total strong,
.fcc-native-totals .order-total .woocommerce-Price-amount {
    color: var(--fcc-primary) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.fcc-native-totals .woocommerce-shipping-methods {
    margin: 0 !important;
    list-style: none !important;
}

.fcc-native-totals .woocommerce-shipping-methods li {
    margin: 4px 0 !important;
}

.fcc-native-totals .woocommerce-shipping-calculator {
    margin-top: 8px !important;
}

.fcc-native-totals .shipping-calculator-button {
    color: var(--fcc-primary) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.fcc-native-totals .wc-proceed-to-checkout {
    padding: 18px 0 0 !important;
    margin: 0 !important;
}

.fcc-native-totals .checkout-button {
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--fcc-primary) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(0, 51, 102, .18) !important;
    transition: .18s ease !important;
}

.fcc-native-totals .checkout-button:hover {
    background: #00284f !important;
    transform: translateY(-1px);
}

.fcc-secure-note {
    margin-top: 15px;
    padding: 13px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 13px;
    background: #f1f8f5;
    color: var(--fcc-success);
}

.fcc-secure-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.fcc-secure-note strong,
.fcc-secure-note small {
    display: block;
}

.fcc-secure-note strong {
    margin-bottom: 2px;
    font-size: 11.5px;
    font-weight: 900;
}

.fcc-secure-note small {
    color: #658178;
    font-size: 9.5px;
    line-height: 1.8;
}

/* Empty cart */
.fotocity-cart--empty {
    min-height: 64vh;
}

.fcc-empty-card {
    max-width: 650px;
    margin: 0 auto;
    padding: 54px 32px;
    text-align: center;
}

.fcc-empty-icon {
    width: 104px;
    height: 104px;
    margin: 0 auto 20px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eff5fb;
    color: var(--fcc-primary);
}

.fcc-empty-card h1 {
    margin-top: 7px;
    font-size: 28px;
    font-weight: 900;
}

.fcc-empty-card p {
    max-width: 470px;
    margin: 12px auto 24px;
    color: var(--fcc-muted);
    font-size: 13px;
    line-height: 2;
}

.fcc-empty-btn {
    min-width: 180px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--fcc-primary);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(0, 51, 102, .18);
}

.fcc-empty-btn:hover {
    background: #00284f;
}

/* FotoCity notices — independent toast, isolated from WooCommerce/theme borders */
body.fotocity-cart-page .woocommerce-notices-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
body.fotocity-cart-page .woocommerce-info.cart-empty,
body.fotocity-cart-page .cart-empty.woocommerce-info {
    display: none !important;
}

.fcc-toast-stack {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2147483000;
    width: min(470px, calc(100% - 28px));
    display: grid;
    gap: 10px;
    pointer-events: none;
}
.fcc-toast {
    position: relative;
    width: 100%;
    min-height: 58px;
    padding: 13px 48px 13px 18px;
    display: flex;
    align-items: center;
    direction: rtl;
    gap: 10px;
    overflow: hidden;
    border: 1px solid #dce9e1 !important;
    outline: 0 !important;
    border-radius: 15px;
    background: #fff;
    color: #173b2b;
    box-shadow: 0 12px 32px rgba(22,47,36,.13) !important;
    font-family: Vazirmatn, IRANSansX, Tahoma, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.8;
    opacity: 0;
    transform: translateY(-8px) scale(.985);
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: auto;
}
.fcc-toast.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.fcc-toast.is-hiding { opacity: 0; transform: translateY(-8px) scale(.985); }
.fcc-toast__icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eaf7ef;
    color: #14804a;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 900;
}
.fcc-toast__text { display:block; width:100%; text-align:right; }
.fcc-toast__progress {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background: #2caf67;
    transform-origin: right center;
    animation: fcc-toast-progress 5s linear forwards;
}
.fcc-toast--info { border-color:#dce8f5 !important; color:#24435e; box-shadow:0 12px 32px rgba(30,76,116,.12) !important; }
.fcc-toast--info .fcc-toast__icon { background:#eaf3ff; color:#0b5cab; }
.fcc-toast--info .fcc-toast__progress { background:#2e75b6; }
.fcc-toast--error { border-color:#f1dddd !important; color:#623131; box-shadow:0 12px 32px rgba(126,42,42,.12) !important; }
.fcc-toast--error .fcc-toast__icon { background:#fff0f0; color:#c83232; }
.fcc-toast--error .fcc-toast__progress { background:#d54a4a; }
@keyframes fcc-toast-progress { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@media (max-width:600px) {
    .fcc-toast-stack { top:10px; width:calc(100% - 20px); }
    .fcc-toast { min-height:54px; padding:12px 44px 12px 14px; border-radius:14px; font-size:12px; }
    .fcc-toast__icon { right:14px; width:23px; height:23px; }
}

/* Loading feedback */
.fcc-form.is-updating {
    pointer-events: none;
}

.fcc-form.is-updating .fcc-items-card,
.fcc-form.is-updating .fcc-summary-card {
    opacity: .58;
}

@media (max-width: 1060px) {
    .fcc-layout {
        grid-template-columns: 330px minmax(0, 1fr);
        gap: 18px;
    }

    .fcc-product-bottom {
        gap: 12px;
    }
}

@media (max-width: 860px) {
    .fotocity-cart {
        padding-top: 24px;
    }

    .fcc-shell {
        width: min(100% - 28px, 760px);
    }

    .fcc-layout {
        display: flex;
        flex-direction: column;
        gap: 16px;
        direction: rtl;
    }

    .fcc-items {
        order: 1;
        width: 100%;
    }

    .fcc-summary {
        order: 2;
        width: 100%;
        position: static;
    }

    .fcc-head {
        align-items: center;
    }

    .fcc-product {
        grid-template-columns: 98px minmax(0, 1fr);
    }

    .fcc-product-media {
        width: 98px;
        height: 98px;
    }
}

@media (max-width: 600px) {
    .fotocity-cart {
        padding: 16px 0 38px;
    }

    .fcc-shell {
        width: calc(100% - 20px);
    }

    .fcc-checkout-steps {
        margin-bottom: 23px;
        gap: 6px;
    }

    .fcc-step {
        gap: 5px;
        font-size: 10px;
    }

    .fcc-step__number {
        width: 25px;
        height: 25px;
        font-size: 10px;
    }

    .fcc-step__line {
        width: 22px;
    }

    .fcc-head {
        margin-bottom: 15px;
    }

    .fcc-head h1 {
        font-size: 23px;
    }

    .fcc-head p {
        font-size: 11.5px;
    }

    .fcc-continue {
        display: none;
    }

    .fcc-summary-card {
        padding: 18px;
        border-radius: 18px;
    }

    .fcc-items-card {
        border-radius: 18px;
    }

    .fcc-items-titlebar {
        min-height: 60px;
        padding: 14px;
    }

    .fcc-items-titlebar h2 {
        font-size: 15px;
    }

    .fcc-product-list {
        padding: 0 14px;
    }

    .fcc-product {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 12px;
        padding: 16px 0;
    }

    .fcc-product-media {
        width: 82px;
        height: 82px;
        border-radius: 14px;
    }

    .fcc-product-info h3 {
        margin-bottom: 5px;
        font-size: 13px;
        line-height: 1.7;
    }

    .fcc-product-meta {
        font-size: 10px;
    }

    .fcc-product-remove {
        position: absolute;
        left: 14px;
    }

    .fcc-product {
        position: relative;
    }

    .fcc-product-top {
        padding-left: 34px;
    }

    .fcc-product-bottom {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
        gap: 13px 10px;
    }

    .fcc-unit-price {
        display: none;
    }

    .fcc-quantity {
        text-align: right;
    }

    .fcc-line-total {
        text-align: left;
    }

    .fcc-qty-control {
        min-width: 110px;
    }

    .fcc-cart-actions {
        min-height: 62px;
        padding: 12px 14px;
    }

    .fcc-update-cart {
        display: none !important;
    }

    .fcc-back-shop {
        margin: 0 auto;
        font-size: 11.5px;
    }

    .fcc-summary-title h2 {
        font-size: 18px;
    }

    .fcc-native-totals .order-total strong,
    .fcc-native-totals .order-total .woocommerce-Price-amount {
        font-size: 16px !important;
    }

    .fcc-empty-card {
        padding: 42px 20px;
        border-radius: 18px;
    }

    .fcc-empty-icon {
        width: 88px;
        height: 88px;
        border-radius: 25px;
    }

    .fcc-empty-card h1 {
        font-size: 22px;
    }
}

/* v3.9.1 — Neon preorder metadata: one horizontal table-like row */
.fcc-product--neon .fcc-product-meta{margin-top:12px;width:100%;max-width:100%}
.fcc-neon-meta-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(140px,max-content);
    gap:0;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#fbfdff;
    scrollbar-width:thin;
    scrollbar-color:#cbd7e4 transparent;
}
.fcc-neon-meta-grid::-webkit-scrollbar{height:5px}
.fcc-neon-meta-grid::-webkit-scrollbar-thumb{background:#cbd7e4;border-radius:999px}
.fcc-neon-meta-item{
    display:grid;
    grid-template-rows:auto auto;
    align-content:center;
    justify-items:center;
    gap:5px;
    min-width:0;
    min-height:72px;
    padding:10px 9px;
    border:0;
    border-left:1px solid #e8eef4;
    border-radius:0;
    background:transparent;
    text-align:center;
}
.fcc-neon-meta-item:last-child{border-left:0}
.fcc-neon-meta-item span,.fcc-neon-note span{
    display:block;
    color:#7a8798;
    font-size:11px;
    font-weight:800;
    line-height:1.45;
    white-space:nowrap;
}
.fcc-neon-meta-item strong,.fcc-neon-note strong{
    display:block;
    max-width:none;
    color:#13385f;
    font-size:12.5px;
    font-weight:900;
    line-height:1.6;
    white-space:nowrap;
}
.fcc-neon-note{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    margin-top:8px;
    padding:10px 12px;
    border:1px solid #e5ebf2;
    border-radius:10px;
    background:#fff;
}
.fcc-neon-note strong{white-space:normal;text-align:right}
@media(max-width:760px){
    .fcc-neon-meta-grid{grid-auto-columns:minmax(140px,max-content)}
}

/* v3.9.18 — stable cart totals outside the WooCommerce cart form.
   The native .cart_totals must remain a sibling of .woocommerce-cart-form so
   WooCommerce AJAX can replace each fragment independently without deleting
   the order summary.

   Restore the complete native cart totals table.
   IMPORTANT: do not change a table-row into grid/flex. That broke the cart
   summary in v3.9.16 on WooCommerce/Woodmart combinations. */
.fotocity-cart-page .fcc-native-totals{
    display:block!important;
    width:100%!important;
    min-height:1px!important;
}
.fotocity-cart-page .fcc-native-totals .cart-collaterals,
.fotocity-cart-page .fcc-native-totals .cart_totals{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
}
.fotocity-cart-page .fcc-native-totals table.shop_table{
    display:table!important;
    visibility:visible!important;
    width:100%!important;
    table-layout:auto!important;
}
.fotocity-cart-page .fcc-native-totals table.shop_table > tbody{
    display:table-row-group!important;
}
.fotocity-cart-page .fcc-native-totals table.shop_table tr:not(.fcc-shipping-summary-row):not(.woocommerce-shipping-totals){
    display:table-row!important;
}
.fotocity-cart-page .fcc-native-totals table.shop_table tr:not(.fcc-shipping-summary-row):not(.woocommerce-shipping-totals) > th,
.fotocity-cart-page .fcc-native-totals table.shop_table tr:not(.fcc-shipping-summary-row):not(.woocommerce-shipping-totals) > td{
    display:table-cell!important;
}

/* Shipment row: preserve TR as a real table row. The TD spans both columns
   (set by JS) and contains the heading + shipping methods vertically. */
.fotocity-cart-page .fcc-native-totals tr.fcc-shipping-summary-row,
.fotocity-cart-page .fcc-native-totals tr.woocommerce-shipping-totals.shipping{
    display:table-row!important;
    width:auto!important;
    direction:rtl!important;
    border-bottom:1px solid var(--fcc-line)!important;
}
.fotocity-cart-page .fcc-native-totals tr.fcc-shipping-summary-row > th,
.fotocity-cart-page .fcc-native-totals tr.woocommerce-shipping-totals.shipping > th{
    display:none!important;
}
.fotocity-cart-page .fcc-native-totals tr.fcc-shipping-summary-row > td,
.fotocity-cart-page .fcc-native-totals tr.woocommerce-shipping-totals.shipping > td{
    display:table-cell!important;
    width:100%!important;
    padding:12px 0 14px!important;
    border:0!important;
    text-align:right!important;
    vertical-align:top!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipment-title{
    display:block!important;
    width:100%!important;
    margin:0 0 4px!important;
    padding:0!important;
    text-align:right!important;
    color:#536575!important;
    font-size:13px!important;
    line-height:1.8!important;
    font-weight:900!important;
}
.fotocity-cart-page .fcc-native-totals .wc-proceed-to-checkout{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
}


/* v3.9.18 — the products form is its own grid item; totals live outside it. */
.fotocity-cart-page .fcc-form-grid-item{
    grid-area:items;
    direction:rtl;
    min-width:0;
    width:100%;
    margin:0;
    padding:0;
}
.fotocity-cart-page .fcc-form-grid-item .fcc-items{
    width:100%;
    min-width:0;
}
@media(max-width:860px){
    .fotocity-cart-page .fcc-form-grid-item{
        order:1;
        width:100%;
    }
}

/* v3.9.18 — shipment methods inside the stable totals table. */
.fotocity-cart-page .fcc-native-totals .fcc-shipping-summary-row .woocommerce-shipping-methods,
.fotocity-cart-page .fcc-native-totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipping-summary-row .woocommerce-shipping-methods li,
.fotocity-cart-page .fcc-native-totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods li{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
    margin:0!important;
    padding:7px 0!important;
    border:0!important;
    direction:rtl!important;
    color:#3f5366!important;
    font-size:12.5px!important;
    line-height:1.8!important;
}
.fotocity-cart-page .fcc-native-totals .woocommerce-shipping-methods input[type="radio"],
.fotocity-cart-page .fcc-native-totals .woocommerce-shipping-methods input[type="checkbox"]{
    flex:0 0 15px!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
    margin:0!important;
    padding:0!important;
    accent-color:var(--fcc-primary)!important;
    cursor:pointer!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipping-method-label{
    display:flex!important;
    flex:1 1 auto!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-width:0!important;
    gap:18px!important;
    margin:0!important;
    padding:0!important;
    color:#3f5366!important;
    font-size:12.5px!important;
    font-weight:750!important;
    line-height:1.8!important;
    cursor:pointer!important;
    direction:rtl!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipping-method-name{
    flex:1 1 auto!important;
    min-width:0!important;
    text-align:right!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipping-method-price{
    flex:0 0 auto!important;
    margin-right:auto!important;
    white-space:nowrap!important;
    text-align:left!important;
    color:#536d84!important;
    font-weight:850!important;
    direction:rtl!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipping-method-price.is-empty{
    width:0!important;
    min-width:0!important;
    overflow:hidden!important;
}
.fotocity-cart-page .fcc-native-totals .fcc-shipping-method-price .amount,
.fotocity-cart-page .fcc-native-totals .fcc-shipping-method-price .woocommerce-Price-amount{
    color:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
}
.fotocity-cart-page .fcc-native-totals .woocommerce-shipping-destination,
.fotocity-cart-page .fcc-native-totals .woocommerce-shipping-calculator,
.fotocity-cart-page .fcc-native-totals .shipping-calculator-button{
    display:none!important;
}
@media(max-width:480px){
    .fotocity-cart-page .fcc-native-totals .fcc-shipping-method-label{
        gap:10px!important;
        font-size:12px!important;
    }
}


/* v3.9.19 — shipping is selected only on checkout, never in cart. */
.fotocity-cart-page .fcc-native-totals tr.woocommerce-shipping-totals.shipping,
.fotocity-cart-page .fcc-native-totals tr.shipping,
.fotocity-cart-page .fcc-native-totals .woocommerce-shipping-methods,
.fotocity-cart-page .fcc-native-totals .woocommerce-shipping-calculator,
.fotocity-cart-page .fcc-native-totals .shipping-calculator-button {
  display:none!important;
}

/* v3.9.53 — an empty cart must not show the checkout progress steps. */
.fotocity-cart--empty .fcc-checkout-steps {
    display: none !important;
}
