/* Product page-only styles. Critical gallery sizing remains inline in product.twig. */

.admin-quick-edit {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99999;
	padding: 12px 18px;
	border-radius: 999px;
	color: #fff;
	background: #1f2937;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
	font-size: 14px;
	font-weight: 600;
}
.admin-quick-edit:hover { color: #fff; background: #000; text-decoration: none; }
.open-cart .admin-quick-edit { z-index: 0; }

.mfp-img {
	cursor: zoom-in;
	transition: transform .15s ease;
	transform-origin: center center;
	touch-action: none;
	user-select: none;
}
.mfp-img.is-zoomed { cursor: grab; }
.mfp-img.is-dragging { cursor: grabbing; }
.mfp-figure { overflow: hidden; }
@media (max-width: 768px) {
	.mfp-img.is-zoomed { transform: scale(4); }
}

[id*="product-image"] .colorlabel.position2 + .colorlabel.position3 { margin-top: 100px; left: -15px; }
#product-image .owl-carousel .owl-item img { display: block; width: auto; margin: auto; }
#product-image .colorlabel {
	position: absolute;
	z-index: 9;
	width: 100px;
	padding: 0;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}
@media (max-width: 460px) {
	[id*="product-image"] .colorlabel.position2 + .colorlabel.position3 { margin-top: 50px; left: 15px; }
	#product-image .colorlabel { width: 80px; font-size: 11px; }
}

.visually-hidden {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}
#product-description-pc.collapsed .description-content { position: relative; overflow: hidden; max-height: 150px; }
#product-description-pc .description-content,
#product-description .description-content { transition: max-height .3s ease; }
#product-description-pc.expanded .description-content,
#product-description.expanded .description-content { max-height: none; }
#product-description-pc .toggle-description i,
#product-description .toggle-description i { margin-right: 5px; }
#product-description.collapsed .description-content { position: relative; overflow: hidden; max-height: 350px; }
@media (min-width: 1024px) {
	#product-description.collapsed .description-content { max-height: 400px; }
}

.count.day::after,
.count.time::after,
.count.minutes::after,
.count.seconds::after {
	position: absolute;
	bottom: 3px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 10px;
	font-weight: 400;
}
.count.day::after { content: "Dage"; }
.count.time::after { content: "Time"; }
.count.minutes::after { content: "Min"; }
.count.seconds::after { content: "Sek"; }
#offer_countdown span {
	position: relative;
	display: inline-block;
	width: 45px;
	margin: 0 5px;
	padding: 10px;
	border-radius: 10px;
	color: #fff;
	background: #116623;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.variant-box { padding: 5px 0; border-radius: 8px; }
#SizeChartModal img { max-width: 100%; height: auto; }
.selected-variant { animation: product-variant-pulse 1.5s infinite; }
@keyframes product-variant-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, .4); }
	70% { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}

