/*
Theme Name: Crudo Child
Theme URI: http://www.wpbingosite.com/crudo
Author: wpbingo
Description: This is a child theme for Crudo
Version: 1.0.0
Author URI: http://wpbingosite.com
Template: crudo
Text Domain: crudo-child
*/
/*************** ADD YOUR CUSTOM CSS HERE  ***************/

/* =========================================================
   SAVUROS MINICART — panou off-canvas din dreapta
   Forțăm poziționarea pe viewport (position:fixed), ca panoul
   să vină mereu din dreapta indiferent de structura header-ului,
   și să nu împingă conținutul pe mobil.
   JS-ul temei comută clasa .show pe .crudo-topcart și pe
   overlay-ul .remove-cart-shadow.
   ========================================================= */

/* Panoul: ascuns în dreapta, în afara ecranului.
   IMPORTANT: pe tabletă/mobil Crudo comută mini-coșul din modul .popup în
   .dropdown (bara mobilă), iar acel mod ascunde panoul cu translateY, nu
   translateX — deci translateX-ul nostru era anulat și panoul rămânea vizibil
   permanent (vezi bug tabletă). De aceea ascundem AICI și prin opacity +
   visibility + pointer-events, care nu depind de axa transform-ului: garantează
   că panoul e invizibil și inert când NU are .show, în ORICE mod (popup/dropdown). */
.crudo-topcart .cart-popup {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	bottom: 0 !important;
	width: 380px !important;
	max-width: 90vw !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	box-shadow: -6px 0 24px rgba(0, 0, 0, .15) !important;
	transform: translateX(100%) !important;
	transition: transform .35s ease, opacity .35s ease, visibility .35s ease !important;
	z-index: 99999 !important;
	overflow-y: auto !important;
	display: block !important;
}

/* Starea ÎNCHIS (fără .show): ascuns vizual și inert, indiferent de mod. */
.crudo-topcart:not(.show) .cart-popup {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateX(100%) !important;
}

/* Panoul deschis: alunecă în ecran, vizibil și interactiv. */
.crudo-topcart.show .cart-popup {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateX(0) !important;
}

/* Conținutul panoului — coloană curată (mini-cart DEFAULT WooCommerce).
   Markup real: .cart-popup > ul.cart_list (produse)
                            > p.woocommerce-mini-cart__total (subtotal)
                            > p.woocommerce-mini-cart__buttons (butoane) */
.crudo-topcart .cart-popup {
	display: flex !important;
	flex-direction: column !important;
	padding: 24px 16px !important;
}

