/* ==========================================================================
   Banierhuis — Cart page card layout
   Scope: cart page only (enqueued only on is_cart()). Every single
   selector below is qualified under the unique wrapper ".capf-cart-page"
   (see woocommerce/cart/cart.php) — no bare/generic selector (.product,
   .price, .quantity, .cart, button, img, table) is used anywhere, and no
   !important is used. Nothing here can leak into Elementor, other
   WooCommerce templates, or the rest of the site.
   ========================================================================== */

.capf-cart-items {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 0 0px;
}

.capf-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 18px 22px;
    border-radius: 6px;
    border: 2px solid #F28C0B;
    background: #FAF2EA;
    position: relative;
}
.capf-cart-item__remove {
    padding-top: 0;
    position: absolute;
    right: 20px;
    top: 10px;
    display: block;
}

.capf-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	color: #1b3a5c;
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}

.capf-cart-item__remove-link:hover {
	opacity: 1;
	color: #a3271f;
}

.capf-cart-item__thumbnail {
    flex: 0 0 auto;
    width: 25%;
}

.capf-cart-item__thumbnail a {
	display: block;
}

.capf-cart-item__thumbnail img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
}

.capf-cart-item__body {
	flex: 1 1 auto;
	min-width: 0;
}

.capf-cart-item__name.product-name a {
	font-family: "capitana", Sans-serif;
    color: #123F60 !important;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 135%;
}

.capf-cart-item__name a {
	color: inherit;
	text-decoration: none;
}

.capf-cart-item__name a:hover {
	text-decoration: underline;
}
.capf-cart-item__name.product-name {
    margin: 12px 0;
}
.capf-cart-item__price {
	font-family: "capitana", Sans-serif;
	font-weight: 700;
	color: #1b3a5c;
	white-space: nowrap;
}
.woocommerce-cart  .elementor-widget-woocommerce-cart .woocommerce {
    font-family: "capitana", Sans-serif;
}

/* ---- Variation attributes (wc_get_formatted_cart_item_data output) ------ */

.capf-cart-item__meta .variation {
	margin: 8px 0 0;
	font-size: 13px;
	color: #4a5568;
}
.capf-cart-item__meta .variation dt,
.capf-cart-item__meta .variation dd {
	display: inline;
	margin: 0;
	font-weight: 400;
}
.capf-cart-item__meta .variation dt {
	font-weight: 600;
	color: #1b3a5c;
}
.capf-cart-item__meta .variation dd p {
	display: inline;
	margin: 0;
}
.capf-cart-item__meta .variation > * {
	display: block;
}
.capf-cart-item__meta .backorder_notification {
	margin: 6px 0 0;
	font-size: 12px;
	color: #a3271f;
}
.capf-cart-item__footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.capf-cart-item__quantity {
    display: none;
    align-items: center;
    gap: 8px;
}
.capf-cart-item__quantity .quantity {
	display: inline-flex;
}
.capf-cart-item__quantity input.qty {
	width: 60px;
	padding: 8px 6px;
	text-align: center;
	border: 1px solid #e3ddd2;
	border-radius: 6px;
	color: #1b3a5c;
}
.capf-cart-item__subtotal {
    font-weight: 600;
    color: #F28C0B;
    font-size: 35px;
    text-align: left;
}
.capf-cart-item__brand {
    color: #F28C0B;
    font-family: Capitana;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-transform: uppercase;
}
.capf-cart-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}
.capf-cart-coupon {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 auto;
}

.capf-cart-coupon input.input-text {
	padding: 10px 12px;
	border: 1px solid #e3ddd2;
	border-radius: 6px;
	color: #1b3a5c;
	flex: 1 1 220px;
	max-width: 260px;
}

.capf-cart-actions button.button {
	padding: 10px 20px;
	border-radius: 6px;
	font-weight: 700;
	border: 1px solid #1b3a5c;
	background: #fff;
	color: #1b3a5c;
	cursor: pointer;
}

.capf-cart-actions button.capf-update-cart {
	background-color: #e8791a;
	background: #e8791a;
	border-color: #e8791a;
	color: #1b3a5c;
	margin-left: auto;
	font-size: 14px;
	line-height: 1.2;
	opacity: 1;
	text-indent: 0;
}
.capf-cart-layout {
	display: flex;
	align-items: flex-start;
	gap: 28px;
	flex-wrap: wrap;
}
.capf-cart-form {
	flex: 1;
	min-width: 0;
}
.capf-cart-collaterals {
	flex: 1;
	min-width: 0;
}
.cart-collaterals {
	margin-top: 0;
}
.cart_totals {
    padding: 30px;
    position: sticky;
    border-radius: 6px;
    background: #FFF;
}

.cart_totals h2 {
	color: #1b3a5c;
	font-size: 18px;
	margin-top: 0;
}

.cart_totals .order-total .woocommerce-Price-amount {
	color: #e8791a;
	font-weight: 700;
}

.woocommerce-cart button.button.capf-update-cart {
    display: none;
}
.woocommerce-cart .e-shop-table.e-cart-section {
    border: none;
    padding: 0;
    background-color: #FAF2EA;
}

