#loftOrderForm, .fv-terms-page, #termsofuse.fv-terms-modal {
    --checkout-ink:#21233c;
    --checkout-muted:#545873;
    --checkout-line:#dcdfee;
    --checkout-card:#fff;
    --checkout-soft:#f6f7fd;
    --checkout-accent:#464b9d;
    --checkout-tint:#eef0fc;
    --checkout-action:#4c51a8;
    --checkout-action-hover:#3e438f;
    --checkout-radius:18px;
    --checkout-control:10px;
    --checkout-shadow:0 8px 26px rgba(35,41,92,.07);
}
body.dark :is(#loftOrderForm,.fv-terms-page,#termsofuse.fv-terms-modal) {
    --checkout-ink:#f2f2ff;
    --checkout-muted:#bcc0db;
    --checkout-line:#454865;
    --checkout-card:#272941;
    --checkout-soft:#202237;
    --checkout-accent:#c7ccff;
    --checkout-tint:#343858;
    --checkout-action:#4c51a8;
    --checkout-action-hover:#3e438f;
    --checkout-shadow:0 10px 26px rgba(0,0,0,.2);
}
#loftOrderForm { color:var(--checkout-ink); }
.fv-terms-kicker {
    display:block;
    margin:0 0 7px;
    font-size:.72rem;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.13em;
    text-transform:uppercase;
}
#loftOrderForm .firstcont.fv-order-details,
body.dark #loftOrderForm .firstcont.fv-order-details {
    --surface:var(--checkout-card);
    --field:var(--checkout-soft);
    --ink:var(--checkout-ink);
    --muted:var(--checkout-muted);
    --line:var(--checkout-line);
    --accent:var(--checkout-accent);
    --tint:var(--checkout-tint);
    padding:0;
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-radius);
    background:var(--checkout-card);
    color:var(--checkout-ink);
    box-shadow:var(--checkout-shadow);
}
#loftOrderForm .fv-order-section {
    padding:clamp(16px,3.2vw,30px);
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
}
#loftOrderForm .fv-order-section + .fv-order-section { border-top:1px solid var(--checkout-line); }
#loftOrderForm .fv-order-step { color:var(--checkout-accent); }
#loftOrderForm .fv-order-heading h2 {
    color:var(--checkout-ink);
    font-size:clamp(1.12rem,1rem + .45vw,1.4rem);
    font-weight:720;
    overflow-wrap:anywhere;
}
#loftOrderForm .fv-order-details p { color:var(--checkout-muted); }
#loftOrderForm .fv-order-details .fv-order-error { color:var(--error); }
#loftOrderForm .fv-order-details .ord-control {
    border-radius:var(--checkout-control);
    min-height:48px;
}
#loftOrderForm .fv-order-details .ord-control::placeholder { color:var(--checkout-muted); opacity:.86; }
#loftOrderForm .fv-order-phone > input[type="tel"] { border-radius:0 var(--checkout-control) var(--checkout-control) 0; }
#loftOrderForm .fv-order-country {
    border-radius:var(--checkout-control) 0 0 var(--checkout-control);
    background:var(--checkout-soft);
    color:var(--checkout-ink);
}
#loftOrderForm .fv-order-details .fv-order-remember {
    padding:11px 12px;
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-control);
    background:var(--checkout-soft);
}
#loftOrderForm .fv-checkout-side {
    padding:clamp(14px,2.2vw,24px);
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-radius);
    background:var(--checkout-card);
    box-shadow:var(--checkout-shadow);
}
#loftOrderForm .fv-checkout-side h2 {
    margin:0 0 13px;
    color:var(--checkout-ink);
    font-size:1.17rem;
    font-weight:720;
}
#loftOrderForm .tabOption {
    margin-bottom:16px;
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-control);
    background:var(--checkout-soft);
}
#loftOrderForm .tabOption ul { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin:0; }
#loftOrderForm .tabOption li {
    min-width:0;
    padding:0;
    border-radius:7px;
    opacity:1;
    background:transparent;
}
#loftOrderForm .tabOption button {
    width:100%;
    min-height:44px;
    padding:7px 4px;
    border:1px solid transparent;
    border-radius:7px;
    background:transparent;
    color:var(--checkout-muted);
    font:inherit;
    font-size:.875rem;
    font-weight:650;
    line-height:1.2;
}
#loftOrderForm .tabOption li.active button {
    border-color:var(--checkout-line);
    background:var(--checkout-card);
    color:var(--checkout-accent);
    box-shadow:0 2px 5px rgba(39,35,78,.07);
}
#loftOrderForm .orPayDetail .amount, #loftOrderForm .orPackDetail {
    padding:0;
    border:0;
    background:transparent;
    color:var(--checkout-ink);
}
#loftOrderForm .orPayDetail .amount ul { padding:0; margin:0; }
#loftOrderForm .orPayDetail .amount ul li {
    gap:12px;
    padding:8px 1px;
    border-color:var(--checkout-line);
    color:var(--checkout-muted);
    font-size:.91rem;
}
#loftOrderForm .orPayDetail .amount ul li span { color:var(--checkout-ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
#loftOrderForm .orPayDetail .amount ul li:last-child {
    margin-top:8px;
    padding:11px 12px;
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-control);
    background:var(--checkout-tint);
    color:var(--checkout-ink);
    font-weight:700;
}
#loftOrderForm #amountTotal { font-size:1.2rem; color:var(--checkout-accent); }
#loftOrderForm .fv-order-coupon {
    display:block;
    padding:12px;
    margin:14px 0 0;
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-control);
    background:rgba(105,111,186,.055);
    color:var(--checkout-ink);
}
#loftOrderForm .fv-order-coupon label { display:block; margin:0 0 7px; font-size:.86rem; font-weight:680; }
.fv-order-coupon-fields { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:7px; }
#loftOrderForm .fv-order-coupon .ns-control {
    width:100%; min-width:0; min-height:44px; margin:0; padding:8px;
    border:1px solid var(--checkout-line); border-radius:8px;
    background:rgba(255,255,255,.36); color:var(--checkout-ink); font-size:16px;
}
#loftOrderForm .fv-order-coupon .ns-control::placeholder { color:var(--checkout-muted); opacity:1; }
#loftOrderForm .fv-order-coupon .coupbtn {
    position:relative; inset:auto; transform:none;
    width:auto; min-height:44px; margin:0; padding:7px 10px;
    border:1px solid transparent; border-radius:8px;
    background:linear-gradient(135deg,#5459b1,#44499a); color:#fff !important;
    box-shadow:0 2px 5px rgba(44,49,116,.2);
    font-size:.82rem; font-weight:700; line-height:1.15;
    transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
#loftOrderForm .fv-order-coupon .coupbtn:not(:disabled):active {
    transform:translateY(1px);
    box-shadow:0 1px 2px rgba(44,49,116,.22);
}
@media (hover:hover) {
    #loftOrderForm .fv-order-coupon .coupbtn:not(:disabled):hover {
        background:#3e438f;
        box-shadow:0 4px 10px rgba(44,49,116,.28);
    }
}
#loftOrderForm .fv-order-coupon .coupbtn::before,
#loftOrderForm .fv-order-coupon .coupbtn::after { content:none; }
#loftOrderForm .fv-order-coupon .coupbtn[aria-busy="true"] { cursor:progress; }
#loftOrderForm .fv-order-coupon .coupbtn[aria-busy="true"]::after {
    content:"";
    display:inline-block;
    position:static;
    width:.75em; height:.75em; margin-inline-start:.45em;
    border:1.5px solid currentColor; border-inline-end-color:transparent; border-radius:50%;
    background:none;
    vertical-align:middle;
    animation:fv-coupon-spin .7s linear infinite;
}
@keyframes fv-coupon-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
    #loftOrderForm .fv-order-coupon .coupbtn { transition:none; }
    #loftOrderForm .fv-order-coupon .coupbtn[aria-busy="true"]::after { animation:none; }
}
body.dark #loftOrderForm .fv-order-coupon .ns-control { background:rgba(255,255,255,.06); }
#loftOrderForm .PaymentMethod { margin-top:14px; }
#loftOrderForm .PaymentMethod ul { padding:0; }
#loftOrderForm .PaymentMethod li.selectPayment {
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-control);
    background:var(--checkout-soft);
    color:var(--checkout-ink);
}
#loftOrderForm .PaymentMethod li.selectPayment.selected { border-color:var(--checkout-accent); }
#loftOrderForm .paymentDetail { margin-top:8px; }
#loftOrderForm .paymentDetail p {
    margin:0;
    padding:10px;
    border-radius:var(--checkout-control);
    background:var(--checkout-soft);
    color:var(--checkout-muted);
    font-size:.83rem;
    line-height:1.5;
}
#loftOrderForm .otherDetail .chxarea {
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-control);
    background:var(--checkout-soft);
    color:var(--checkout-ink);
}
#loftOrderForm .otherDetail a { color:var(--checkout-accent); text-decoration:underline; }
#loftOrderForm .orActionBTN, #termsofuse.fv-terms-modal .modal-footer button {
    min-height:48px;
    border-radius:var(--checkout-control);
    background:var(--checkout-action);
    color:#fff;
    font-weight:700;
    box-shadow:none;
}
#loftOrderForm .orActionBTN:not(:disabled):hover,
#termsofuse.fv-terms-modal .modal-footer button:hover { background:var(--checkout-action-hover); }
#loftOrderForm :is(button,a,input,select,textarea):focus-visible,
#termsofuse.fv-terms-modal :focus-visible { outline:2px solid var(--checkout-accent); outline-offset:2px; }

