/* =========================================================
   FACEVALY STOREFRONT COMMERCE
   PRIMARY #FF620D
========================================================= */

:root {

    --fv-orange:
        #ff620d;

    --fv-orange-dark:
        #e95608;

    --fv-orange-soft:
        #fff2ea;

    --fv-orange-border:
        #ffc7a8;

    --fv-navy:
        #10285b;

    --fv-text:
        #111827;

    --fv-muted:
        #7b8498;

    --fv-border:
        #dde2e8;

    --fv-page:
        #f5f6f8;

    --fv-white:
        #ffffff;

    --fv-red:
        #ef4444;

    --fv-green:
        #16a34a;

    --fv-shadow:
        0 8px 28px rgba(15,
            23,
            42,
            0.06);

}


/* =========================================================
   COMMON
========================================================= */

.fv-shop-container,
.fv-checkout-container {

    width:
        calc(100% - 48px);

    max-width:
        1480px;

    margin:
        0 auto;

}


.fv-commerce-loading {

    min-height:
        300px;

    display: flex;

    justify-content:
        center;

    align-items: center;

    gap:
        10px;

    color:
        var(--fv-muted);

}


.fv-commerce-loading i {

    color:
        var(--fv-orange);

}


.fv-commerce-error {

    display: flex;

    align-items: center;

    gap:
        8px;

    margin-bottom:
        18px;

    padding:
        13px 16px;

    border:
        1px solid #fecaca;

    border-radius:
        9px;

    background:
        #fff5f5;

    color:
        #b91c1c;

    font-size:
        0.82rem;

}


/* =========================================================
   PRODUCTS
========================================================= */

.fv-products-section {

    min-height:
        500px;

    padding:
        28px 0 45px;

    background:
        var(--fv-page);

}


.fv-section-heading {

    display: flex;

    justify-content:
        space-between;

    align-items:
        flex-end;

    margin-bottom:
        18px;

}


.fv-section-heading span {

    color:
        var(--fv-orange);

    font-size:
        0.68rem;

    font-weight:
        700;

}


.fv-section-heading h1 {

    margin-top:
        3px;

    color:
        var(--fv-text);

    font-size:
        1.45rem;

    font-weight:
        750;

}


/* =========================================================
   PRODUCT GRID
========================================================= */

.fv-product-grid {

    display: grid;

    grid-template-columns:
        repeat(5,
            minmax(0, 1fr));

    gap:
        14px;

}


/* =========================================================
   PRODUCT CARD
========================================================= */

.fv-product-card {

    min-width: 0;

    overflow: hidden;

    display: flex;

    flex-direction:
        column;

    border:
        1px solid #cfd5dc;

    border-radius:
        5px;

    background:
        #ffffff;

    transition:
        transform 0.18s,
        border-color 0.18s,
        box-shadow 0.18s;

}


.fv-product-card:hover {

    transform:
        translateY(-2px);

    border-color:
        var(--fv-orange-border);

    box-shadow:
        0 8px 22px rgba(15,
            23,
            42,
            0.08);

}


/* IMAGE */

.fv-product-image-area {

    position: relative;

    height:
        260px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    padding:
        20px;

    border-bottom:
        1px solid #eef0f2;

    background:
        #ffffff;

}


.fv-product-image-area img {

    width:
        100%;

    height:
        100%;

    object-fit:
        contain;

}


.fv-product-no-image {

    width:
        100%;

    height:
        100%;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    background:
        #f8fafc;

    color:
        #cbd5e1;

    font-size:
        2rem;

}


/* BADGE */

.fv-product-badge {

    position:
        absolute;

    top:
        13px;

    left:
        13px;

    z-index:
        2;

    padding:
        5px 8px;

    border-radius:
        4px;

    font-size:
        0.58rem;

    font-weight:
        700;

}


/* BODY */

.fv-product-body {

    flex:
        1;

    display: flex;

    flex-direction:
        column;

    padding:
        13px 10px 9px;

}


.fv-product-body h3 {

    min-height:
        39px;

    margin:
        0;

    color:
        #111827;

    font-size:
        0.88rem;

    font-weight:
        500;

    line-height:
        1.45;

    display:
        -webkit-box;

    -webkit-line-clamp:
        2;

    -webkit-box-orient:
        vertical;

    overflow:
        hidden;

}