/* Anulează orice padding/margin de listă care ar împinge produsele spre interior */
.crudo-topcart .cart-popup ul.cart_list li.woocommerce-mini-cart-item {
	padding-left: 0 !important;
	margin-left: 0 !important;
}
.crudo-topcart .cart-popup ul.cart_list {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* Lista de produse — ocupă spațiul disponibil, scrollabilă */
.crudo-topcart .cart-popup ul.cart_list,
.crudo-topcart .cart-popup ul.product_list_widget {
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Rândul unui produs.
   Structura reală: <li> > <a.remove> + <a> (imagine + nume) + <span.quantity>
   Linkul cu imaginea+numele e tratat ca o bandă flex; imaginea stânga, numele dreapta. */
.crudo-topcart .cart-popup li.woocommerce-mini-cart-item {
	position: relative !important;
	display: block !important;
	padding: 14px 24px 14px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

/* Linkul care conține imaginea + numele — bandă flex aliniată sus */
.crudo-topcart .cart-popup li.woocommerce-mini-cart-item > a:not(.remove) {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: inherit !important;
	text-decoration: none !important;
}

/* Imaginea produsului — mică, în stânga linkului */
.crudo-topcart .cart-popup li.woocommerce-mini-cart-item img {
	flex: 0 0 56px !important;
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* Cantitate + preț — sub link, aliniat cu numele (indentat cât imaginea + gap) */
.crudo-topcart .cart-popup li.woocommerce-mini-cart-item .quantity {
	display: block !important;
	margin: 6px 0 0 68px !important;
	font-size: 14px !important;
	color: #c00 !important;
	border: 0 !important;
	background: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	width: auto !important;
}

/* Butonul de ștergere (×) — colț dreapta-sus al rândului */
.crudo-topcart .cart-popup li.woocommerce-mini-cart-item a.remove {
	position: absolute !important;
	top: 14px !important;
	right: 0 !important;
	width: 20px !important;
	height: 20px !important;
	line-height: 18px !important;
	text-align: center !important;
	font-size: 16px !important;
	color: #999 !important;
}
.crudo-topcart .cart-popup li.woocommerce-mini-cart-item a.remove:hover {
	color: #c00 !important;
}

/* Subtotal */
.crudo-topcart .cart-popup p.woocommerce-mini-cart__total {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 0 0 14px !important;
	padding-top: 16px !important;
	border-top: 1px solid #eee !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

/* Butoanele „Vezi coșul" / „Finalizare" — mereu vizibile, coloană */
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 0 !important;
}
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	text-align: center !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	opacity: 1 !important;
	visibility: visible !important;
	border-radius: 30px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
/* Ascunde săgeata pseudo-element a temei (wc-forward :before/:after) care dezechilibra textul */
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a::before,
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a::after {
	display: none !important;
	content: none !important;
}

/* „Vezi coșul" — buton secundar (contur), text vizibil mereu (nu doar la hover) */
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background: #fff !important;
	color: #1a1a1a !important;
	border: 1px solid #1a1a1a !important;
}
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
	background: #1a1a1a !important;
	color: #fff !important;
}

/* „Finalizare" — buton principal (plin) */
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a.checkout {
	background: #1a1a1a !important;
	color: #fff !important;
	border: 1px solid #1a1a1a !important;
}
.crudo-topcart .cart-popup p.woocommerce-mini-cart__buttons a.checkout:hover {
	opacity: .9 !important;
}

/* Subtotalul — text vizibil, negru (tema îl ascundea pe fundal deschis) */
.crudo-topcart .cart-popup p.woocommerce-mini-cart__total,
.crudo-topcart .cart-popup p.woocommerce-mini-cart__total .woocommerce-Price-amount {
	color: #1a1a1a !important;
}

/* Overlay întunecat în spatele panoului */
.remove-cart-shadow {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, .5) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity .35s ease, visibility .35s ease !important;
	z-index: 99998 !important;
}
.remove-cart-shadow.show {
	opacity: 1 !important;
	visibility: visible !important;
}

/* Pe ecrane mici, panoul aproape pe tot ecranul */
@media (max-width: 480px) {
	.crudo-topcart .cart-popup {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* =========================================================
   SAVUROS — Checkout custom (2 coloane, toggle Expediază/Ridicare)
   Accent brand: #E4012B
   ========================================================= */

.savuros-checkout { --co-accent: #E4012B; }

/* ----- Grid 2 coloane ----- */
.savuros-checkout .savuros-co-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 40px;
}
.savuros-checkout .savuros-co-left { flex: 1 1 540px; min-width: 0; }
.savuros-checkout .savuros-co-right { flex: 1 1 340px; min-width: 0; }
@media (min-width: 992px) {
	.savuros-checkout .savuros-co-right { position: sticky; top: 24px; }
}
@media (max-width: 991px) {
	.savuros-checkout .savuros-co-grid { gap: 28px; }
	.savuros-checkout .savuros-co-left,
	.savuros-checkout .savuros-co-right { flex: 1 1 100%; }
}

/* ----- Secțiuni ----- */
.savuros-checkout .savuros-co-section { margin-bottom: 26px; }
.savuros-checkout .savuros-co-title { font-size: 20px; font-weight: 700; margin: 0 0 16px; }

/* ----- Toggle Expediază / Ridicare ----- */
.savuros-checkout .savuros-co-toggle { display: flex; gap: 12px; margin-bottom: 16px; }
.savuros-checkout .savuros-co-tab {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 14px;
	border: 2px solid #e3e3e3;
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	color: #333;
	cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
}
.savuros-checkout .savuros-co-tab.is-active {
	border-color: var(--co-accent);
	background: rgba(228,1,43,.05);
	color: var(--co-accent);
}
.savuros-checkout .savuros-co-tab-ico {
	width: 22px; height: 22px; flex: 0 0 22px;
	background-position: center; background-repeat: no-repeat; background-size: contain;
}
.savuros-checkout .savuros-co-ico-ship {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E4012B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 3h13v11H1zM14 7h4l3 3v4h-7'/%3E%3Ccircle cx='6' cy='18' r='1.6'/%3E%3Ccircle cx='17' cy='18' r='1.6'/%3E%3C/svg%3E");
}
.savuros-checkout .savuros-co-ico-pickup {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E4012B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-5.5-7-11a7 7 0 0114 0c0 5.5-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

/* ----- Caseta adresa magazinului (Ridicare) ----- */
.savuros-checkout .savuros-co-pickup-info {
	display: flex; gap: 12px; align-items: flex-start;
	padding: 16px; border: 1px solid #e3e3e3; border-radius: 12px;
	background: #fafafa; margin-bottom: 8px; line-height: 1.5;
}
.savuros-checkout .savuros-co-pickup-info .savuros-co-tab-ico { margin-top: 2px; }
.savuros-checkout .savuros-co-pickup-note { color: #777; font-size: 13px; margin-top: 4px; }

/* ----- Metode de livrare reale (radio Woo → butoane) ----- */
.savuros-checkout #shipping_method {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.savuros-checkout #shipping_method li { margin: 0 !important; padding: 0 !important; position: relative; }
.savuros-checkout #shipping_method li input[type="radio"] {
	position: absolute !important; opacity: 0 !important;
	width: 1px !important; height: 1px !important;
	margin: 0 !important; pointer-events: none !important;
}
.savuros-checkout #shipping_method li label {
	display: flex; align-items: center; gap: 10px;
	padding: 14px 16px; border: 2px solid #e3e3e3; border-radius: 12px;
	cursor: pointer; font-weight: 600; margin: 0;
	transition: border-color .15s, background .15s, color .15s;
}
.savuros-checkout #shipping_method li label .woocommerce-Price-amount { margin-left: auto; font-weight: 700; }
.savuros-checkout #shipping_method li input:checked + label {
	border-color: var(--co-accent); background: rgba(228,1,43,.05); color: var(--co-accent);
}

/* ----- Câmpuri pe 2 coloane (perechi first/last) ----- */
.savuros-checkout .woocommerce-billing-fields__field-wrapper,
.savuros-checkout .woocommerce-shipping-fields__field-wrapper,
.savuros-checkout .woocommerce-additional-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 0 18px;
}
.savuros-checkout .form-row {
	flex: 1 1 100%;
	margin: 0 0 16px;
	float: none !important;
	width: auto !important;
}
.savuros-checkout .form-row-first { flex: 1 1 calc(50% - 9px); }
.savuros-checkout .form-row-last  { flex: 1 1 calc(50% - 9px); }
@media (max-width: 560px) {
	.savuros-checkout .form-row-first,
	.savuros-checkout .form-row-last { flex: 1 1 100%; }
}

/* ----- Câmpuri moderne ----- */
.savuros-checkout .form-row label { font-size: 13px; font-weight: 600; color: #444; margin-bottom: 6px; display: block; }
.savuros-checkout .form-row input.input-text,
.savuros-checkout .form-row textarea,
.savuros-checkout .form-row select {
	width: 100%; box-sizing: border-box;
	padding: 13px 14px !important;
	border: 1px solid #d9d9d9 !important; border-radius: 10px !important;
	font-size: 15px; min-height: 50px; background: #fff;
	transition: border-color .15s, box-shadow .15s;
}
.savuros-checkout .form-row input.input-text:focus,
.savuros-checkout .form-row textarea:focus,
.savuros-checkout .form-row select:focus {
	border-color: var(--co-accent) !important;
	box-shadow: 0 0 0 3px rgba(228,1,43,.12) !important;
	outline: none;
}
.savuros-checkout .select2-container--default .select2-selection--single {
	height: 50px !important; border: 1px solid #d9d9d9 !important; border-radius: 10px !important;
	display: flex !important; align-items: center; padding: 0 8px;
}
.savuros-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }

/* ----- Plata (carduri) ----- */
.savuros-checkout #payment { background: transparent; border-radius: 0; padding: 0; }
.savuros-checkout #payment ul.payment_methods {
	list-style: none; margin: 0 0 16px; padding: 0; border: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.savuros-checkout #payment ul.payment_methods li {
	border: 2px solid #e3e3e3; border-radius: 12px; padding: 14px 16px; margin: 0; background: #fff;
}
.savuros-checkout #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--co-accent); background: rgba(228,1,43,.05);
}
.savuros-checkout #payment ul.payment_methods li > label { font-weight: 600; margin: 0; cursor: pointer; }
.savuros-checkout #payment .payment_box {
	background: transparent !important; margin: 10px 0 0; padding: 0; font-size: 13px; color: #666;
}
.savuros-checkout #payment .payment_box::before { display: none !important; }

