/*
 * Krafty Suite — ενοποιημένο CSS
 * Παλέτα: graphite #171717, gold #c6a04a, coral #ff6e55, ivory #f7f2e8.
 * Ενότητες: (A) mini-cart panel, (B) autocomplete dropdown, (C) icon fixes.
 */

/* =====================================================================
 * (A) MINI-CART PANEL
 * ===================================================================== */

#main .kraft_minicart_wrapper {
	width: min(370px, calc(100vw - 30px)) !important;
	overflow: hidden !important;
	background:
		radial-gradient(circle at 100% 0%, rgba(198, 160, 74, .12), transparent 38%),
		linear-gradient(145deg, #222020 0%, #171717 52%, #121212 100%) !important;
	border: 1px solid rgba(198, 160, 74, .55) !important;
	border-radius: 14px !important;
	box-shadow: 0 22px 50px rgba(0, 0, 0, .56), 0 0 28px rgba(198, 160, 74, .12) !important;
	color: #f7f2e8 !important;
}

/* Αγκύρωση δεξιά ώστε να ανοίγει προς τα αριστερά (δεν βγαίνει εκτός οθόνης). */
#main .kraft_little_shopping_bag_wrapper .kraft_minicart_wrapper {
	left: auto !important;
	right: 0 !important;
}

#main .kraft_minicart_wrapper .kraft_minicart {
	padding: 0 !important;
	background: transparent !important;
}

/* Header (inject από JS). */
#main .kraft_minicart_wrapper .kcp-heading {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 18px 21px 15px !important;
	border-bottom: 1px solid rgba(247, 242, 232, .10) !important;
	background: rgba(255, 255, 255, .018) !important;
}

#main .kraft_minicart_wrapper .kcp-heading__title {
	margin: 0 !important;
	color: #c6a04a !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 2.1px !important;
	text-transform: uppercase !important;
}

#main .kraft_minicart_wrapper .kcp-heading__count {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 28px !important;
	min-height: 24px !important;
	padding: 4px 8px !important;
	border: 1px solid rgba(198, 160, 74, .42) !important;
	border-radius: 999px !important;
	color: #f7f2e8 !important;
	background: rgba(198, 160, 74, .10) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	white-space: nowrap !important;
}

/* Λίστα προϊόντων. */
#main .kraft_minicart_wrapper .cart_list,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart {
	max-height: min(430px, 56vh) !important;
	margin: 0 !important;
	padding: 8px 13px !important;
	overflow-y: auto !important;
	background: transparent !important;
	scrollbar-color: rgba(198, 160, 74, .72) transparent;
	scrollbar-width: thin;
}

#main .kraft_minicart_wrapper .cart_list::-webkit-scrollbar,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart::-webkit-scrollbar {
	width: 6px;
}

#main .kraft_minicart_wrapper .cart_list::-webkit-scrollbar-thumb,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart::-webkit-scrollbar-thumb {
	background: rgba(198, 160, 74, .68);
	border-radius: 10px;
}

#main .kraft_minicart_wrapper .cart_list > li,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li {
	position: relative !important;
	min-height: 76px !important;
	margin: 0 !important;
	padding: 13px 12px !important;
	border-bottom: 1px solid rgba(247, 242, 232, .09) !important;
	border-radius: 10px !important;
	background: transparent !important;
	transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

#main .kraft_minicart_wrapper .cart_list > li:last-child,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:last-child {
	border-bottom: 0 !important;
}

#main .kraft_minicart_wrapper .cart_list > li:hover,
#main .kraft_minicart_wrapper .cart_list > li:focus-within,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:hover,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:focus-within {
	background: linear-gradient(90deg, rgba(198, 160, 74, .15), rgba(255, 255, 255, .045)) !important;
	box-shadow: inset 0 0 0 1px rgba(198, 160, 74, .20), 0 7px 16px rgba(0, 0, 0, .20) !important;
	transform: translateY(-1px) !important;
}

