.sl-add { display: flex; gap: .75rem; align-items: stretch; flex-wrap: wrap; margin: 1.5rem 0; }
.sl-loop-btn .sl-add { margin: .5rem 0 0; justify-content: center; }
.sl-add__btn { cursor: pointer; }
.sl-loop-btn .sl-add__btn { font-size: .8rem; padding: .6rem 1.1rem; }
.sl-add__btn.is-added { background: var(--wp--preset--color--teak, #8a5a33); }

.sl-qty { display: inline-flex; align-items: center; gap: .5rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.sl-qty input { width: 4.5rem; padding: .7rem .6rem; border: 1px solid var(--wp--preset--color--line, #e4d9cb); background: #fff; font: inherit; font-size: 1rem; text-align: center; border-radius: 2px; }

.sl-quote-link { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; font-weight: 600; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; }
.sl-quote-count { display: inline-grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .35rem; border-radius: 999px; background: var(--wp--preset--color--sand, #ede3d3); color: inherit; font-size: .75rem; }
.sl-quote-link.has-items .sl-quote-count { background: var(--wp--preset--color--terracotta, #d56642); color: #fff; }

.sl-quote { display: grid; gap: 3rem; }
@media (min-width: 900px) { .sl-quote { grid-template-columns: 1.1fr 1fr; align-items: start; } }
.sl-quote h2 { font-size: 1.4rem; margin: 0 0 1.25rem; }
.sl-items { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--line, #e4d9cb); }
.sl-item { display: grid; grid-template-columns: 88px 1fr auto; gap: .5rem 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--line, #e4d9cb); }
.sl-item__img img { width: 88px; height: 88px; object-fit: cover; display: block; background: var(--wp--preset--color--sand, #ede3d3); }
.sl-item__name { font-weight: 600; text-decoration: none; color: inherit; display: block; }
.sl-item__sku { font-size: .8rem; opacity: .65; }
.sl-item__note { display: block; font-size: .75rem; margin-top: .4rem; opacity: .85; }
.sl-item__note input { display: block; width: 100%; margin-top: .25rem; padding: .45rem .6rem; border: 1px solid var(--wp--preset--color--line, #e4d9cb); font: inherit; font-size: .9rem; background: #fff; }
.sl-item__remove { grid-column: 3; justify-self: end; background: none; border: 0; padding: 0; font: inherit; font-size: .8rem; text-decoration: underline; cursor: pointer; color: inherit; opacity: .7; }
.sl-item__remove:hover { opacity: 1; color: var(--wp--preset--color--terracotta, #d56642); }
@media (max-width: 560px) {
	.sl-item { grid-template-columns: 64px 1fr; }
	.sl-item__img img { width: 64px; height: 64px; }
	.sl-item .sl-qty { grid-column: 2; }
	.sl-item__remove { grid-column: 2; justify-self: start; }
}

.sl-quote__form { background: var(--wp--preset--color--sand, #ede3d3); padding: clamp(1.25rem, 4vw, 2.5rem); }
.sl-grid { display: grid; gap: 1rem; }
@media (min-width: 560px) { .sl-grid { grid-template-columns: 1fr 1fr; } }
.sl-quote__form label { display: block; font-size: .8rem; font-weight: 600; letter-spacing: .04em; }
.sl-quote__form input, .sl-quote__form select, .sl-quote__form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: .35rem; padding: .75rem .85rem; border: 1px solid var(--wp--preset--color--line, #e4d9cb); background: #fff; font: inherit; font-size: 1rem; font-weight: 400; border-radius: 2px; }
.sl-quote__form input:focus, .sl-quote__form select:focus, .sl-quote__form textarea:focus, .sl-qty input:focus, .sl-item__note input:focus { outline: 2px solid var(--wp--preset--color--terracotta, #d56642); outline-offset: 1px; }
.sl-full { margin-top: 1rem; }
.sl-submit { margin-top: 1.25rem; width: 100%; cursor: pointer; }
.sl-small { font-size: .8rem; opacity: .75; margin: .75rem 0 0; }
.sl-error { background: #fbe9e4; border-left: 3px solid #b23c1c; padding: .75rem 1rem; grid-column: 1 / -1; }
.sl-empty { padding: 1.5rem; background: var(--wp--preset--color--cream, #f7f2ea); border: 1px dashed var(--wp--preset--color--line, #e4d9cb); }
.sl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sl-thanks { max-width: 640px; margin: 0 auto; text-align: center; padding: 2rem 0; }
.sl-wa { font-weight: 600; }
