.cft-sticky {
    --cft-brand: var(--ast-global-color-0, #496580);
    --cft-hover: var(--ast-global-color-1, #324c64);
    --cft-ink: var(--ast-global-color-2, #243d53);
    position: fixed;
    z-index: 990;
    inset-inline: 0;
    bottom: 0;
    box-sizing: border-box;
    padding: 12px max(20px, env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-right));
    color: var(--cft-ink);
    background: #fff;
    border-top: 1px solid #dde4eb;
    box-shadow: 0 -6px 28px #243d5314;
}
.cft-sticky[hidden] { display: none !important; }
.cft-sticky-inner { max-width: 1120px; margin: auto; display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; align-items: center; gap: 16px; }
.cft-sticky-image { height: 60px; border: 1px solid #e3e8ed; border-radius: 10px; overflow: hidden; background: #fff; }
.cft-sticky-image img { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; }
.cft-sticky-details { min-width: 0; }
.cft-sticky-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; font-size: 16px; font-weight: 700; line-height: 1.3; }
.cft-sticky-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 9px; margin-top: 3px; font-size: 21px; font-weight: 750; line-height: 1.35; }
.cft-sticky-price del { font-size: 13px; font-weight: 500; color: #657381; }
.cft-sticky-price ins { background: none; text-decoration: none; }
.cft-sticky-price .woocommerce-Price-amount { color: inherit; font-size: inherit; font-weight: inherit; white-space: nowrap; }
.cft-sticky .cft-sticky-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-width: 188px; min-height: 50px; padding: 14px 24px; margin: 0; border: 1px solid transparent; border-radius: 10px; background: var(--cft-brand); color: #fff; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.3; text-align: center; white-space: normal; cursor: pointer; }
.cft-sticky .cft-sticky-button:hover { background: var(--cft-hover); }
.cft-sticky .cft-sticky-button:focus-visible { outline: 3px solid var(--cft-brand); outline-offset: 3px; }
.cft-sticky .cft-sticky-button:disabled { opacity: .65; cursor: wait; }
.cft-sticky-arrow { font-size: 23px; font-weight: 400; line-height: 1; }
.cft-sticky-spacer { height: var(--cft-sticky-height, 0px); }
body.cft-sticky-enabled .ast-sticky-add-to-cart { display: none !important; }
@media (max-width: 600px) {
    .cft-sticky { padding: 10px max(12px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right)); }
    .cft-sticky-inner { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; }
    .cft-sticky-image { height: 50px; border-radius: 8px; }
    .cft-sticky-name { font-size: 13px; }
    .cft-sticky-price { font-size: 18px; gap: 0 6px; }
    .cft-sticky-price del { font-size: 11px; }
    .cft-sticky .cft-sticky-button { min-width: 0; max-width: 150px; min-height: 48px; padding: 12px 15px; font-size: 14px; }
    .cft-sticky-arrow { display: none; }
}
@media (max-width: 360px) {
    .cft-sticky-inner { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 8px; }
    .cft-sticky .cft-sticky-button { max-width: 124px; padding: 12px 10px; font-size: 13px; }
    .cft-sticky-price { font-size: 16px; }
}
@media print { .cft-sticky, .cft-sticky-spacer { display: none !important; } }
