/* Cart page like the Dawn cart on myrandm.de (values measured on the live shop). Mobile first, 750px+ = desktop table. */
.sss-cart { --sss-fg: rgb(18, 18, 18); box-sizing: border-box; max-width: 1200px; margin: 0 auto; padding: 27px 15px 50px; color: rgba(18, 18, 18, .75); font-family: Archivo, sans-serif; font-size: 15px; line-height: 1.8; letter-spacing: .6px; }
.sss-cart *, .sss-cart *::before, .sss-cart *::after { box-sizing: border-box; }
.sss-cart [hidden] { display: none !important; }
.sss-cart .sss-sm-hide { display: none; }

/* Title row */
.sss-cart__title-row { display: flex; justify-content: space-between; align-items: flex-end; margin: 0 0 30px; }
.sss-cart .sss-cart__title { margin: 0; padding: 0; color: var(--sss-fg); font-family: "Archivo Narrow", sans-serif; font-size: 30px; font-weight: 400; line-height: 1.3; letter-spacing: .6px; text-transform: none; }
.sss-cart .sss-cart__continue { color: rgba(18, 18, 18, .85); font-size: 15px; line-height: 1.8; letter-spacing: .6px; text-decoration: underline; text-underline-offset: 3px; }
.sss-cart .sss-cart__continue:hover { color: var(--sss-fg); text-decoration-thickness: 2px; }

