/* Caddie (cart) shared styles */
.caddie-inline { display:inline-flex; align-items:center; gap:.35rem; background:rgba(255,255,255,.08); padding:.25rem .55rem; border-radius:.65rem; font-size:.7rem; font-weight:600; position:relative; }
.caddie-inline .caddie-link { color:#ffd27a; display:inline-flex; align-items:center; font-size:1.15rem; line-height:1; }
.caddie-inline .caddie-link:hover { color:#ffb547; text-decoration:none; }
.caddie-inline .caddie-count { color:#fff; min-width:1.2rem; text-align:center; transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .4s; background:rgba(255,255,255,.12); padding:2px 6px; border-radius:1rem; font-weight:700; }
/* Animation pulse on change (JS adds .pulse) */
.caddie-inline .caddie-count.pulse { animation:caddiePulse .6s ease; }
@keyframes caddiePulse { 0%{ transform:scale(.75); background:var(--brand-accent,#ff9800); } 60%{ transform:scale(1.15); } 100%{ transform:scale(1); background:rgba(255,255,255,.12); } }
@media (max-width:600px){ .caddie-inline { font-size:.6rem; padding:.2rem .45rem; } .caddie-inline .caddie-link { font-size:1rem; } }

/* Cart (caddie) filter bar layout */
.cart-filters { display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:flex-end; }
.cart-filters.compact { row-gap:.5rem; }
.cart-filters .fg { display:flex; flex-direction:column; min-width:150px; }
.cart-filters .fg label { font-size:.72rem; text-transform:uppercase; letter-spacing:.5px; margin-bottom:.15rem; font-weight:600; opacity:.85; }
.cart-filters .fg textarea { resize:vertical; }
.cart-filters .comment-wrapper { flex:1 1 260px; min-width:240px; }
.cart-filters .actions { display:flex; gap:.45rem; align-items:flex-end; flex-wrap:wrap; }
.cart-filters .actions .btn { min-width:34px; }
.cart-filters .fg select, .cart-filters .fg input, .cart-filters .fg textarea { font-size:.75rem; }
.cart-filters .fg .badge { font-size:.6rem; line-height:1; padding:.35rem .5rem; }
.cart-filters .fg .btn-close { float:none; }
@media (max-width:900px){ .cart-filters .comment-wrapper { flex:1 1 100%; order:5; } }
@media (max-width:700px){ .cart-filters { gap:.6rem .75rem; } .cart-filters .fg { min-width:130px; } }

/* Utility icon sizing (avoid inline styles) */
.icon-xs { font-size:.85rem; }
.icon-sm { font-size:1rem; }
.icon-md { font-size:1.1rem; }
.icon-lg { font-size:1.3rem; }