#main .kraft_minicart_wrapper .cart_list > li a,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li a {
	color: #f7f2e8 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.42 !important;
	text-decoration: none !important;
	transition: color .2s ease !important;
}

#main .kraft_minicart_wrapper .cart_list > li:hover a:not(.remove),
#main .kraft_minicart_wrapper .cart_list > li:focus-within a:not(.remove),
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:hover a:not(.remove),
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:focus-within a:not(.remove) {
	color: #f3ce77 !important;
}

#main .kraft_minicart_wrapper .cart_list > li img,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li img {
	width: 58px !important;
	height: 58px !important;
	margin: 0 13px 0 0 !important;
	border: 1px solid rgba(198, 160, 74, .30) !important;
	border-radius: 7px !important;
	object-fit: cover !important;
	background: #111 !important;
	box-shadow: 0 7px 16px rgba(0, 0, 0, .22) !important;
	filter: brightness(.96) saturate(.92) !important;
	transition: transform .2s ease, filter .2s ease, box-shadow .2s ease !important;
}

#main .kraft_minicart_wrapper .cart_list > li:hover img,
#main .kraft_minicart_wrapper .cart_list > li:focus-within img,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:hover img,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart > li:focus-within img {
	filter: brightness(1.12) saturate(1.03) !important;
	transform: scale(1.035) !important;
	box-shadow: 0 8px 20px rgba(198, 160, 74, .18) !important;
}

#main .kraft_minicart_wrapper .cart_list .quantity,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart .quantity,
#main .kraft_minicart_wrapper .cart_list .woocommerce-Price-amount,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart .woocommerce-Price-amount {
	color: #d9d3ca !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

#main .kraft_minicart_wrapper .cart_list a.remove,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart a.remove {
	position: absolute !important;
	top: 9px !important;
	right: 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 21px !important;
	height: 21px !important;
	border: 1px solid rgba(247, 242, 232, .18) !important;
	border-radius: 50% !important;
	color: #d9d3ca !important;
	background: rgba(0, 0, 0, .18) !important;
	font-size: 16px !important;
	line-height: 1 !important;
	opacity: .72 !important;
	transition: all .2s ease !important;
}

#main .kraft_minicart_wrapper .cart_list a.remove:hover,
#main .kraft_minicart_wrapper .cart_list a.remove:focus,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart a.remove:hover,
#main .kraft_minicart_wrapper ul.woocommerce-mini-cart a.remove:focus {
	border-color: #ff6e55 !important;
	color: #fff !important;
	background: #ff6e55 !important;
	opacity: 1 !important;
}

/* Empty state. */
#main .kraft_minicart_wrapper .woocommerce-mini-cart__empty-message,
#main .kraft_minicart_wrapper .empty,
#main .kraft_minicart_wrapper .kcp-empty-message {
	display: block !important;
	margin: 0 !important;
	padding: 28px 20px !important;
	color: #d9d3ca !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	text-align: center !important;
}

/* Footer (χτίζεται από JS μετά από κάθε fragment refresh). */
#main .kraft_minicart_wrapper .kraft_minicart_checkout.kcp-footer-ready {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-top: 1px solid rgba(247, 242, 232, .12) !important;
	background: rgba(0, 0, 0, .12) !important;
	box-sizing: border-box !important;
}

#main .kraft_minicart_wrapper .kcp-checkout-inner {
	width: 100% !important;
	margin: 0 !important;
	padding: 20px 24px 25px !important;
	box-sizing: border-box !important;
}

#main .kraft_minicart_wrapper .kcp-subtotal-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 0 17px !important;
	padding: 0 0 15px !important;
	border-bottom: 1px solid rgba(247, 242, 232, .16) !important;
	box-sizing: border-box !important;
}

#main .kraft_minicart_wrapper .kcp-subtotal-label {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	color: #c6a04a !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 1.9px !important;
	line-height: 1.25 !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