/* Items table */
.sss-cart__items { position: relative; padding-bottom: 30px; border-bottom: .67px solid rgba(18, 18, 18, .08); }
.woocommerce .sss-cart table.sss-cart__table { display: block; width: 100%; margin: 0; border: 0; border-collapse: collapse; border-spacing: 0; background: none; table-layout: auto; }
.woocommerce .sss-cart table.sss-cart__table caption { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce .sss-cart table.sss-cart__table thead { display: block; border-bottom: .67px solid rgba(18, 18, 18, .08); }
.woocommerce .sss-cart table.sss-cart__table thead tr { display: flex; justify-content: space-between; }
.woocommerce .sss-cart table.sss-cart__table th { padding: 0 0 18px; border: 0; background: none; color: rgba(18, 18, 18, .75); font-family: Archivo, sans-serif; font-size: 10px; font-weight: 400; line-height: 1.2; letter-spacing: 1.3px; text-transform: uppercase; text-align: left; }
.woocommerce .sss-cart table.sss-cart__table th.sss-cart__th-right { text-align: right; }
.woocommerce .sss-cart table.sss-cart__table tbody { display: block; padding-top: 40px; }
.woocommerce .sss-cart table.sss-cart__table td { padding: 0; border: 0; background: none; vertical-align: top; }
.woocommerce .sss-cart .sss-cart__item { display: grid; grid-template: repeat(2, auto) / 101.33px repeat(3, minmax(0, 1fr)); gap: 15px; margin-bottom: 35px; border: 0; }
.woocommerce .sss-cart .sss-cart__item:last-child { margin-bottom: 0; }
.sss-cart .sss-cart__media { grid-row: 1 / 3; }
.sss-cart .sss-cart__media a { display: block; }
.sss-cart .sss-cart__media img.sss-cart__image { display: block; width: 100%; max-width: 100px; height: auto; margin: 0; border-radius: 0; }
.sss-cart .sss-cart__details { grid-column: 2 / 4; }
.sss-cart .sss-cart__totals.sss-md-hide { grid-column: 4 / 5; text-align: right; }
.sss-cart .sss-cart__quantity { grid-column: 2 / 5; }
.sss-cart .sss-cart__name { display: block; color: var(--sss-fg); font-family: "Archivo Narrow", sans-serif; font-size: 15px; line-height: 1.3; letter-spacing: .6px; text-decoration: none; word-break: break-word; }
.sss-cart a.sss-cart__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.sss-cart .sss-cart__option { margin: 6px 0 0; color: rgba(18, 18, 18, .75); font-size: 14px; line-height: 1.5; letter-spacing: .6px; word-break: break-word; }
.sss-cart .sss-cart__options { margin: 0; padding: 0; }
.sss-cart .sss-cart__options dt, .sss-cart .sss-cart__options dd { display: inline; margin: 0; padding: 0; font-weight: 400; }
.sss-cart .sss-cart__price { display: inline-block; color: var(--sss-fg); font-size: 16px; line-height: 1.5; letter-spacing: 1px; white-space: nowrap; }

/* Quantity + bin */
.sss-cart .sss-cart__qty-wrap { display: flex; align-items: center; }
.sss-cart .sss-cart__qty { position: relative; display: flex; width: 142px; min-height: 47px; border: 0; box-shadow: 0 0 0 1px rgba(18, 18, 18, .55); background: #fff; }
.sss-cart .sss-cart__qty .sss-qty__btn { flex: 0 0 45px; width: 45px; min-height: 47px; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; color: var(--sss-fg); background: transparent; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; }
.sss-cart .sss-cart__qty .sss-qty__btn .sss-icon { width: 10px; height: 10px; }
.sss-cart .sss-cart__qty .sss-qty__btn[data-step="-1"] .sss-icon { height: 2px; }
.sss-cart .sss-cart__qty input.sss-qty__input { flex: 1 1 auto; width: 50px; min-width: 0; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: var(--sss-fg); font-family: Archivo, sans-serif; font-size: 16px; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.sss-cart .sss-cart__qty input.sss-qty__input::-webkit-outer-spin-button, .sss-cart .sss-cart__qty input.sss-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sss-cart .sss-cart__qty input.sss-qty__input:focus { outline: 0; }
.sss-cart .sss-cart__qty:focus-within { box-shadow: 0 0 0 2px rgba(18, 18, 18, .55); }
.sss-cart .sss-cart__remove { display: block; margin-left: 15px; }
.sss-cart .sss-cart__remove a.sss-cart__remove-btn { position: static; top: auto; left: auto; transform: none; display: flex; align-items: center; justify-content: center; width: 46px; height: 57px; margin: 0; padding: 0; color: var(--sss-fg) !important; background: transparent !important; border-radius: 0; font-size: inherit; line-height: 1; text-decoration: none; }
.sss-cart .sss-cart__remove a.sss-cart__remove-btn:hover { color: var(--sss-fg) !important; background: transparent !important; }
.sss-cart .sss-cart__remove .sss-icon { width: 15px; height: 15px; transition: transform .1s ease; }
.sss-cart .sss-cart__remove a:hover .sss-icon { transform: scale(1.07); }

/* Footer: discounts, estimated total, tax note, "Bezahlen" */
.sss-cart__footer { padding-top: 42px; }
.sss-cart__blocks { width: 100%; }
.sss-cart .sss-cart__discounts { display: flex; flex-direction: column; align-items: center; margin: 0 0 10px; padding: 0; list-style: none; }
.sss-cart .sss-cart__discount { display: flex; align-items: center; margin: 0; padding: 0; color: rgba(18, 18, 18, .75); font-size: 12px; line-height: 1.5; letter-spacing: .6px; }
.sss-cart .sss-cart__discount .sss-icon { flex: 0 0 auto; width: 12px; height: 12px; margin-right: 7px; color: var(--sss-fg); }
.sss-cart .sss-cart__totals-row { display: flex; justify-content: center; align-items: flex-end; }
.sss-cart .sss-cart__totals-title { margin: 5px 0 0; padding: 0; color: var(--sss-fg); font-family: "Archivo Narrow", sans-serif; font-size: 16px; font-weight: 400; line-height: 1; letter-spacing: .6px; text-transform: none; }
.sss-cart .sss-cart__totals-value { margin: 0 0 0 20px; padding: 0; color: rgba(18, 18, 18, .75); font-size: 18px; line-height: 1; letter-spacing: .6px; }
.sss-cart .sss-cart__tax { display: block; margin: 22px 0 16px; color: rgba(18, 18, 18, .75); font-size: 13px; line-height: 1.5; letter-spacing: .4px; text-align: center; }
.sss-cart .sss-cart__tax a { color: var(--sss-fg); text-decoration: underline; text-underline-offset: 3px; }
.sss-cart a.sss-cart__checkout { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 360px; min-height: 47px; margin: 0 auto; padding: 0 30px; color: #fff; background: var(--sss-fg); border: 0; border-radius: 0; box-shadow: 0 0 0 1px var(--sss-fg); font-family: Archivo, sans-serif; font-size: 15px; line-height: 1.2; letter-spacing: 1px; text-decoration: none; transition: box-shadow .1s ease; }
.sss-cart a.sss-cart__checkout:hover, .sss-cart a.sss-cart__checkout:focus { color: #fff; background: var(--sss-fg); box-shadow: 0 0 0 2px var(--sss-fg); }

/* Empty cart */
.sss-cart__warnings { padding: 30px 0 10px; text-align: center; }
.woocommerce .sss-cart .sss-cart__empty-text, .sss-cart .sss-cart__empty-text { margin: 45px 0 20px; padding: 0; color: var(--sss-fg); font-family: "Archivo Narrow", sans-serif; font-size: 30px; font-weight: 400; line-height: 1.3; letter-spacing: .6px; text-align: center; }
.sss-cart a.sss-cart__empty-btn { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 47px; margin: 0; padding: 0 30px; color: #fff; background: var(--sss-fg); border: 0; border-radius: 0; box-shadow: 0 0 0 1px var(--sss-fg); font-family: Archivo, sans-serif; font-size: 15px; line-height: 1.2; letter-spacing: 1px; text-decoration: none; transition: box-shadow .1s ease; }
.sss-cart a.sss-cart__empty-btn:hover, .sss-cart a.sss-cart__empty-btn:focus { color: #fff; background: var(--sss-fg); box-shadow: 0 0 0 2px var(--sss-fg); }

/* WooCommerce notices (errors) keep their own look; "blockUI" overlay while the cart refreshes. */
.sss-cart .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

@media (min-width: 750px) {
	.sss-cart { padding: 30px 50px 50px; }
	.sss-cart .sss-sm-hide { display: revert; }
	.sss-cart .sss-md-hide { display: none !important; }
	.sss-cart .sss-cart__title, .sss-cart .sss-cart__empty-text { font-size: 40px; }
	.sss-cart .sss-cart__items { padding-bottom: 40px; }
	.woocommerce .sss-cart table.sss-cart__table { display: table; }
	.woocommerce .sss-cart table.sss-cart__table thead { display: table-header-group; border: 0; }
	.woocommerce .sss-cart table.sss-cart__table thead tr { display: table-row; }
	.woocommerce .sss-cart table.sss-cart__table thead th { border-bottom: .67px solid rgba(18, 18, 18, .08); }
	.woocommerce .sss-cart table.sss-cart__table thead th:nth-child(3) { padding-left: 50px; width: 25.73%; }
	.woocommerce .sss-cart table.sss-cart__table thead th:last-child { width: 14.27%; }
	.woocommerce .sss-cart table.sss-cart__table tbody { display: table-row-group; padding: 0; }
	.woocommerce .sss-cart .sss-cart__item { display: table-row; margin: 0; }
	.woocommerce .sss-cart table.sss-cart__table .sss-cart__item > td { padding-top: 40px; }
	.sss-cart .sss-cart__media { width: 110px; }
	.woocommerce .sss-cart table.sss-cart__table .sss-cart__item > td.sss-cart__media { padding-bottom: 10px; }
	.sss-cart .sss-cart__continue { margin-bottom: 11px; font-size: 16px; }
	.sss-cart .sss-cart__media img.sss-cart__image { max-width: 110px; }
	.sss-cart .sss-cart__details { padding-left: 40px !important; }
	.sss-cart .sss-cart__quantity { padding-left: 50px !important; }
	.sss-cart .sss-cart__totals.sss-sm-hide { padding-left: 40px !important; text-align: right; }
	.sss-cart .sss-cart__name { display: inline-block; max-width: 300px; }
	.sss-cart .sss-cart__remove a.sss-cart__remove-btn { width: 36px; }
	.sss-cart__footer { display: flex; justify-content: flex-end; padding-top: 56px; }
	.sss-cart__blocks { width: 350px; }
	.sss-cart .sss-cart__discounts { align-items: flex-end; }
	.sss-cart .sss-cart__totals-row { justify-content: flex-end; }
	.sss-cart .sss-cart__tax { margin: 22px 0; text-align: right; }
	.sss-cart a.sss-cart__checkout { margin: 0; }
}