.fv-product-vendor {

    margin-top:
        3px;

    color:
        #929bad;

    font-size:
        0.66rem;

}


.fv-product-price {

    min-height:
        49px;

    display: flex;

    align-items:
        center;

    gap:
        8px;

}


.fv-product-price strong {

    color:
        #d44b00;

    font-size:
        1rem;

    font-weight:
        800;

}


.fv-product-price del {

    color:
        #9ca3af;

    font-size:
        0.72rem;

}


/* BUY BUTTON */

.fv-buy-now-btn {

    width:
        100%;

    min-height:
        40px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    gap:
        8px;

    border:
        1px solid var(--fv-orange);

    border-radius:
        5px;

    background:
        #ffffff;

    color:
        var(--fv-orange);

    font-size:
        0.77rem;

    font-weight:
        600;

    transition:
        0.18s;

}


.fv-buy-now-btn:hover:not(:disabled) {

    background:
        var(--fv-orange);

    color:
        #ffffff;

}


.fv-buy-now-btn:disabled {

    border-color:
        #d1d5db;

    color:
        #9ca3af;

    cursor:
        not-allowed;

}


/* =========================================================
   CHECKOUT
========================================================= */

.fv-checkout-page {

    min-height:
        700px;

    padding:
        18px 0 60px;

    background:
        #f4f5f6;

}


.fv-checkout-title {

    margin-bottom:
        18px;

}


.fv-checkout-title>span {

    display: flex;

    align-items:
        center;

    gap:
        5px;

    color:
        var(--fv-orange);

    font-size:
        0.62rem;

    font-weight:
        700;

}


.fv-checkout-title h1 {

    margin:
        4px 0 0;

    color:
        #101828;

    font-size:
        1.8rem;

    font-weight:
        750;

}


.fv-draft-save-status {

    min-height:
        19px;

    display: flex;

    justify-content:
        flex-end;

    align-items:
        center;

    gap:
        6px;

    margin:
        -10px 0 8px;

    color:
        var(--fv-green);

    font-size:
        0.68rem;

}


.fv-checkout-grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1.9fr) minmax(340px, 1fr);

    gap:
        20px;

    align-items:
        start;

}


/* =========================================================
   CHECKOUT CARDS
========================================================= */

.fv-checkout-card {

    overflow:
        hidden;

    border:
        1px solid #d8dadd;

    border-radius:
        13px;

    background:
        #ffffff;

    box-shadow:
        0 3px 12px rgba(15,
            23,
            42,
            0.025);

}


.fv-delivery-card {

    padding:
        22px;

}


.fv-checkout-section-head {

    display: flex;

    align-items:
        center;

    gap:
        12px;

}


.fv-checkout-head-icon {

    width:
        43px;

    height:
        43px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    flex-shrink:
        0;

    border-radius:
        10px;

    background:
        var(--fv-orange-soft);

    color:
        var(--fv-orange);

    font-size:
        1rem;

}


.fv-checkout-section-head h2 {

    margin:
        0;

    color:
        #111827;

    font-size:
        1.25rem;

    font-weight:
        700;

}


.fv-checkout-section-head p {

    margin-top:
        3px;

    color:
        #9aa1ae;

    font-size:
        0.68rem;

}


.fv-checkout-divider {

    height:
        1px;

    margin:
        14px 0 16px;

    background:
        #e8e9eb;

}


/* =========================================================
   FORM
========================================================= */

.fv-field-grid {

    display: grid;

    grid-template-columns:
        repeat(2,
            minmax(0, 1fr));

    gap:
        12px;

}


.fv-field {

    display: block;

    margin-bottom:
        13px;

}


.fv-field>span {

    display: flex;

    align-items:
        center;

    margin-bottom:
        6px;

    color:
        #101828;

    font-size:
        0.74rem;

    font-weight:
        650;

}


.fv-field>span b {

    margin-left:
        3px;

    color:
        var(--fv-orange);

}


.fv-field>span small {

    margin-left:
        auto;

    color:
        #9aa2b1;

    font-size:
        0.52rem;

    font-weight:
        500;

}


