.basket-quantity {
    display: inline-flex;
    align-items: center;
    margin: 8px 8px 0 0;
    padding: 5px 8px;
    border-radius: 999px;
    background: #e2f4ed;
    color: #287e60;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

.announcement-bar{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(100deg,#10182e,#1b3155 48%,#10182e);color:#fff}
.announcement-bar:after{position:absolute;z-index:-1;top:0;bottom:0;left:-35%;width:28%;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);animation:announcement-shimmer 6s ease-in-out infinite}
.announcement-copy{display:flex;align-items:center;gap:10px;min-width:0}
.announcement-copy b{color:#ffd169;font-size:10px;letter-spacing:.1em;white-space:nowrap}
.announcement-copy>span:last-child{overflow:hidden;text-overflow:ellipsis}
.announcement-dot{color:#ffd169;animation:announcement-spark 1.8s ease-in-out infinite}
@keyframes announcement-shimmer{0%,55%{left:-35%}100%{left:125%}}
@keyframes announcement-spark{50%{transform:scale(1.35) rotate(14deg);text-shadow:0 0 12px #ffd169}}

.product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 9px;min-width:0}
.product-price strong{color:var(--ink);font-size:17px;font-weight:900;white-space:nowrap}
.product-price del,.cart-unit-price del,.checkout-line del{color:#8b94a8;font-size:12px;font-weight:600}
.discount-tag{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;background:#fff0e8;color:#bb4e31;font-size:10px;font-weight:900;letter-spacing:.02em;white-space:nowrap}
.product-buy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.product-buy>.product-price{grid-column:1/-1}
.quantity-stepper{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:38px;overflow:hidden;border:1px solid #d9dfeb;border-radius:999px;background:#fff;box-shadow:0 3px 12px rgba(16,24,46,.06);transition:border-color .18s,box-shadow .18s,transform .18s}
.quantity-stepper:focus-within,.quantity-stepper.is-updating{border-color:#e96b47;box-shadow:0 0 0 3px rgba(233,107,71,.13)}
.quantity-stepper.is-updating{transform:scale(.98)}
.quantity-stepper button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:0;background:#fff7f2;color:#c55336;font-size:21px;font-weight:750;line-height:1;transition:background .15s,color .15s}
.quantity-stepper button:hover:not(:disabled){background:#ffe7d8;color:#973d27}
.quantity-stepper button:disabled{background:#fff;color:#c4c9d4;cursor:not-allowed}
.quantity-stepper input{width:43px;min-width:0;height:36px;padding:0 2px;border:0!important;background:#fff!important;color:var(--ink);text-align:center;font-size:14px;font-weight:850;appearance:textfield}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{margin:0;appearance:none}
.quantity-stepper input:focus{outline:0}
.quantity-stepper.is-saved{animation:quantity-pop .36s ease}
@keyframes quantity-pop{50%{transform:scale(1.05)}}
.catalog-table .catalog-price{min-width:125px;white-space:normal}
.catalog-table .catalog-price .product-price{gap:4px 7px}
.catalog-table .quantity-stepper{min-width:116px}
.catalog-table td[data-label="Quantity"]{min-width:134px}
.catalog-table td[data-label="Action"]{white-space:nowrap}
.product-detail-price{margin:12px 0 22px}
.product-detail-price .product-price strong{font-size:27px}
.product-detail-price .product-price del{font-size:15px}
.product-detail-price .discount-tag{font-size:12px}

.cart-layout{align-items:start}
.discount-cheer-cart{grid-column:1/-1}
.cart-thumb{border-radius:10px}
.cart-unit-price{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}
.cart-unit-price strong{font-size:13px;font-weight:850}
.cart-quantity-cell{display:grid;justify-items:center;gap:5px}
.quantity-caption{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cart-line-total{white-space:nowrap}
.cart-savings-summary,.checkout-original-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;color:#287e60}
.cart-savings-summary{border-top:1px solid var(--line)}
.cart-savings-summary strong{color:#287e60}
.checkout-line>strong{display:grid;justify-items:end;gap:2px}
.checkout-original-total{font-size:13px}
.discount-cheer{position:relative;display:flex;align-items:center;gap:12px;overflow:hidden;padding:13px 15px;border:1px solid #f2d598;border-radius:12px;background:linear-gradient(110deg,#fff7dc,#fff1e8);color:#6f4c10;animation:deal-arrive .55s cubic-bezier(.2,.8,.2,1) both}
.discount-cheer:after{position:absolute;top:-60%;left:-30%;width:26%;height:220%;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);transform:rotate(18deg);animation:deal-shimmer 4s ease-in-out infinite}
.discount-cheer-spark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffda75;color:#835600;font-size:20px;animation:deal-spark 2.2s ease-in-out infinite}
.discount-cheer>div{display:grid;gap:2px;min-width:0}
.discount-cheer>div strong{font-size:13px}
.discount-cheer>div span{font-size:12px;color:#8d713d}
.discount-cheer-badge{margin-left:auto;padding:6px 8px;border-radius:999px;background:#e76545;color:white;font-size:11px;white-space:nowrap;animation:deal-badge-pop 1.8s ease-in-out infinite}
@keyframes deal-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes deal-shimmer{0%,65%{left:-35%}100%{left:130%}}
@keyframes deal-spark{50%{transform:rotate(20deg) scale(1.12);box-shadow:0 0 18px rgba(237,165,56,.55)}}
@keyframes deal-badge-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes floating-checkout-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

.floating-checkout{position:fixed;z-index:20;right:84px;bottom:24px;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:linear-gradient(110deg,#e85f40,#ed8b48);box-shadow:0 12px 32px rgba(182,73,40,.35);color:white;font-size:13px;font-weight:850;transition:transform .18s,box-shadow .18s;animation:floating-checkout-bob 3.2s ease-in-out infinite}
.floating-checkout:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(182,73,40,.4)}
.floating-checkout[hidden]{display:none}
.floating-checkout-icon{font-size:17px}
.floating-checkout b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:50%;background:#fff;color:#ba4a31;font-size:11px}
.whatsapp-widget{position:fixed;z-index:21;right:20px;bottom:24px}
.whatsapp-launcher{display:flex;align-items:center;gap:9px;min-height:54px;padding:0 18px;border:0;border-radius:999px;background:#18a96a;color:#fff;box-shadow:0 12px 28px rgba(19,116,73,.3);font-size:13px;font-weight:850;transition:transform .18s,box-shadow .18s}
.whatsapp-launcher:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(19,116,73,.36)}
.whatsapp-launcher>span:first-child{display:grid;place-items:center;width:24px;height:24px;border:2px solid rgba(255,255,255,.9);border-radius:50%;font-size:13px}.whatsapp-icon{display:block;width:14px;height:14px;fill:currentColor}
.whatsapp-panel{position:absolute;right:0;bottom:68px;width:min(350px,calc(100vw - 32px));overflow:hidden;border:1px solid #e2e8e8;border-radius:16px;background:#fff;box-shadow:0 18px 55px rgba(16,24,46,.22);transform-origin:bottom right;animation:chat-open .2s ease both}
.whatsapp-panel[hidden]{display:none}
.whatsapp-panel-head{display:flex;align-items:center;gap:10px;padding:16px;background:#128b5b;color:#fff}
.whatsapp-panel-head>div{display:grid;gap:2px;min-width:0}
.whatsapp-panel-head strong{font-size:14px}
.whatsapp-panel-head small{color:#d5f1e4;font-size:10px}
.whatsapp-panel-head>button{margin-left:auto;border:0;color:white;font-size:24px;line-height:1}
.whatsapp-online-dot{width:9px;height:9px;border-radius:50%;background:#a7f2c9;box-shadow:0 0 0 4px rgba(255,255,255,.15)}
.whatsapp-form{display:grid;gap:8px;padding:16px}
.whatsapp-form label{font-size:12px;font-weight:800}
.whatsapp-form textarea{width:100%;resize:vertical;padding:11px;border:1px solid #dce3e6;border-radius:9px;outline-color:#18a96a;font-size:14px}
.whatsapp-form .button{width:100%;justify-content:center}
@keyframes chat-open{from{opacity:0;transform:translateY(9px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:850px){
    .cart-row{grid-template-columns:58px minmax(0,1fr) auto;gap:10px 12px}
    .cart-thumb{grid-row:span 2;width:56px;height:56px}
    .cart-row>div:nth-child(2){min-width:0}
    .cart-quantity-cell{grid-column:2;justify-items:start}
    .cart-row>.cart-line-total{grid-column:3;grid-row:2;text-align:right}
    .cart-actions{gap:10px}
    .cart-actions .button{flex:1;justify-content:center}
}
@media(max-width:600px){
    .announcement-bar .festival-bar-inner{gap:12px;font-size:10px}
    .announcement-copy{gap:6px}
    .announcement-copy b{font-size:8px}
    .announcement-bar .festival-bar-inner>a{white-space:nowrap}
    .product-buy{gap:9px}
    .product-price strong{font-size:15px}
    .product-price del{font-size:10px}
    .discount-tag{font-size:9px;padding:3px 6px}
    .quantity-stepper{min-height:36px}
    .quantity-stepper button{flex-basis:33px;width:33px;height:34px}
    .quantity-stepper input{width:36px;height:34px;font-size:13px}
    .catalog-table .catalog-price{min-width:0}
    .catalog-table td[data-label="Quantity"]{min-width:0}
    .catalog-table .quantity-stepper{min-width:108px}
    .cart-row{grid-template-columns:50px minmax(0,1fr) auto;padding:14px 0}
    .cart-thumb{width:48px;height:48px}
    .cart-list{padding:8px 12px}
    .cart-row h3{font-size:14px}
    .cart-quantity-cell{grid-column:2}
    .cart-row>.cart-line-total{font-size:14px}
    .discount-cheer{gap:8px;padding:11px}
    .discount-cheer-badge{font-size:9px;padding:5px 6px}
    .floating-checkout{right:auto;left:12px;bottom:calc(80px + env(safe-area-inset-bottom));min-height:48px;padding:0 13px;font-size:12px}
    .whatsapp-widget{right:12px;bottom:calc(80px + env(safe-area-inset-bottom))}
    .whatsapp-launcher{min-height:48px;padding:0 12px;font-size:11px}
    .whatsapp-launcher>span:first-child{width:21px;height:21px}
    .whatsapp-panel{bottom:59px}
}
@media(prefers-reduced-motion:reduce){
    .announcement-bar:after,.announcement-dot,.quantity-stepper.is-saved,.discount-cheer,.discount-cheer:after,.discount-cheer-spark,.discount-cheer-badge,.floating-checkout{animation:none}
    .floating-checkout,.whatsapp-launcher,.quantity-stepper{transition:none}
}