.woocommerce-cart span.capf-variation-attr {
    border-radius: 6px;
    border: 1px solid #E8D9C8;
    padding: 5px;
    color: #123F60;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 210%;
}
.woocommerce-cart .capf-variation-attrs {display: inline-flex;gap: 5px;flex-wrap: wrap;}
span.bc-qunt-count {
    color: #8E8E8E;
    font-family: Capitana;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    position: relative;
    top: -8px;
}
.woocommerce-cart .woocommerce a.remove img {
    width: 29px;
}
.woocommerce-cart .e-cart-totals.e-cart-section {
    padding: 0;
    border: none !important;
}

.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals h2 {
    color: #123F60;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 135%;
}
.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td:before {
    color: #123F60;
    font-size: 16.5px;
    font-style: normal;
    font-weight: 300 !important;
    line-height: 170%;
}
.woocommerce-cart .cart-subtotal span.woocommerce-Price-amount.amount {
    color: #123F60 !important;
    text-align: right;
    font-size: 16.5px !important;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 170%;
}
.woocommerce-cart ul#shipping_method li {
    border-radius: 6px;
    border: 1px solid #E8D9C8;
    background: #FFF;
    padding: 20px;
}

.woocommerce-cart ul#shipping_method {
    display: block;
    margin-top: 36px !important;
}

.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td:before{
    margin-bottom: 0px;
    width: 100%;
}
/* Shipping methods wrapper */
.woocommerce-cart #shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}
.woocommerce-cart #shipping_method li {
    position: relative;
    display: flex;
    align-items: flex-start;
    width: 100%;
    min-height: auto;
    box-sizing: border-box;
    margin: 0 0 10px 0 !important;
    padding: 18px 20px !important;
    border: 1px solid #e8d9c8 !important;
    border-radius: 8px !important;
    background: #fff !important;
    transition: all 0.2s ease;
}

/* Selected shipping option */
.woocommerce-cart #shipping_method li:has(input.shipping_method:checked) {
    background: #f8f0e7 !important;
    border-color: #f8f0e7 !important;
}

/* Radio button */
.woocommerce-cart #shipping_method li input.shipping_method {
    appearance: none;
    -webkit-appearance: none;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-width: 21px !important;0 !important;
    padding: 0 !important;
    border: 1.5px solid #f28c00 !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer;
}

/* Selected radio */
.woocommerce-cart #shipping_method li input.shipping_method:checked {
    background: #fff !important;
    border: 1.5px solid #f28c00 !important;

    box-shadow: inset 0 0 0 5px #fff;
}

/* Orange center of selected radio */
.woocommerce-cart #shipping_method li input.shipping_method:checked {
    background-color: #f28c00 !important;
    box-shadow: inset 0 0 0 5px #fff;
}

/* Label */
.woocommerce-cart #shipping_method li label {
    display: block;
    flex: 1;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: #123f5f !important;
    cursor: pointer;
}

/* Description / second line if WooCommerce puts it inside label */
.woocommerce-cart #shipping_method li label small,
.woocommerce-cart #shipping_method li label .shipping-method-description {
    display: block;
    margin-top: 5px;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
    color: #123f5f;
}

/* Free shipping text / price */
.woocommerce-cart #shipping_method li label .amount,
.woocommerce-cart #shipping_method li label .woocommerce-Price-amount {
    float: right;

    padding: 7px 12px;

    border-radius: 20px;
    background: #f5eadf;

    font-size: 13px !important;
    font-weight: 400 !important;
    color: #123f5f !important;
}

/* Remove old pseudo elements */
.woocommerce-cart #shipping_method li::before,
.woocommerce-cart #shipping_method li::after {
    display: none !important;
    content: none !important;
}

.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce .woocommerce-shipping-destination {
    color: #123F60;
    margin-bottom: 0;
}
.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward) {
    color: #F28C0B;
}
.woocommerce-cart span.woocommerce-Price-amount.amount {
    color: #F28C0B !important;
    text-align: right;
    font-size: 35px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.woocommerce-cart span.capf-cart-totals__incl-vat {
    color: #8E8E8E;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.woocommerce-cart tr.order-total td:before {
    position: relative;
    top: 15px;
}
.woocommerce-cart .wc-proceed-to-checkout.capf-cart-totals-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    width: 100% !important;
    padding-bottom: 0 !important;
    margin: 0 0 30px 0;
    justify-content: space-between;
}
.woocommerce-cart .wc-proceed-to-checkout.capf-cart-totals-actions a {
    margin: 0 !important;
    width: auto !important;
    flex: 1 1 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

a.checkout-button.button.alt.wc-forward {
    border-radius: 3px;
    background: #F28C0B;
    padding: 12px 15px;
    color: #123F60;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.32px;
    text-transform: uppercase;
    margin-right: 10px !important;
}

a.capf-continue-shopping-button.button {
    border-radius: 3px;
    border: 1px solid #123F60;
    background: #FFF;
    color: #123F60 !important;
    text-align: center;
    font-family: Capitana;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.32px;
    text-transform: uppercase;
    padding: 11px 15px;
}
ul.capf-cart-totals-trust {
    border-top: 1px solid #E8D9C8;
    padding-top: 15px;
    list-style: none;
    padding-left: 0;
}
li.capf-cart-totals-trust__item img {
    width: 24px;
    height: 24px;
    position: relative;
    top: 4px;
}
span.capf-cart-totals-trust__text {
    color: #123F60;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 170%; /* 23.8px */
}
li.capf-cart-totals-trust__item {
    margin-bottom: 8px;
}