.fv-input-wrap {

    position:
        relative;

    min-height:
        45px;

    display: flex;

    align-items:
        center;

    border:
        1px solid #d3d7dc;

    border-radius:
        8px;

    background:
        #ffffff;

    transition:
        border-color 0.18s,
        box-shadow 0.18s;

}


.fv-input-wrap:focus-within {

    border-color:
        var(--fv-orange);

    box-shadow:
        0 0 0 3px rgba(255,
            98,
            13,
            0.08);

}


.fv-input-wrap>i {

    width:
        39px;

    flex-shrink:
        0;

    color:
        #9aa2aa;

    text-align:
        center;

    font-size:
        0.77rem;

}


.fv-input-wrap input,
.fv-input-wrap textarea {

    width:
        100%;

    border:
        0;

    outline:
        0;

    background:
        transparent;

    color:
        #111827;

    font-family:
        inherit;

    font-size:
        0.74rem;

}


.fv-input-wrap input {

    height:
        43px;

    padding-right:
        11px;

}


.fv-textarea-wrap {

    align-items:
        flex-start;

}


.fv-textarea-wrap>i {

    padding-top:
        15px;

}


.fv-input-wrap textarea {

    resize:
        vertical;

    min-height:
        88px;

    padding:
        13px 12px 12px 0;

}


/* =========================================================
   DELIVERY AREA
========================================================= */

.fv-delivery-options {

    display: grid;

    grid-template-columns:
        repeat(2,
            minmax(0, 1fr));

    gap:
        10px;

}


.fv-delivery-option {

    min-height:
        64px;

    display: grid;

    grid-template-columns:
        20px 34px minmax(0, 1fr);

    align-items:
        center;

    gap:
        8px;

    padding:
        9px 11px;

    border:
        1px solid #d7d9dd;

    border-radius:
        8px;

    background:
        #ffffff;

    color:
        #111827;

    text-align:
        left;

    transition:
        0.18s;

}


.fv-delivery-option.selected {

    border:
        2px solid var(--fv-orange);

    background:
        #fff6f1;

}


.fv-delivery-radio {

    width:
        19px;

    height:
        19px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border:
        1px solid #cbd0d6;

    border-radius:
        50%;

    color:
        #ffffff;

    font-size:
        0.52rem;

}


.fv-delivery-option.selected .fv-delivery-radio {

    border-color:
        var(--fv-orange);

    background:
        var(--fv-orange);

}


.fv-delivery-location {

    width:
        31px;

    height:
        31px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border-radius:
        7px;

    background:
        #f3f4f6;

    color:
        #a6aab1;

}


.fv-delivery-option.selected .fv-delivery-location {

    background:
        #ffe8dc;

    color:
        var(--fv-orange);

}


.fv-delivery-option strong,
.fv-delivery-option small,
.fv-delivery-option em {

    display: block;

}


.fv-delivery-option strong {

    font-size:
        0.72rem;

}


.fv-delivery-option small {

    margin-top:
        1px;

    color:
        #a0a6b0;

    font-size:
        0.53rem;

}


.fv-delivery-option em {

    margin-top:
        3px;

    color:
        var(--fv-orange);

    font-size:
        0.55rem;

    font-style:
        normal;

    font-weight:
        650;

}


/* =========================================================
   CONFIRM
========================================================= */

.fv-confirm-row {

    display: flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        2px;

    padding-top:
        12px;

    border-top:
        1px solid #e8eaed;

    color:
        #566071;

    font-size:
        0.66rem;

}


.fv-confirm-check {

    width:
        20px;

    height:
        20px;

    flex-shrink:
        0;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border:
        1px solid #d1d5db;

    border-radius:
        50%;

    background:
        #ffffff;

    color:
        #ffffff;

    font-size:
        0.5rem;

}


.fv-confirm-check.checked {

    border-color:
        var(--fv-orange);

    background:
        var(--fv-orange);

}


/* =========================================================
   SIDEBAR
========================================================= */

.fv-checkout-sidebar {

    display: flex;

    flex-direction:
        column;

    gap:
        18px;

}


