.carousel-control-next:focus,
.carousel-control-prev:focus,
a:link, a:visited, a:hover, a:focus, a:active {
	color: #0d223f;
}

/* Global: Hide Germanized Legal Info for all shops */
.single-product .legal-price-info,
.single-product .wc-gzd-additional-info {
	display: none !important;
}


.bg-primary {
	background-color: #0d223f !important;
}

.bg-secondary {
	background-color: #d9c49c !important;
}

.category-carousel .carousel-control-next-icon,
.category-carousel .carousel-control-prev-icon { 
	background-color: #0d223f;
	border: 5px solid #0d223f;
}

.search-close {	
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23d9c49c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
}

.category-carousel .carousel-control-next-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.category-carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.text-primary {
	color: #0d223f !important;
}

.text-secondary {
	color: #fff !important;
}

.box,
a.btn,
.cart_count,
.btn {
	background-color: #0d223f;
	border-color: #0d223f;
	color: #fff;
	text-decoration: none !important;
	text-transform: uppercase;
}

/* Basic Header Cart Fix for all designs */
header .rounded-circle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 18px !important;
    height: 18px !important;
    line-height: 1 !important;
    font-size: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    top: -2px; /* Slight adjustment */
    bottom: auto !important;
}

.btn.outline {
	background-color: transparent !important;
	border-color: #0d223f;
	color: #0d223f;
	text-decoration: none !important;
}

.btn.outline:hover {
	background-color: #0d223f !important;
	color: #fff !important;
}

.btn:hover {
	color: #fff;
	background-color: #0d223fee;
}

.nav-pills .nav-link, 
.nav-pills .show > .nav-link {
	color: #0d223f;
	border: 1px solid #0d223f;
	background: #fff;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
	color: #fff;
	background-color: #0d223f;
}