/* ----- Buton Plasează comanda ----- */
.savuros-checkout #place_order {
	width: 100%; background: var(--co-accent) !important; color: #fff !important;
	border: 0 !important; border-radius: 12px !important;
	padding: 16px 20px !important; font-size: 16px !important; font-weight: 700 !important;
	margin-top: 12px; transition: filter .15s;
}
.savuros-checkout #place_order:hover { filter: brightness(.92); }

/* ----- Sumar (dreapta) ----- */
.savuros-checkout .savuros-co-summary {
	background: #fafafa; border: 1px solid #ececec; border-radius: 16px; padding: 22px;
}
.savuros-checkout .savuros-co-summary-title { margin-bottom: 16px; }
.savuros-checkout .savuros-co-summary .title-product-name {
	font-size: 17px; font-weight: 700; margin: 0 0 14px;
	padding-bottom: 12px; border-bottom: 2px solid var(--co-accent);
}
.savuros-checkout .savuros-co-summary .info-product { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.savuros-checkout .savuros-co-summary .product-thumble img {
	width: 56px; height: 56px; border-radius: 8px; object-fit: cover; display: block;
}
.savuros-checkout .savuros-co-summary .product-name { font-size: 14px; line-height: 1.4; }
.savuros-checkout .savuros-co-summary .product-quantity { color: #777; font-weight: 600; }
.savuros-checkout .savuros-co-summary .cart-subtotal,
.savuros-checkout .savuros-co-summary .order-total,
.savuros-checkout .savuros-co-summary .cart-discount,
.savuros-checkout .savuros-co-summary .fee {
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 0; border-top: 1px solid #ececec;
}
.savuros-checkout .savuros-co-summary .cart-subtotal h2,
.savuros-checkout .savuros-co-summary .order-total h2 { font-size: 15px; font-weight: 600; margin: 0; }
.savuros-checkout .savuros-co-summary .order-total .woocommerce-Price-amount {
	color: var(--co-accent); font-size: 20px; font-weight: 700;
}
/* „(include X TVA)" din Total — mic și discret (nu roșu/mare ca suma). */
.savuros-checkout .savuros-co-summary .order-total .includes_tax {
	font-size: 11px;
	font-weight: 400;
	color: #8a8a8a;
}
.savuros-checkout .savuros-co-summary .order-total .includes_tax .woocommerce-Price-amount {
	color: #8a8a8a;
	font-size: 11px;
	font-weight: 400;
}

/* ----- „Livrezi la o altă adresă?" ca un card cu chenar (vizibil) ----- */
.savuros-checkout #ship-to-different-address {
	margin: 0 0 18px;
	font-size: 15px;
}
.savuros-checkout #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 16px 18px;
	border: 2px solid #e3e3e3;
	border-radius: 12px;
	background: #fff;
	font-weight: 600;
	color: #333;
	cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
}
.savuros-checkout #ship-to-different-address label:hover {
	border-color: #cfcfcf;
}
/* Bifat → evidențiat roșu (ca opțiunile din Kanpai) */
.savuros-checkout #ship-to-different-address label:has(input:checked) {
	border-color: var(--co-accent);
	background: rgba(228,1,43,.05);
	color: var(--co-accent);
}
.savuros-checkout #ship-to-different-address input.input-checkbox {
	width: 18px; height: 18px;
	accent-color: var(--co-accent);
	margin: 0;
}