.fv-mini-title {

    position:
        relative;

    padding:
        13px 15px 12px 24px;

    border-bottom:
        1px solid #ececef;

    color:
        #111827;

    font-size:
        0.73rem;

    font-weight:
        700;

}


.fv-mini-title::before {

    content:
        "";

    position:
        absolute;

    top:
        11px;

    bottom:
        11px;

    left:
        14px;

    width:
        2px;

    background:
        var(--fv-orange);

}


/* =========================================================
   ORDER REVIEW
========================================================= */

.fv-review-product {

    display: grid;

    grid-template-columns:
        54px minmax(0, 1fr) 30px;

    gap:
        10px;

    align-items:
        center;

    padding:
        12px 14px;

}


.fv-review-image {

    width:
        54px;

    height:
        54px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    overflow:
        hidden;

    border:
        1px solid #e1e3e6;

    border-radius:
        5px;

    color:
        #c3c7cc;

}


.fv-review-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        contain;

}


.fv-review-product-info {

    min-width:
        0;

}


.fv-review-product-info>strong {

    display: block;

    overflow:
        hidden;

    color:
        #111827;

    font-size:
        0.67rem;

    font-weight:
        650;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;

}


.fv-review-product-info>small {

    display: block;

    margin-top:
        2px;

    color:
        #99a1ad;

    font-size:
        0.54rem;

}


.fv-review-bottom {

    display: flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        7px;

}


.fv-quantity-control {

    height:
        29px;

    display: inline-grid;

    grid-template-columns:
        28px 32px 28px;

    overflow:
        hidden;

    border:
        1px solid #e0e2e5;

    border-radius:
        7px;

}


.fv-quantity-control button {

    border:
        0;

    background:
        #fafafa;

    color:
        #9ca3af;

}


.fv-quantity-control span {

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border-left:
        1px solid #e0e2e5;

    border-right:
        1px solid #e0e2e5;

    font-size:
        0.63rem;

}


.fv-review-price {

    color:
        #d84c00;

    font-size:
        0.68rem;

}


.fv-remove-checkout-item {

    width:
        26px;

    height:
        26px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border:
        0;

    border-radius:
        6px;

    background:
        #f34f4f;

    color:
        #ffffff;

    font-size:
        0.65rem;

}


/* =========================================================
   COUPON
========================================================= */

.fv-coupon-form {

    display: flex;

    gap:
        8px;

    padding:
        13px;

}


.fv-coupon-form input {

    min-width:
        0;

    height:
        39px;

    flex:
        1;

    padding:
        0 11px;

    border:
        1px solid #d6d9df;

    border-radius:
        6px;

    outline:
        none;

    font-size:
        0.7rem;

}


.fv-coupon-form input:focus {

    border-color:
        var(--fv-orange);

}


.fv-coupon-form button {

    min-width:
        78px;

    border:
        0;

    border-radius:
        6px;

    background:
        var(--fv-orange);

    color:
        #ffffff;

    font-size:
        0.67rem;

    font-weight:
        700;

}


.fv-applied-coupon {

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    padding:
        13px;

}


.fv-applied-coupon>div {

    display: flex;

    align-items:
        center;

    gap:
        9px;

}


.fv-applied-coupon>div>i {

    color:
        var(--fv-orange);

}


.fv-applied-coupon span {

    display: flex;

    flex-direction:
        column;

}


.fv-applied-coupon strong {

    color:
        var(--fv-text);

    font-size:
        0.72rem;

}


.fv-applied-coupon small {

    color:
        var(--fv-green);

    font-size:
        0.57rem;

}


.fv-applied-coupon button {

    border:
        0;

    background:
        transparent;

    color:
        #ef4444;

    font-size:
        0.63rem;

}


/* =========================================================
   PAYMENT
========================================================= */

.fv-payment-option {

    display: grid;

    grid-template-columns:
        34px minmax(0, 1fr) 22px;

    gap:
        9px;

    align-items:
        center;

    margin:
        10px 13px 13px;

    padding:
        10px;

    border:
        1px solid #dfe2e7;

    border-radius:
        8px;

}


.fv-payment-option.selected {

    border:
        1.5px solid var(--fv-orange);

    background:
        #fff8f4;

}


.fv-payment-icon {

    width:
        32px;

    height:
        32px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border-radius:
        6px;

    background:
        #ffffff;

    color:
        var(--fv-orange);

}