.not-in-stock { color: #c90000; font-weight: 600; }
.vimage,
.option-with-image img { transition: transform .3s ease-in-out; }
.vimage:hover,
.option-with-image img:hover {
	position: absolute;
	z-index: 9999;
	border: 1px solid #ccc;
	transform: scale(3);
}
.js-example-basic-multiple.form-control { border: 0; }
.select2-container .select2-selection--single .select2-selection__rendered { overflow: visible !important; }
.option-with-image img { width: 34px; margin-right: 6px; vertical-align: middle; }

@media (max-width: 767px) {
	#ov-onskeskyen-generated-wish-button.minimal,
	.gowish-btn-rounded { padding: 30px; }
	#ov-onskeskyen-generated-wish-button,
	#ov-onskeskyen-generated-wish-button.blue,
	.gowish-btn,
	.gowish-btn-rounded { background-size: auto 50px; }
	[id*="product-buttons"] .button-group button.btn-add-cart.on-wish-comp { width: 70%; }
	#product-buttons .cart-wish-comp { position: absolute; right: 25px; margin-top: 0; }
	[id*="product-buttons"] .button-group button.btn-add-cart span { font-size: 18px; }
	[id*="product-buttons"] .cart-wish-comp { width: 20%; margin-left: 5%; }
}

.open-cart #sticky-buybar { z-index: 998 !important; }
.fill .btn-outline-primary { color: #005700; fill: #005700; border-color: #005700; background: transparent; }
#product-description img.manufacturer-image,
#product-description-pc img.manufacturer-image {
	display: block;
	width: auto !important;
	max-height: 75px;
	margin: auto;
	mix-blend-mode: multiply;
	text-align: center;
}
.clerk_placeholder { height: 500px; }
@media (max-width: 768px) {
	#product-page-alternatives,
	#cykel-med-tilbehr { height: 400px; }
	.clerk .product-thumb .image { height: 200px; }
	.clerk .product-thumb .image img { position: relative; bottom: 0; left: auto; width: auto; max-height: 190px; transform: none; }
	.clerk .cart-wish-comp { display: none !important; }
}
@media (max-width: 500px) {
	.clerk_placeholder { height: 450px; }
}

.product-content-section { margin: 2.25rem 0; }
.product-section-accordion {
	margin: 0;
	overflow: hidden;
	border-bottom: 1px solid #e3e7e5;
	border-radius: 0;
	background: #fff;
}
.ai-product-description .product-section-body,
.ai-product-description .ai-product-faq { padding: 0 .5rem; }
.product-section-accordion > summary {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .5rem;
	cursor: pointer;
	color: #212529;
	font-size: .9rem;
	font-weight: 700;
	list-style: none;
	user-select: none;
}
.product-section-accordion > summary::-webkit-details-marker { display: none; }
.product-section-accordion > summary:hover,
.product-section-accordion[open] > summary { background: #f2f7f4; }
.product-section-summary-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 10px;
}
.product-section-chevron { margin-left: auto; font-size: .9rem; transition: transform .2s ease; }
.product-section-accordion[open] > summary .product-section-chevron { transform: rotate(180deg); }
.product-attribute-group:last-child { margin-bottom: .75rem; }
.product-section-accordion.ai-product-benefits,
.product-section-accordion.product-attributes,
.product-section-accordion.ai-product-faq { padding: 0; }
.product-section-accordion.ai-product-benefits > .product-section-body > ul { margin-top: 1.25rem; margin-bottom: 1.25rem; }
.product-section-accordion.product-attributes > .product-section-body > .product-attribute-group:first-child { margin-top: 1.25rem; }
.product-section-accordion.ai-product-description > .product-section-body,
.product-section-accordion.ai-product-highlights-accordion > .product-section-body { padding-top: 1.25rem; }
.product-section-accordion.ai-product-highlights-accordion .ai-product-highlights { margin-bottom: 0 !important; }
.product-description-ean { clear: both; margin: 1.25rem 0 0; }
.product-section-accordion.ai-product-faq > .product-section-body { padding-top: 1.25rem; }
.product-section-accordion.ai-product-faq > .product-section-body > div { margin-bottom: 1.25rem !important; }
.product-section-accordion.ai-product-faq > .product-section-body > div:last-child { margin-bottom: 0 !important; }
.product-section-accordion.ai-product-faq > .product-section-body strong { display: block; margin-bottom: .35rem; }
.product-section-accordion.ai-product-faq > .product-section-body p { margin: 0; line-height: 1.5; }
.ai-product-benefits > h3,
.product-attributes > h3 { margin: 0 0 1.25rem; padding-bottom: .85rem; border-bottom: 2px solid #159447; font-size: 1.55rem; }
.ai-product-benefits > ul,
.ai-product-benefits > .product-section-body > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ai-product-benefits > ul > li,
.ai-product-benefits > .product-section-body > ul > li {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	min-height: 64px;
	padding: 1rem;
	border: 1px solid #e3e7e5;
	border-radius: 5px;
	background: #f7f9f8;
	line-height: 1.45;
}
.ai-benefit-check {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	color: #fff;
	background: #159447;
}
.ai-benefit-check svg { width: 12px; height: 12px; color: #fff; fill: #fff; }
.ai-benefit-check svg use { fill: currentColor; }
.product-attributes > h4 { margin: 1.5rem 0 0; padding: .85rem 1rem; border-radius: 5px 5px 0 0; color: #173326; background: #edf6f1; font-size: 1.15rem; }
.product-attributes .table-responsive { margin-bottom: 1rem; border: 1px solid #e3e7e5; border-top: 0; border-radius: 0 0 5px 5px; }
.product-attributes table { margin: 0; }
.product-attributes table tr:nth-child(odd) { background: #fff; }
.product-attributes table tr:nth-child(even) { background: #fff; }
.product-attributes table th,
.product-attributes table td { padding: .85rem 1rem; border-color: #edf0ee; vertical-align: top; }
.product-attributes table th { color: #263c31; font-weight: 700; }
.product-attribute-group { margin-top: .75rem; overflow: hidden; border: 1px solid #e3e7e5; border-radius: 5px; background: #fff; }
.product-attribute-group-heading { display: flex; align-items: center; gap: .8rem; padding: .5rem; color: #1b2c23; border-bottom: 1px solid #e3e7e5; background: #eef4f0; font-weight: 700; }
.attribute-group-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 5px; color: #fff; }
.attribute-group-icon svg,
.product-section-summary-icon svg { color: #212529; fill: #212529; }
.product-attribute-group .svg-inline--fa.fa-fw,
.product-section-summary-icon .svg-inline--fa.fa-fw { width: 2em; height: 2em; }
.svg-inline--fa.fa-fw.attribute-group-chevron { width: 1.25em; height: 1.25em; }
.attribute-group-icon svg use,
.product-section-summary-icon svg use { fill: currentColor; }
.attribute-group-chevron { margin-left: auto; transition: transform .2s ease; }
.product-attribute-group .table-responsive { margin: 0; border: 0; border-radius: 0; background: #fff; }
#product-description.has-attributes .description-content,
#product-description-pc.has-attributes .description-content { overflow: visible !important; max-height: none !important; }
@media (max-width: 767px) {
	.ai-product-benefits,
	.product-attributes { padding: 1rem; border-radius: 5px; }
	.ai-product-benefits > ul,
	.ai-product-benefits > .product-section-body > ul { grid-template-columns: 1fr; }
	/*.product-attributes table th,
	.product-attributes table td { display: block; width: 100% !important; } 
	.product-attributes table th { padding-bottom: .25rem; border-bottom: 0; }
	.product-attributes table td { padding-top: .25rem; }*/
}
#info .fill {padding-top: 20px;}
.clerk-slider-headline {padding: 20px 0;}
/* Product delivery information */
#product .levbox {
	overflow: hidden;
	padding: 10px 15px;
	border: 1px solid #ccc;
	color: #000;
	background: #eee;
}
#product .levbox svg { fill: #000; }
#product .levbox a.try-bike { padding: 0; color: #000; fill: #000; line-height: 1; }
#product .levbox svg.green { color: #1daa3b; fill: #1daa3b; }
#product .levbox svg.yellow { color: #ff7800; fill: #ff7800; }
#product .levbox svg.blue { color: #66a5c4; fill: #66a5c4; }
#product .levbox svg.red { color: #f00; fill: #f00; }
#product .levbox p,
#product .levbox .btn-outline-primary,
#product .levbox .enquiry { font-size: 13px; }
#product .levbox .stock_dot { display: none; }
@media (max-width: 460px) {
	#product .levbox { font-size: 13px; }
}

/* Sticky product buy bar */
.sticky-buybar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	padding: 10px 14px;
	border-top: 1px solid #e6e6e6;
	background: #fff;
	box-shadow: 0 -8px 18px rgba(0, 0, 0, .08);
	transform: translateY(110%);
	transition: transform .2s ease;
}
.sticky-buybar.is-visible { transform: translateY(0); }
.sticky-buybar__inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; max-width: 1200px; margin: 0 auto; }
.sticky-buybar__left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.sticky-buybar__thumb { flex: 0 0 auto; width: 90px; height: 63px; padding: 10px; border: 1px solid #e6e6e6; border-radius: 10px; background: #fff; object-fit: cover; }
.sticky-buybar__meta { min-width: 0; }
.sticky-buybar__title { overflow: hidden; max-width: 55vw; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sticky-buybar__price { margin-top: 2px; font-size: 14px; }
.sticky-buybar__btn { min-width: 120px; padding: 12px 18px; border: 0; border-radius: 999px; color: #fff; background: #0b7a3b; cursor: pointer; font-weight: 700; }
.sticky-buybar__btn:disabled { cursor: not-allowed; opacity: .5; }

/* Product description typography */
#product-description-pc h1,
#product-description-pc h2,
#product-description-pc h3,
#product-description-pc h4,
#product-description-pc h5,
#product-description-pc h6,
#product-description-pc .h1,
#product-description-pc .h2,
#product-description-pc .h3,
#product-description-pc .h4,
#product-description-pc .h5,
#product-description-pc .h6,
#product-description h1,
#product-description h2,
#product-description h3,
#product-description h4,
#product-description h5,
#product-description h6,
#product-description .h1,
#product-description .h2,
#product-description .h3,
#product-description .h4,
#product-description .h5,
#product-description .h6 { margin-bottom: .5rem; padding: unset; }
#product-description-pc p,
#product-description p { margin-top: 0; margin-bottom: 1rem; padding-bottom: 0; line-height: 1.5; }
#product-description-pc li,
#product-description li { line-height: 1.5; }
#product-description img { width: 100% !important; }

/* Product size selector */
.selected-variant.form-control { height: auto; }
.variant-box { font-size: 12px; }
@media (max-width: 1024px) {
	.variant-box .stocks { margin-right: 13px; font-size: 11px; text-align: right; }
}
#collapseVariants.variants input[type="radio"] + label { display: block; margin: 0; padding: 5px 10px; cursor: pointer; }
#collapseVariants.variants input[type="radio"] + label .stocks { float: right; }
#collapseVariants.variants input[type="radio"] { display: none; }
#collapseVariants.variants { position: absolute; right: 15px; left: 15px; z-index: 999; border-radius: 5px; background: #fff; box-shadow: 0 0 7px #00000080; }
.variant-box .selected-variant { cursor: pointer; }
.variant-box .stocks,
#variantsspan > span { margin-right: 15px; text-align: right; }