/* ----- Diverse ----- */
.savuros-checkout .woocommerce-terms-and-conditions-wrapper { margin: 8px 0; font-size: 13px; }
.savuros-checkout .savuros-co-noship { color: #999; font-size: 13px; margin: 0; }

/* COȘ — coloana etichetei „Livrare" e prea lată (tema îi dă flex:1 = 50%).
   O îngustăm ca metodele de livrare să aibă mai mult spațiu. */
.woocommerce-cart .cart-collaterals .woocommerce-shipping-totals > h2 {
	flex: 0 0 90px !important;
	max-width: 90px !important;
}
.woocommerce-cart .cart-collaterals .woocommerce-shipping-totals > div {
	flex: 1 1 auto !important;
}

/* Rândul nativ de metode — ascuns când JS-ul preia controlul prin butoanele Expediază/Ridicare.
   (Accesibil pentru screen-readeri, dar invizibil vizual.) */
.savuros-checkout .savuros-co-methods-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}

/* =========================================================
   SAVUROS — Caseta „Totaluri Coș" (pagina de coș): coloana label
   mai îngustă (mai mult loc pentru sume) + TVA din paranteză mai mic.
   ========================================================= */
.woocommerce-cart .cart-collaterals .cart_totals .cart-subtotal,
.woocommerce-cart .cart-collaterals .cart_totals .order-total {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
/* Label îngust (Subtotal / Total) */
.woocommerce-cart .cart-collaterals .cart_totals .cart-subtotal .title,
.woocommerce-cart .cart-collaterals .cart_totals .order-total .title {
	flex: 0 0 90px;
	max-width: 90px;
}
/* Valoarea ocupă restul, aliniată la dreapta */
.woocommerce-cart .cart-collaterals .cart_totals .cart-subtotal > *:last-child,
.woocommerce-cart .cart-collaterals .cart_totals .order-total > *:last-child {
	flex: 1 1 auto;
	text-align: right;
}
/* „(include X TVA)" — mai mic și discret, inclusiv SUMA din paranteză */
.woocommerce-cart .cart-collaterals .cart_totals .includes_tax,
.woocommerce-cart .cart-collaterals .cart_totals .order-total small,
.woocommerce-cart .cart-collaterals .cart_totals .tax_label {
	font-size: 11px;
	font-weight: 400;
	color: #8a8a8a;
	display: inline;
}
.woocommerce-cart .cart-collaterals .cart_totals .includes_tax .woocommerce-Price-amount {
	font-size: 11px;
	font-weight: 400;
	color: #8a8a8a;
}