.fv-payment-option strong,
.fv-payment-option small {

    display:
        block;

}


.fv-payment-option strong {

    font-size:
        0.68rem;

}


.fv-payment-option small {

    margin-top:
        2px;

    color:
        #a2a8b2;

    font-size:
        0.53rem;

}


.fv-payment-check {

    width:
        20px;

    height:
        20px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border-radius:
        50%;

    background:
        var(--fv-orange);

    color:
        #ffffff;

    font-size:
        0.52rem;

}


/* =========================================================
   TOTAL
========================================================= */

.fv-total-card {

    padding:
        14px;

}


.fv-total-card>div {

    min-height:
        34px;

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    border-bottom:
        1px dashed #dedfe3;

    color:
        #667085;

    font-size:
        0.66rem;

}


.fv-total-card>div strong {

    color:
        #111827;

}


.fv-total-card .fv-discount-line strong {

    color:
        var(--fv-green);

}


.fv-total-card .fv-total-final {

    border-bottom:
        0;

    color:
        #111827;

    font-weight:
        700;

}


.fv-total-final strong {

    color:
        var(--fv-orange) !important;

    font-size:
        0.9rem;

}


/* =========================================================
   PLACE ORDER
========================================================= */

.fv-place-order-btn {

    min-height:
        49px;

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    padding:
        0 16px;

    border:
        0;

    border-radius:
        8px;

    background:
        var(--fv-orange);

    color:
        #ffffff;

    box-shadow:
        0 10px 24px rgba(255,
            98,
            13,
            0.19);

    font-size:
        0.67rem;

    font-weight:
        700;

}


.fv-place-order-btn:hover {

    background:
        var(--fv-orange-dark);

}


.fv-place-order-btn span {

    display: flex;

    align-items:
        center;

    gap:
        7px;

}


.fv-place-order-btn strong {

    padding-left:
        16px;

    border-left:
        1px solid rgba(255,
            255,
            255,
            0.35);

}


/* =========================================================
   SUCCESS PAGE
========================================================= */

.fv-order-success-page {

    min-height:
        700px;

    display: flex;

    justify-content:
        center;

    align-items:
        flex-start;

    padding:
        55px 20px;

    background:
        #f6f7f8;

}


.fv-success-card {

    width:
        100%;

    max-width:
        680px;

    padding:
        32px;

    border:
        1px solid #e1e4e8;

    border-radius:
        16px;

    background:
        #ffffff;

    box-shadow:
        var(--fv-shadow);

    text-align:
        center;

}


.fv-success-icon {

    width:
        66px;

    height:
        66px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    margin:
        0 auto 13px;

    border-radius:
        50%;

    background:
        #ecfdf3;

    color:
        #16a34a;

    font-size:
        1.55rem;

}


.fv-success-label {

    color:
        var(--fv-green);

    font-size:
        0.62rem;

    font-weight:
        800;

    letter-spacing:
        1px;

}


.fv-success-card h1 {

    margin:
        6px 0;

    color:
        #111827;

    font-size:
        1.8rem;

}


.fv-success-message {

    margin:
        0;

    color:
        #7d8795;

    font-size:
        0.78rem;

}


.fv-success-order-number {

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    margin:
        22px 0 16px;

    padding:
        13px 15px;

    border-radius:
        8px;

    background:
        #fff4ed;

    color:
        #7c8795;

    font-size:
        0.7rem;

}


.fv-success-order-number strong {

    color:
        var(--fv-orange);

}


/* ITEMS */

.fv-success-items {

    border:
        1px solid #eceef0;

    border-radius:
        10px;

    overflow:
        hidden;

}


.fv-success-item {

    display: grid;

    grid-template-columns:
        50px minmax(0, 1fr) auto;

    gap:
        10px;

    align-items:
        center;

    padding:
        11px;

    border-bottom:
        1px solid #eceef0;

    text-align:
        left;

}


.fv-success-item:last-child {

    border-bottom:
        0;

}


.fv-success-item-image {

    width:
        50px;

    height:
        50px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    border:
        1px solid #eceef0;

    border-radius:
        6px;

    overflow:
        hidden;

}