#main .kraft_minicart_wrapper .kcp-subtotal-row .amount,
#main .kraft_minicart_wrapper .kcp-subtotal-row .woocommerce-Price-amount,
#main .kraft_minicart_wrapper .kcp-subtotal-row strong,
#main .kraft_minicart_wrapper .kcp-subtotal-price {
	flex: 0 0 auto !important;
	color: #f7f2e8 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

#main .kraft_minicart_wrapper .kcp-actions {
	display: flex !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

#main .kraft_minicart_wrapper .kcp-actions > a.kcp-action-button {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 11px 12px !important;
	border: 1px solid rgba(198, 160, 74, .86) !important;
	border-radius: 999px !important;
	box-sizing: border-box !important;
	color: #f7f2e8 !important;
	background: linear-gradient(145deg, #211f1c 0%, #151515 60%, #0f0f0f 100%) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025), 0 7px 16px rgba(0, 0, 0, .27) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 1.45px !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

#main .kraft_minicart_wrapper .kcp-actions > a.kcp-action-button:hover,
#main .kraft_minicart_wrapper .kcp-actions > a.kcp-action-button:focus-visible,
#main .kraft_minicart_wrapper .kcp-actions > a.kcp-action-button.kcp-action-hover {
	color: #fff7e5 !important;
	border-color: #f0c96b !important;
	background: linear-gradient(105deg, #151515 0%, #302817 45%, #171717 72%, #151515 100%) !important;
	box-shadow: inset 0 0 0 1px rgba(240, 201, 107, .18), 0 11px 24px rgba(0, 0, 0, .40), 0 0 15px rgba(198, 160, 74, .18) !important;
	transform: translateY(-2px) !important;
}

#main .kraft_minicart_wrapper .kcp-actions > a.kcp-action-button:active {
	transform: translateY(0) !important;
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, .36) !important;
}

@media (max-width: 480px) {
	#main .kraft_minicart_wrapper { width: min(340px, calc(100vw - 20px)) !important; }
	#main .kraft_minicart_wrapper .kcp-checkout-inner { padding: 18px 20px 22px !important; }
	#main .kraft_minicart_wrapper .kcp-actions { flex-direction: column !important; }
}

/* =====================================================================
 * (B) AUTOCOMPLETE DROPDOWN (μόνο τίτλος, χωρίς εικόνες)
 * ===================================================================== */

.ksac-panel {
	position: fixed;
	z-index: 1000010;
	max-height: 60vh;
	padding: 6px;
	border: 1px solid rgba(198, 160, 74, .55);
	border-radius: 12px;
	background: linear-gradient(150deg, #211f1c 0%, #171717 55%, #121212 100%);
	box-shadow: 0 18px 46px rgba(0, 0, 0, .5), 0 0 18px rgba(198, 160, 74, .12);
	overflow-y: auto;
	opacity: 0;
	transform: translateY(-6px);
	pointer-events: none;
	transition: opacity .16s ease, transform .16s ease;
	box-sizing: border-box;
	scrollbar-color: rgba(198, 160, 74, .72) transparent;
	scrollbar-width: thin;
}

.ksac-panel.ksac-open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.ksac-item {
	display: block;
	padding: 11px 13px;
	border-radius: 9px;
	color: #f7f2e8;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: background-color .16s ease, color .16s ease;
}

.ksac-item + .ksac-item {
	margin-top: 2px;
}

.ksac-item:hover,
.ksac-item:focus-visible,
.ksac-item.ksac-active {
	color: #f3ce77;
	background: linear-gradient(90deg, rgba(198, 160, 74, .16), rgba(255, 255, 255, .04));
	outline: none;
}

.ksac-item mark {
	color: #f3ce77;
	background: transparent;
	font-weight: 800;
}

.ksac-empty {
	padding: 13px;
	color: #b9b3a8;
	font-size: 13px;
	text-align: center;
}

.ksac-more {
	display: block;
	width: 100%;
	margin-top: 4px;
	padding: 11px 12px;
	border: 0;
	border-top: 1px solid rgba(247, 242, 232, .1);
	border-radius: 0 0 8px 8px;
	color: #c6a04a;
	background: transparent;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .16s ease, background-color .16s ease;
}

.ksac-more:hover,
.ksac-more:focus-visible {
	color: #f3ce77;
	background: rgba(198, 160, 74, .08);
	outline: none;
}

/* =====================================================================
 * (C) SEARCH TAB (compact panel — από το παλιό Cart Panel, βελτιωμένο)
 * ===================================================================== */

#main .kraft_right_header_icons .search_trigger,
#main .header_icons .search_trigger {
	cursor: pointer !important;
}