.fv-terms-page {
    width:min(930px,100% - 24px);
    margin:24px auto 48px;
    padding:clamp(16px,4vw,40px);
    border:1px solid var(--checkout-line);
    border-radius:var(--checkout-radius);
    background:var(--checkout-card);
    color:var(--checkout-ink);
    box-shadow:var(--checkout-shadow);
}
.fv-terms-page-header { padding-bottom:15px; margin-bottom:16px; border-bottom:1px solid var(--checkout-line); }
.fv-terms-page-header h2, #termsofuse.fv-terms-modal .modal-title {
    margin:0; color:var(--checkout-ink); font-size:clamp(1.22rem,2.5vw,1.8rem); font-weight:730; line-height:1.25;
}
.fv-terms-kicker { color:var(--checkout-accent); }
.fv-terms-document { min-width:0; color:var(--checkout-ink); font-size:.98rem; line-height:1.65; overflow-wrap:anywhere; }
.fv-terms-document h2, .fv-terms-document h3, .fv-terms-document h4 {
    margin:0 0 .65em; color:var(--checkout-ink); font-size:1.1rem; font-weight:700; line-height:1.35;
}
.fv-terms-document p, #termsofuse.fv-terms-modal .fv-terms-document p { margin:0 0 .85em; color:var(--checkout-muted); }
.fv-terms-document article {
    margin:12px 0; padding:clamp(12px,2.6vw,21px);
    border:1px solid var(--checkout-line); border-radius:var(--checkout-control); background:var(--checkout-soft);
}
.fv-terms-document ul, .fv-terms-document ol { margin:0 0 .8em; padding-inline-start:1.25em; }
.fv-terms-document ul { list-style:disc outside; }
.fv-terms-document ol { list-style:decimal outside; }
.fv-terms-document li + li { margin-top:.5em; }
.fv-terms-document li::marker { color:var(--checkout-accent); }
.fv-terms-document article > :last-child { margin-bottom:0; }
.fv-terms-document a, #termsofuse.fv-terms-modal .modal-footer a {
    color:var(--checkout-accent); text-decoration:underline; text-underline-offset:3px;
}
#termsofuse.fv-terms-modal .modal-dialog {
    width:min(760px,100% - 24px); max-width:none;
    height:calc(100% - 24px); margin:12px auto;
}
#termsofuse.fv-terms-modal .modal-content {
    min-width:0; overflow:hidden;
    border:1px solid var(--checkout-line); border-radius:var(--checkout-radius);
    background:var(--checkout-card); color:var(--checkout-ink); box-shadow:0 24px 68px rgba(27,24,55,.24);
}
#termsofuse.fv-terms-modal .modal-header, #termsofuse.fv-terms-modal .modal-footer {
    padding:12px clamp(12px,3vw,22px);
    border-color:var(--checkout-line); background:var(--checkout-soft);
}
#termsofuse.fv-terms-modal .modal-header { gap:10px; }
#termsofuse.fv-terms-modal .btn-close { flex:0 0 auto; margin:0; }
#termsofuse.fv-terms-modal .modal-body {
    min-width:0; min-height:0; padding:clamp(12px,3vw,22px);
    overflow:auto; overscroll-behavior:contain;
}
#termsofuse.fv-terms-modal .modal-footer { justify-content:space-between; gap:7px; }
#termsofuse.fv-terms-modal .modal-footer > * { margin:0; }
#termsofuse.fv-terms-modal .modal-footer button { padding:8px 12px; font-size:.88rem; }
body.dark #termsofuse.fv-terms-modal .btn-close { filter:invert(1); }
@media(max-width:360px) {
    #loftOrderForm .fv-order-country { min-width:70px; padding-inline:6px; gap:4px; }
    #loftOrderForm .fv-order-coupon .coupbtn { padding-inline:7px; }
}
@media(max-height:500px) and (orientation:landscape) {
    #termsofuse.fv-terms-modal .modal-header, #termsofuse.fv-terms-modal .modal-footer { padding-block:7px; }
    #termsofuse.fv-terms-modal .modal-header .fv-terms-kicker { margin-bottom:2px; }
    #termsofuse.fv-terms-modal .modal-footer button { min-height:42px; }
}


@media (max-width:767.98px) {
    #loftOrderForm .fv-checkout-summary-column { margin-top:18px; }
}
@media (min-width:768px) and (max-width:991.98px) {
    #loftOrderForm .fv-order-coupon-fields { grid-template-columns:minmax(0,1fr); }
}