.fv-success-item-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        contain;

}


.fv-success-item>div:nth-child(2) {

    display: flex;

    flex-direction:
        column;

    gap:
        2px;

}


.fv-success-item strong {

    color:
        #111827;

    font-size:
        0.7rem;

}


.fv-success-item small,
.fv-success-item span {

    color:
        #8e97a5;

    font-size:
        0.58rem;

}


/* SUMMARY */

.fv-success-summary {

    margin-top:
        15px;

    padding:
        11px 15px;

    border:
        1px solid #eceef0;

    border-radius:
        10px;

}


.fv-success-summary>div {

    min-height:
        31px;

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    color:
        #7f8896;

    font-size:
        0.67rem;

}


.fv-success-total {

    margin-top:
        5px;

    padding-top:
        8px;

    border-top:
        1px dashed #d9dde2;

    color:
        #111827 !important;

    font-weight:
        700;

}


.fv-success-total strong {

    color:
        var(--fv-orange);

    font-size:
        0.9rem;

}


/* DELIVERY */

.fv-success-delivery,
.fv-success-payment {

    display: flex;

    align-items:
        flex-start;

    gap:
        11px;

    margin-top:
        15px;

    padding:
        13px;

    border-radius:
        9px;

    background:
        #f8fafc;

    text-align:
        left;

}


.fv-success-delivery>i,
.fv-success-payment>i {

    margin-top:
        2px;

    color:
        var(--fv-orange);

}


.fv-success-delivery div {

    display: flex;

    flex-direction:
        column;

}


.fv-success-delivery strong {

    font-size:
        0.7rem;

}


.fv-success-delivery span,
.fv-success-delivery p,
.fv-success-payment {

    color:
        #7f8996;

    font-size:
        0.61rem;

}


.fv-success-delivery p {

    margin:
        3px 0 0;

}


/* ACTIONS */

.fv-success-actions {

    display: grid;

    grid-template-columns:
        repeat(2,
            1fr);

    gap:
        10px;

    margin-top:
        20px;

}


.fv-success-actions a {

    min-height:
        43px;

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    gap:
        7px;

    border-radius:
        7px;

    font-size:
        0.7rem;

    font-weight:
        700;

}


.fv-success-outline {

    border:
        1px solid var(--fv-orange);

    color:
        var(--fv-orange);

}


.fv-success-primary {

    border:
        1px solid var(--fv-orange);

    background:
        var(--fv-orange);

    color:
        #ffffff;

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1250px) {

    .fv-product-grid {

        grid-template-columns:
            repeat(4,
                1fr);

    }

}


@media (max-width: 1000px) {

    .fv-product-grid {

        grid-template-columns:
            repeat(3,
                1fr);

    }


    .fv-checkout-grid {

        grid-template-columns:
            1fr;

    }


    .fv-checkout-sidebar {

        display: grid;

        grid-template-columns:
            repeat(2,
                1fr);

    }


    .fv-place-order-btn {

        grid-column:
            1 / -1;

    }

}


@media (max-width: 720px) {

    .fv-shop-container,
    .fv-checkout-container {

        width:
            calc(100% - 24px);

    }


    .fv-product-grid {

        grid-template-columns:
            repeat(2,
                1fr);

        gap:
            9px;

    }


    .fv-product-image-area {

        height:
            190px;

        padding:
            12px;

    }


    .fv-field-grid,
    .fv-delivery-options,
    .fv-checkout-sidebar {

        grid-template-columns:
            1fr;

    }


    .fv-delivery-card {

        padding:
            15px;

    }


    .fv-success-card {

        padding:
            22px 15px;

    }

}


@media (max-width: 420px) {

    .fv-product-grid {

        gap:
            7px;

    }


    .fv-product-image-area {

        height:
            155px;

    }


    .fv-product-body {

        padding:
            10px 7px 7px;

    }


    .fv-product-body h3 {

        font-size:
            0.75rem;

    }


    .fv-product-price strong {

        font-size:
            0.87rem;

    }


    .fv-buy-now-btn {

        min-height:
            37px;

        font-size:
            0.68rem;

    }


    .fv-success-actions {

        grid-template-columns:
            1fr;

    }

}