
.fit-gc{
    width:min(1320px,calc(100% - 80px));
    margin:0 auto;
    padding:36px 0 72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);
    gap:110px;
    align-items:start;
    color:#111;
}

.fit-gc__visual{
    aspect-ratio:1.05/1;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), rgba(244,244,242,.86) 46%, rgba(235,235,232,.9));
    overflow:hidden;
}

.fit-gc__glass{
    width:68%;
    aspect-ratio:1.55/1;
    border-radius:26px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:14px;
    border:1px solid rgba(255,255,255,.8);
    background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(230,230,230,.28));
    box-shadow:
        inset 0 0 26px rgba(255,255,255,.9),
        inset 0 0 4px rgba(0,0,0,.12),
        0 26px 55px rgba(0,0,0,.08);
    backdrop-filter:blur(12px);
}

.fit-gc__glass strong{
    font-size:42px;
    letter-spacing:.09em;
    font-weight:500;
}

.fit-gc__glass span{
    font-size:9px;
    letter-spacing:.2em;
}

.fit-gc__content{
    padding-top:10px;
}

.fit-gc__content h1{
    margin:0 0 24px;
    font-size:28px;
    line-height:1.1;
    font-weight:500;
}

.fit-gc__price{
    margin-bottom:18px;
    font-size:24px;
    font-weight:500;
}

.fit-gc__intro{
    max-width:520px;
    margin:0 0 26px;
    color:#666;
    font-size:13px;
    line-height:1.6;
}

.fit-gc__amounts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.fit-gc__amount{
    min-height:52px;
    padding:0 14px;
    border:1px solid #d8d8d5;
    border-radius:999px;
    background:#fff;
    color:#111;
    font:inherit;
    font-size:12px;
    cursor:pointer;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.fit-gc__amount.is-active{
    border-color:#111;
    box-shadow:inset 0 0 0 1px #111;
}

.fit-gc__amount--custom{
    color:#777;
}

.fit-gc__custom{
    margin-top:18px;
}

.fit-gc__custom label{
    display:block;
    margin-bottom:8px;
    font-size:12px;
}

.fit-gc__custom-input{
    min-height:52px;
    padding:0 16px;
    border:1px solid #d8d8d5;
    border-radius:999px;
    display:flex;
    align-items:center;
    gap:8px;
}

.fit-gc__custom-input span{
    font-size:16px;
}

.fit-gc__custom-input input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    font:inherit;
    font-size:16px;
}

.fit-gc__custom small{
    display:block;
    margin-top:8px;
    color:#777;
    font-size:10px;
}

.fit-gc__status{
    margin:22px 0;
    display:flex;
    align-items:center;
    gap:9px;
    color:#6f925f;
    font-size:12px;
}

.fit-gc__status-dot{
    width:18px;
    height:18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#739461;
    color:#fff;
    font-size:10px;
}

.fit-gc__submit{
    width:100%;
    min-height:54px;
    border:0;
    border-radius:999px;
    background:#111;
    color:#fff;
    font:inherit;
    font-size:13px;
    cursor:pointer;
}

.fit-gc__notes{
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid #ecebe8;
    color:#666;
    font-size:11px;
    line-height:1.55;
}

.fit-gc__notes p{
    margin:7px 0;
}