.nav-pills .nav-link.active {
	color: #fff}

.modal-header {
    background-color: #d9c49c;
	color: #0d223f;
}

.offcanvas .btn-close {
    <!--background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d223f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e")-->
}

.offcanvas .dropdown-item:focus, .dropdown-item:hover {
    background-color: #d9c49c;
	color: #0d223f !important;
}

header .form-control.searchinput {
	color: #d9c49c;
	border: 0;
	border-bottom: 1px solid #d9c49c60;
	background-color: transparent;
}

header .form-control.searchinput:focus {
	border-bottom: 1px solid #d9c49c60;
}

header .search_button i,
header .searchinput::placeholder,
header .searchinput:focus {
	color: #d9c49c;
}

header .searchinput:focus {
	background-color: #d9c49c20;
}

.inner-hover-bottom .woocommerce-loop-product__link:hover::before {
	background-color: #d9c49c90;
}

.inner-hover-bottom .woocommerce-loop-product__link::before {
	background-color: #d9c49c;
	border: 1px solid #d9c49c;
	color: #0d223f;
}

.progressCart__item:before {
	border-left: 1px solid #0d223f;
}

.progressCart__item:after {
	color: #0d223f;
	border: 1px solid #0d223f;
}

.progressCart__item.progress__item--completed:after {
	background: #0d223f;
}

.progressCart__item.progress__item--active:after {
	background: #0d223f;
}

.progressCart__info .dropdown-item.active, 
.progressCart__info .dropdown-item:active {
	background-color: #0d223f !important
}

.configurate_print_position input:checked + label,
.configurate_quantity input:checked + label {
	border-color: #0d223f !important;
}

.offcanvas nav > ul > li > a {
	border-bottom: 1px solid #d9c49c60;
}


.alg_checkout_files_upload_button {
	background-color: none;
	border-color: #0d223f !important;
}




/* ==========================================================================
   MODERN UI REDESIGN (Variable & Reversible)
   ========================================================================== */

/* 1. Global Card Overrides */
.single-product .bg-light.p-4.mt-2,
.single-product .p-4.bg-light,
.single-product .progressContainer {
	background-color: #ffffff !important;
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 25px rgba(0,0,0,0.06) !important;
	margin-bottom: 2.5rem !important;
	padding: 30px !important;
}

/* 2. Configurator Steps Refinement */
.single-product .progressCart {
	padding-left: 0 !important;
	margin-top: 1.5rem !important;
	counter-reset: step-counter;
}

.single-product .progressCart__item {
	opacity: 1 !important;
	margin-bottom: 3rem !important;
	display: block !important;
	padding-left: 0 !important;
	counter-increment: step-counter;
}

/* Hide original vertical line and old checkmark circles */
.single-product .progressCart__item:before,
.single-product .progressCart__item:after {
	display: none !important;
}

.single-product .progressCart__item .h5:before {
	/* Use Reseller color for icons */
	content: counter(step-counter); /* If steps are used */
	background: transparent !important;
			border: 1.5px solid #0d223f !important;
		width: 26px !important;
		height: 26px !important;
		margin-right: 12px;
		font-size: 11px !important;
		color: #0d223f !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	vertical-align: middle;
}

.single-product .progressCart__item.progress__item--completed .h5:before,
.single-product .progressCart__item.progress__item--active .h5:before {
	background: #0d223f !important;
	color: #ffffff !important;
	content: "\f00c"; /* FontAwesome checkmark */
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}

.single-product .progressCart__item .h5 {
	display: flex !important;
	align-items: center !important;
	font-weight: 700 !important;
			margin-bottom: 1.2rem !important;
		font-size: 1.15rem !important;
		color: #0d223f !important;
}

/* 3. Quantity Tiles (Price Grid) */
.single-product .configurate_quantity label {
	border-radius: 10px !important;
	transition: all 0.25s ease;
	background: #f8f9fa !important;
	border: 1px solid #eee !important;
			padding: 10px 8px !important;
		font-size: 0.9rem !important;
		margin-bottom: 12px !important;
	cursor: pointer;
	text-align: center;
	display: block !important;
}

.single-product .configurate_quantity label:hover {
	border-color: #0d223f !important;
	transform: translateY(-3px);
	box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

.single-product .configurate_quantity input:checked + label {
	background: #ffffff !important;
	border: 2px solid #0d223f !important;
	color: #0d223f !important;
	box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* 4. Pricing & Buttons */
.single-product h1 {
	font-size: 2.6rem !important;
	font-weight: 800 !important;
	color: #333;
	letter-spacing: -0.5px;
}

.single-product .btn {
	border-radius: 10px !important;
	padding: 14px 30px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Primary Button Highlighting */
.single-product .btn-lg.text-white.text-uppercase,
.single-product .single_add_to_cart_button {
	background-color: #0d223f !important;
	border: none !important;
	box-shadow: 0 6px 18px #0d223f50 !important;
}

.single-product .btn-lg.text-white.text-uppercase:hover,
.single-product .single_add_to_cart_button:hover {
	background-color: #0d223fcc !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 25px #0d223f70 !important;
}

/* 5. Custom Adjustments for Printing Accordions - Scoped */
.single-product .configurate_print_position .accordion-button {
	border-radius: 10px !important;
	background-color: #f8f9fa !important;
	margin-bottom: 10px;
	border: 1px solid #eee !important;
	padding: 15px !important;
}

.single-product .configurate_print_position .accordion-button:not(.collapsed) {
	background-color: #ffffff !important;
	border-color: #0d223f !important;
	box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* 6. Internal Information Combined Tile */
.single-product .internal-info-tile {
	background-color: #ffffff !important;
	border: 1px solid #eee !important;
	border-radius: 15px !important;
	box-shadow: 0 5px 25px rgba(0,0,0,0.06) !important;
}

.single-product .internal-info-tile .accordion-button,
.single-product .internal-info-tile .form-select {
	transition: all 0.3s ease !important;
	cursor: pointer;
}

.single-product .internal-info-tile .accordion-button:hover,
.single-product .internal-info-tile .form-select:hover {
	border-color: #0d223f !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important;
}

.single-product .internal-info-tile .form-select {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
}

/* 7. Product Info Tile (Zusatzinfos & Lieferzeit) */
.single-product .product-info-tile {
	background-color: #ffffff !important;
	border: 1px solid #eee !important;
	border-radius: 15px !important;
	box-shadow: 0 5px 25px rgba(0,0,0,0.06) !important;
}

.single-product .product-info-tile .woocommerce-tabs {
	border: none !important;
	padding: 0 !important;
}

.single-product .product-info-tile .woocommerce-tabs .nav-link.active {
	color: #0d223f !important;
	border-bottom: 2px solid #0d223f !important;
	background: transparent !important;
}

.single-product .product-info-tile ul {
	margin-top: 15px;
	margin-bottom: 0;
	padding-left: 20px;
}

/* 9. Product Image Tile (Frank-Werbeartikel) */
.single-product .product-image-tile {
	background-color: #ffffff !important;
	border: 1px solid #eee !important;
	border-radius: 20px !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.08) !important;
	padding: 30px !important;
	transition: all 0.3s ease !important;
}

.single-product .product-image-tile .flex-control-thumbs {
	display: flex !important;
	justify-content: center !important;
	gap: 10px !important;
	margin-top: 20px !important;
	padding: 0 !important;
	list-style: none !important;
}

.single-product .product-image-tile .flex-control-thumbs li {
	width: 60px !important;
}

.single-product .product-image-tile .flex-control-thumbs li img {
	border-radius: 8px !important;
	border: 1px solid #eee !important;
	padding: 3px !important;
	transition: all 0.2s ease !important;
	cursor: pointer;
}

.single-product .product-image-tile .flex-control-thumbs li img:hover {
	border-color: #0d223f !important;
	transform: scale(1.05);
}

.single-product .product-image-tile .flex-control-thumbs li img.flex-active {
	border-color: #0d223f !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}


/* ===================================================
   FRANK-WERBEARTIKEL HEADER - MASTER DESIGN BLOCK
   Version: 11.4 - Single Source of Truth
   =================================================== */

/* 1. Container-Synchronisation (nur >1400px) */
@media (min-width: 1400px) {
	header .container,
	main .container,
	.fwp-main-row {
		max-width: 1320px !important;
		width: 1320px !important;
		margin: 0 auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	/* Logo-Ausrichtung: linke Kante bündig mit Produktkachel */
	header .col-lg-2 {
		padding-left: 30px !important;
	}
	/* Hamburger-Ausrichtung: rechte Kante bündig mit Produktkachel */
	header .order-lg-3 {
		padding-right: 30px !important;
	}
}

/* 2. Header-Grundgestaltung */
header.sticky-top {
	background-color: #ffffff !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
	border-bottom: 1px solid #f0f0f0;
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}

/* 3. Header-Row: alle Kinder vertikal zentrieren */
header .row {
	display: flex !important;
	align-items: center !important;
}

/* 4. Logo */
header .logo {
	max-height: 50px;
	width: auto !important;
}

/* 5. Suchfeld (Pillenform) */
header .searchinput {
	background-color: #f4f6f8 !important;
	border: 1px solid #eef1f4 !important;
	border-radius: 50px !important;
	padding-left: 20px !important;
	padding-right: 45px !important;
	color: #0d223f !important;
	font-weight: 300;
	transition: all 0.3s ease;
	height: 48px !important;
}

header .searchinput:focus {
	background-color: #ffffff !important;
	box-shadow: 0 10px 25px rgba(13, 34, 63, 0.08) !important;
	border-color: #0d223f !important;
}

header .search_button {
	color: #0d223f !important;
	right: 15px !important;
	height: 48px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

header .search-close {
	right: 45px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

/* 6. Rechte Seite: Flex-Container, Elemente nebeneinander */
header .order-lg-3 {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 24px !important;
	flex-wrap: nowrap !important;
}

/* 7. Allgemeine Icon/Link-Farbe */
header i,
header a,
header span:not(.bg-secondary) {
	color: #0d223f !important;
}

/* 8. Warenkorb-Badge */
header .bg-secondary {
	background-color: #d9c49c !important;
	color: #0d223f !important;
	font-weight: 700;
}

/* 9. Hamburger-Icon */
header .menu-white i {
	color: #0d223f !important;
}

/* 10. Dropdown-Menü */
header .dropdown-menu {
	border: none !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important;
	border-radius: 12px !important;
	padding: 10px !important;
}

header .dropdown-item:hover {
	background-color: #f4f6f8 !important;
	color: #0d223f !important;
	border-radius: 6px;
}

/* 11. Kundenbereich-Button (Pillenform, dunkelblau) */
header .btn-primary,
header a.btn.btn-primary,
header button.btn-primary {
	background-color: #0d223f !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 8px 22px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 13px !important;
	letter-spacing: 0.6px !important;
	color: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important; /* Abstand zwischen Text-Span und Icon */
	box-shadow: 0 4px 15px rgba(13, 34, 63, 0.2) !important;
	transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
	height: auto !important;
	margin: 0 !important;
	transform: none !important; /* Kein manuelles translateY mehr nötig dank row align-items: center */
}

header .btn-primary:hover,
header a.btn.btn-primary:hover,
header button.btn-primary:hover {
	background-color: #163155 !important;
	box-shadow: 0 6px 20px rgba(13, 34, 63, 0.3) !important;
}

/* Alle Elemente im Button: Farbe erzwingen */
header .btn-primary span,
header .btn-primary i,
header button.btn-primary span,
header button.btn-primary i {
	color: #ffffff !important;
}



/* -------- Produkt-Kacheln (Kartendesign) -------- */
.single-product .product-header-tile,
.single-product .product-info-tile,
.single-product .product-image-tile,
.single-product .product-service-tile,
.single-product .product-price-tile,
.single-product .internal-info-tile {
	background-color: #ffffff !important;
	border: 1px solid #eee !important;
	border-radius: 20px !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.08) !important;
	padding: 40px !important;
	margin-top: 0 !important;
	transition: all 0.3s ease !important;
}

.single-product .product-header-tile h1 {
	margin-top: 0 !important;
	margin-bottom: 15px !important;
	font-size: 2.4rem !important;
}

.single-product .product-header-tile .sku_wrapper {
	display: block !important;
	margin-bottom: 25px !important;
	opacity: 0.6;
	font-size: 0.9rem;
}

.single-product .product-header-tile .woocommerce-product-details__short-description p {
	line-height: 1.7 !important;
	margin-bottom: 0 !important;
}

/* 12. Badges Styling for Frank-Werbeartikel (Muted Gold) */
.single-product .product-header-tile .fw-badge {
	background-color: #C5B398 !important;
	color: #ffffff !important;
	padding: 8px 15px !important;
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	display: inline-flex !important;
	align-items: center !important;
	margin-bottom: 25px !important;
	margin-top: 0 !important;
	border-radius: 3px !important;
	letter-spacing: 0.5px !important;
}

.single-product .product-header-tile .fw-badge.bg-danger {
	background-color: #dc3545 !important;
}

.single-product .product-header-tile .fw-badge.bg-dark {
	background-color: #212529 !important;
}

/* 13. Description "Show More" Link styling for FW */
.single-product .product-header-tile #module a {
	color: #C5B398 !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	font-size: 0.85rem !important;
	text-decoration: none !important;
	letter-spacing: 0.5px !important;
	transition: all 0.3s ease !important;
	display: inline-block !important;
	margin-top: 15px !important;
}

.single-product .product-header-tile #module a:hover {
	color: #0d223f !important;
	opacity: 0.8;
}

.single-product .product-header-tile #module a:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 8px;
	font-size: 0.75rem;
}

.single-product .product-header-tile #module a.collapsed:after {
	content: "mehr anzeigen \f078" !important;
}

.single-product .product-header-tile #module a:not(.collapsed):after {
	content: "weniger anzeigen \f077" !important;
}

/* 10. Hide Germanized Legal Info for FW */
.single-product .legal-price-info,
.single-product .wc-gzd-additional-info {
	display: none !important;
}