.kcp-search-tab {
	position: fixed !important;
	z-index: 1000005 !important;
	width: min(340px, calc(100vw - 24px));
	padding: 13px !important;
	border: 1px solid rgba(198, 160, 74, .62) !important;
	border-radius: 12px !important;
	background:
		radial-gradient(circle at top right, rgba(198, 160, 74, .16), transparent 48%),
		linear-gradient(145deg, #25221d 0%, #121212 68%) !important;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .48), 0 0 18px rgba(198, 160, 74, .13) !important;
	box-sizing: border-box !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transform: translateY(-7px) scale(.98) !important;
	transform-origin: top right !important;
	transition: opacity .18s ease, transform .18s ease !important;
}

.kcp-search-tab.kcp-search-tab--open {
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: translateY(0) scale(1) !important;
}

.kcp-search-tab__form {
	display: flex !important;
	align-items: stretch !important;
	gap: 8px !important;
	margin: 0 !important;
}

.kcp-search-tab__field {
	width: 100% !important;
	min-width: 0 !important;
	height: 44px !important;
	padding: 0 13px !important;
	border: 1px solid rgba(247, 242, 232, .22) !important;
	border-radius: 8px !important;
	outline: 0 !important;
	color: #f7f2e8 !important;
	background: rgba(0, 0, 0, .28) !important;
	box-shadow: none !important;
	font-size: 14px !important;
}

.kcp-search-tab__field::placeholder {
	color: rgba(247, 242, 232, .58) !important;
}

.kcp-search-tab__field:focus {
	border-color: #c6a04a !important;
	box-shadow: 0 0 0 3px rgba(198, 160, 74, .16) !important;
}

.kcp-search-tab__submit {
	flex: 0 0 auto !important;
	height: 44px !important;
	padding: 0 15px !important;
	border: 1px solid #c6a04a !important;
	border-radius: 8px !important;
	color: #f7f2e8 !important;
	background: #171717 !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 1.3px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.kcp-search-tab__submit:hover,
.kcp-search-tab__submit:focus-visible {
	color: #fff7e5 !important;
	background: #292418 !important;
	box-shadow: 0 0 13px rgba(198, 160, 74, .16) !important;
	transform: translateY(-1px) !important;
	outline: none !important;
}

.kcp-search-tab__close {
	position: absolute !important;
	top: 3px !important;
	right: 5px !important;
	width: 26px !important;
	height: 26px !important;
	padding: 0 !important;
	border: 0 !important;
	color: rgba(247, 242, 232, .72) !important;
	background: transparent !important;
	font-size: 18px !important;
	line-height: 26px !important;
	text-align: center !important;
	cursor: pointer !important;
}

.kcp-search-tab__close:hover,
.kcp-search-tab__close:focus-visible {
	color: #f0c96b !important;
	background: transparent !important;
	outline: none !important;
}

/* Όσο το compact tab είναι ανοιχτό, το αρχικό full-page search μένει κρυφό. */
html.kcp-search-tab-open .search_input.kraft_search_input,
html.kcp-search-tab-open .search_input,
html.kcp-search-tab-open .kraft_search_input {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* =====================================================================
 * (D) ICON FIXES (search icon visibility)
 * ===================================================================== */

/* Το θέμα χρωματίζει το εικονίδιο αναζήτησης μόνο σε :hover — του δίνουμε
   default χρώμα ώστε να φαίνεται στο σκούρο header (desktop). */
header .search_trigger .dripicons-search,
header .kraft_right_header_icons .icon.dripicons-search {
	color: #cda855 !important;
	opacity: 1 !important;
}

/* Κάτω από 479px κρύβουμε το desktop search trigger δίπλα στο καλάθι
   (έπεφτε πάνω στο καλάθι). Σε mobile χρησιμοποιούμε το δικό μας κουμπί. */
@media only screen and (max-width: 479px) {
	header .kraft_right_header_icons .search_trigger,
	header .header_social_icons .search_trigger_mobile {
		display: none !important;
	}
}

/* ---------------------------------------------------------------------
   MOBILE SEARCH BUTTON (δικό μας, δίπλα στο hamburger)
   Το theme κρύβει το εικονίδιο αναζήτησης σε mobile, οπότε φτιάχνουμε
   δικό μας κουμπί μέσα στο .dl-menuwrapper. Κρυφό σε desktop, ορατό ≤990px.
   --------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   MOBILE SEARCH BUTTON
   Το site έχει ήδη account menu που κάθεται στο header root σε
   συγκεκριμένες συντεταγμένες (top/right ανά breakpoint). Τοποθετούμε
   το κουμπί αναζήτησης στην ΙΔΙΑ σειρά, αριστερά του account icon, με
   τα ίδια breakpoints — ώστε να μη συγκρούεται με hamburger/account/cart.
   --------------------------------------------------------------------- */
.ksuite-mobile-search {
	display: none;
	position: absolute;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: #cda855;
	cursor: pointer;
	z-index: 99999;
	transition: color .2s ease, transform .2s ease;
	-webkit-tap-highlight-color: transparent;
}

.ksuite-mobile-search:hover,
.ksuite-mobile-search:focus-visible {
	color: #f0c96b;
	outline: none;
}

.ksuite-mobile-search:focus-visible {
	box-shadow: 0 0 0 2px rgba(198, 160, 74, .55);
	border-radius: 8px;
}

.ksuite-mobile-search:active {
	transform: translateX(-50%) scale(.92);
}

.ksuite-mobile-search svg {
	display: block;
	width: 20px;
	height: 20px;
}

/* Κρυμμένο στο scroll (το header γίνεται λεπτό — αποφεύγουμε τη σύγκρουση). */
.ksuite-mobile-search--scrolled {
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Tablet/mobile: κεντραρισμένο ΚΑΤΩ από το εικονίδιο του καλαθιού.
   Η ακριβής θέση (left/top) υπολογίζεται από το JS με βάση τη θέση του
   καλαθιού· εδώ ορίζουμε μόνο ορατότητα + fallback. */
@media only screen and (max-width: 960px) {
	.ksuite-mobile-search {
		display: inline-flex;
		top: 78px;
		right: 20px; /* fallback αν δεν προλάβει το JS */
	}
}

@media only screen and (max-width: 480px) {
	.ksuite-mobile-search {
		top: 74px;
	}
}

/* =====================================================================
 * (E) ACCESSIBILITY — ενιαίο focus-visible ring για τα custom στοιχεία
 * ===================================================================== */

.ksac-item:focus-visible,
.ksac-more:focus-visible,
.kcp-search-tab__field:focus-visible,
.kcp-search-tab__submit:focus-visible,
.kcp-search-tab__close:focus-visible {
	box-shadow: 0 0 0 2px rgba(198, 160, 74, .55) !important;
}

@media (prefers-reduced-motion: reduce) {
	.ksac-panel,
	.kcp-search-tab,
	#main .kraft_minicart_wrapper .kcp-actions > a.kcp-action-button,
	#main .kraft_minicart_wrapper .cart_list > li {
		transition: none !important;
	}
}