@media(max-width:767px){
    .fit-gc{
        width:100%;
        padding:14px 14px 46px;
        display:block;
    }

    .fit-gc__visual{
        margin:0 -14px 22px;
        aspect-ratio:1.05/1;
    }

    .fit-gc__glass{
        width:72%;
        border-radius:18px;
    }

    .fit-gc__glass strong{
        font-size:30px;
    }

    .fit-gc__content{
        padding-top:0;
    }

    .fit-gc__content h1{
        margin-bottom:14px;
        font-size:20px;
    }

    .fit-gc__price{
        margin-bottom:12px;
        font-size:18px;
    }

    .fit-gc__intro{
        margin-bottom:18px;
        font-size:12px;
    }

    .fit-gc__amounts{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .fit-gc__amount{
        min-height:46px;
        font-size:11px;
    }

    .fit-gc__status{
        font-size:11px;
    }

    .fit-gc__submit{
        min-height:48px;
        font-size:12px;
    }

    .fit-gc__notes{
        font-size:10px;
    }
}


/* =========================================================
   GIFT CARD PAGE SHELL — v1.1
   ========================================================= */
.fit-gc-page{
    background:#fff;
}

.fit-gc-page__breadcrumb{
    width:min(1320px,calc(100% - 80px));
    margin:0 auto;
    padding-top:28px;
    display:flex;
    gap:6px;
    color:#777;
    font-size:11px;
}

.fit-gc-page__breadcrumb a{
    color:#777;
    text-decoration:underline;
}

@media(max-width:767px){
    .fit-gc-page__breadcrumb{
        width:100%;
        padding:14px 14px 0;
        font-size:9px;
    }
}


/* =========================================================
   GIFT CARD — v1.2 DIRECT CHECKOUT / PRODUCT IMAGE
   ========================================================= */

.fit-gc__visual{
    display:block;
    background:#f5f5f3;
}

.fit-gc__product-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.fit-gc__status{
    display:none !important;
}

.fit-gc__submit{
    margin-top:24px;
}

@media(max-width:767px){
    .fit-gc__submit{
        margin-top:20px;
    }
}


/* =========================================================
   GIFT CARD — THANK YOU / CODE PANEL
   ========================================================= */
.fit-thankyou--gift-card{
    min-height:690px;
}

.fit-thankyou--gift-card .fit-thankyou__content h1{
    margin-bottom:190px;
}

.fit-gc-thankyou{
    width:min(760px,100%);
    margin:0 auto 30px;
    padding:28px 30px;
    border:1px solid #e4e2de;
    border-radius:14px;
    background:#faf9f7;
    text-align:center;
    box-shadow:0 12px 38px rgba(0,0,0,.035);
}

.fit-gc-thankyou__eyebrow{
    display:block;
    margin-bottom:9px;
    color:#777;
    font-size:12px;
}

.fit-gc-thankyou__amount{
    margin-bottom:18px;
    font-size:25px;
    font-weight:500;
}

.fit-gc-thankyou__code-wrap{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:9px;
}

.fit-gc-thankyou__code{
    min-height:54px;
    padding:0 20px;
    border:1px solid #d7d5d1;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    font-size:18px;
    font-weight:500;
    letter-spacing:.08em;
    user-select:all;
}

.fit-gc-thankyou__copy{
    min-width:120px;
    min-height:54px;
    padding:0 18px;
    border:0;
    border-radius:9px;
    background:#111;
    color:#fff;
    font:inherit;
    font-size:12px;
    cursor:pointer;
    transition:opacity .15s ease;
}

.fit-gc-thankyou__copy:hover{
    opacity:.88;
}

.fit-gc-thankyou__hint{
    margin:15px auto 0;
    max-width:570px;
    color:#666;
    font-size:12px;
    line-height:1.5;
}

.fit-gc-thankyou__pending{
    color:#666;
    font-size:13px;
    line-height:1.55;
}

.fit-gc-thankyou + .fit-thankyou__copy{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

@media(max-width:767px){
    .fit-thankyou--gift-card{
        min-height:570px;
    }

    .fit-thankyou--gift-card .fit-thankyou__content h1{
        margin-bottom:125px;
    }

    .fit-gc-thankyou{
        margin-bottom:24px;
        padding:20px 14px;
        border-radius:11px;
    }

    .fit-gc-thankyou__eyebrow{
        font-size:11px;
    }

    .fit-gc-thankyou__amount{
        font-size:20px;
    }

    .fit-gc-thankyou__code-wrap{
        display:block;
    }

    .fit-gc-thankyou__code{
        min-height:50px;
        padding:0 10px;
        font-size:14px;
        letter-spacing:.055em;
    }

    .fit-gc-thankyou__copy{
        width:100%;
        min-height:46px;
        margin-top:8px;
        font-size:12px;
    }

    .fit-gc-thankyou__hint,
    .fit-gc-thankyou__pending{
        font-size:11px;
    }
}


/* =========================================================
   GIFT CARD — MY ACCOUNT
   ========================================================= */
.fit-gc-account-summary{
    margin:18px 0 0;
    padding:16px 18px;
    border:1px solid #e4e2de;
    border-radius:12px;
    background:#faf9f7;
}

.fit-gc-account-summary__label{
    display:block;
    margin-bottom:8px;
    color:#777;
    font-size:12px;
}

.fit-gc-account-summary__code{
    display:block;
    margin-bottom:10px;
    color:#111;
    font-size:16px;
    font-weight:600;
    letter-spacing:.05em;
    word-break:break-word;
}

.fit-gc-account-summary__balance{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#666;
    font-size:13px;
}

.fit-gc-account-summary__balance strong{
    color:#111;
    font-size:15px;
}

.fit-gc-view-cards{
    margin:20px 0 26px;
    padding:22px;
    border:1px solid #e1dfda;
    border-radius:14px;
    background:#faf9f7;
}

.fit-gc-view-cards h3{
    margin:0 0 16px;
    font-size:20px;
    font-weight:500;
}

.fit-gc-view-card{
    padding:18px;
    border:1px solid #e5e3df;
    border-radius:10px;
    background:#fff;
}

.fit-gc-view-card + .fit-gc-view-card{
    margin-top:12px;
}

.fit-gc-view-card__code-label{
    display:block;
    margin-bottom:7px;
    color:#777;
    font-size:12px;
}

.fit-gc-view-card__code{
    display:block;
    margin-bottom:14px;
    color:#111;
    font-size:18px;
    font-weight:600;
    letter-spacing:.06em;
    word-break:break-word;
}

.fit-gc-view-card__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-top:10px;
    border-top:1px solid #efede9;
    color:#666;
    font-size:13px;
}

.fit-gc-view-card__row strong{
    color:#111;
    font-size:16px;
}

@media(max-width:767px){
    .fit-gc-account-summary{
        padding:14px;
    }

    .fit-gc-account-summary__code{
        font-size:14px;
    }

    .fit-gc-view-cards{
        padding:16px 14px;
    }

    .fit-gc-view-cards h3{
        font-size:18px;
    }

    .fit-gc-view-card{
        padding:15px;
    }

    .fit-gc-view-card__code{
        font-size:15px;
    }
}
