/* Feedback ronde 2 november 2026 */

/* 5. Header-logo tegen de blauwe balk */
.desq-header__inner {
	padding-top: 0 !important;
	align-items: center;
}
.desq-header .desq-logo {
	align-self: flex-start;
}
.desq-header .desq-logo__image {
	border-radius: 0;
}

/* 3 + 4. Footer: logo tegen bovenrand, content verticaal uitgelijnd */
.desq-footer__main {
	padding-top: 0;
}
.desq-footer__inner {
	align-items: center;
}
.desq-footer__col--contact {
	align-self: start;
}
.desq-footer__col--newsletter,
.desq-footer__col--social {
	padding-top: 40px;
}
.desq-footer__logo,
.desq-footer__logo .desq-logo__image {
	display: block;
	margin-top: 0;
}

/* 7. Hero hoger: 70vh met vangnet */
.desq-hero {
	height: 70vh;
	min-height: 360px;
}
@media (max-width: 1024px) {
	.desq-hero { height: 70vh; min-height: 360px; }
}
@media (max-width: 480px) {
	.desq-hero { height: 70vh; min-height: 360px; }
	.desq-footer__col--newsletter,
	.desq-footer__col--social { padding-top: 0; }
}

/* 6 + 8. Sliders */
.desq-slider {
	position: relative;
}
.desq-slider--active [data-desq-slider-track] {
	display: flex !important;
	grid-template-columns: none !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.desq-slider--active [data-desq-slider-track]::-webkit-scrollbar {
	display: none;
}
.desq-slider--active [data-desq-slider-track] > * {
	scroll-snap-align: start;
	flex: 0 0 auto;
}
.desq-home-categories__grid--carousel > * {
	width: calc((100% - 3 * 20px) / 4);
}
.desq-reviews__grid--slider > * {
	width: calc((100% - 2 * 16px) / 3);
}
.desq-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: var(--desq-navy, #1b365d);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.desq-slider__nav:disabled {
	opacity: 0.35;
	cursor: default;
}
.desq-slider__nav--prev { left: -22px; }
.desq-slider__nav--next { right: -22px; }
.desq-slider--static .desq-slider__nav { display: none; }

@media (max-width: 1024px) {
	.desq-home-categories__grid--carousel > * { width: calc((100% - 2 * 16px) / 3); }
	.desq-reviews__grid--slider > * { width: calc((100% - 16px) / 2); }
	.desq-slider__nav--prev { left: -8px; }
	.desq-slider__nav--next { right: -8px; }
}
@media (max-width: 480px) {
	.desq-home-categories__grid--carousel > * { width: calc((100% - 14px) / 2); }
	.desq-reviews__grid--slider > * { width: 85%; }
	.desq-slider__nav { width: 36px; height: 36px; font-size: 22px; }
}

/* PDP: productcode, categorie-omschrijving, buitenland, voorraadwaarschuwing */
.desq-pdp__code {
	margin: 4px 0 10px;
	font-size: 14px;
	color: #5b6573;
}
.desq-pdp__code span {
	font-weight: 600;
	color: var(--desq-navy, #1b365d);
}
.desq-pdp__delivery-abroad {
	margin: -4px 0 10px 30px;
	font-size: 13px;
	color: #5b6573;
}
.desq-pdp__cat-desc {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.55;
	color: #333;
}
.desq-pdp__low-stock {
	color: #e4572e;
	font-weight: 600;
}

/* Home productsecties */
.desq-hps .desq-slider--active ul.products {
	gap: 30px !important;
}
.desq-hps__list--carousel > li.product {
	width: calc((100% - 3 * 30px) / 4) !important;
	margin: 0 !important;
}
.desq-hps .desq-slider__nav {
	top: 38%;
}

/* Productlijsten 4 per rij (desktop), 3 tablet, 2 mobiel */
.woocommerce ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 30px 24px;
}
@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.desq-hps__list--carousel > li.product { width: calc((100% - 2 * 30px) / 3) !important; }
}
@media (max-width: 640px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 14px; }
	.desq-hps__list--carousel > li.product { width: calc((100% - 14px) / 2) !important; }
	.desq-hps .desq-slider--active ul.products { gap: 14px !important; }
}

/* Header-logo ongeveer 28% groter: desktop 56 > 72px, tablet 36 > 46px, mobiel 32 > 41px */
.desq-header .desq-logo__image,
.woocommerce .desq-header .desq-logo__image,
.woocommerce-page .desq-header .desq-logo__image {
	height: 72px !important;
	max-height: 72px !important;
	width: auto;
}
@media (max-width: 1024px) {
	.desq-header .desq-logo__image,
	.woocommerce .desq-header .desq-logo__image,
	.woocommerce-page .desq-header .desq-logo__image { height: 46px !important; max-height: 46px !important; }
}
@media (max-width: 480px) {
	.desq-header .desq-logo__image,
	.woocommerce .desq-header .desq-logo__image,
	.woocommerce-page .desq-header .desq-logo__image { height: 41px !important; max-height: 41px !important; }
}

/* Carousel in home productsecties wint van het productgrid */
.woocommerce .desq-slider--active ul.products.desq-hps__list--carousel {
	display: flex !important;
	grid-template-columns: none !important;
	flex-wrap: nowrap;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}
.woocommerce .desq-slider--active ul.products.desq-hps__list--carousel > li.product {
	flex: 0 0 auto;
	scroll-snap-align: start;
}
.desq-site {
	overflow-x: clip;
}
.woocommerce .desq-slider--active ul.products[class*='columns-'].desq-hps__list--carousel > li.product {
	width: calc((100% - 3 * 30px) / 4) !important;
	max-width: none !important;
	margin: 0 !important;
}
@media (max-width: 1024px) {
	.woocommerce .desq-slider--active ul.products[class*='columns-'].desq-hps__list--carousel > li.product { width: calc((100% - 2 * 30px) / 3) !important; }
}
@media (max-width: 640px) {
	.woocommerce .desq-slider--active ul.products[class*='columns-'].desq-hps__list--carousel > li.product { width: calc((100% - 14px) / 2) !important; }
}

/* PDP: voorraad en levertijd in één icoonkolom (20px) + 10px gap */
.desq-pdp__status,
.desq-pdp__delivery {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-left: 0;
	margin-left: 0;
}
.desq-pdp__status::before { content: none; }
.desq-pdp__status-dot {
	flex: 0 0 10px;
	margin: 0 5px;
}
.desq-pdp__delivery-icon {
	flex: 0 0 20px;
	width: 20px;
	justify-content: center;
}
.desq-pdp__delivery-abroad {
	margin-left: 30px;
}

/* Productcode als eerste regel in de uitklapper */
.desq-pdp__accordion-item--static .desq-pdp__code {
	margin: 0;
	padding: 18px 0;
	font-size: 14px;
	font-weight: 600;
	color: #181818;
}
.desq-pdp__accordion-item--static .desq-pdp__code span {
	color: var(--desq-navy, #1c3755);
}
/* Kleurkeuze direct onder de prijs */
.desq-pdp__purchase > .desq-pdp__meta-block {
	margin: -8px 0 0;
}

/* Header en socket op dezelfde linker- en rechterrand als de content-container
   (referentie: footer-logo en adresgegevens). */
.desq-header__inner,
.desq-footer__legal-inner {
	max-width: 1400px;
	margin-inline: auto;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}
@media (max-width: 1024px) {
	.desq-header__inner,
	.desq-footer__legal-inner {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}
@media (max-width: 480px) {
	.desq-header__inner,
	.desq-footer__legal-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* Vaste zijmarge 20px voor de hele site (Michiel 2 nov) */
.desq-header__inner,
.desq-home-container,
.desq-main,
.desq-main--shop,
.desq-footer__inner,
.desq-footer__legal-inner {
	width: min(1400px, calc(100% - 40px)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}
.desq-main--product {
	width: min(1320px, calc(100% - 40px)) !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.desq-home-container > section,
.desq-home-container > section > [class$="__inner"] {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.desq-main .desq-home-container {
	width: 100% !important;
}

/* Carouselpijlen: verborgen als er niets te scrollen valt; 20px buiten de carousel */
.desq-slider__nav[hidden] { display: none !important; }
.desq-slider__nav--prev { left: -20px !important; }
.desq-slider__nav--next { right: -20px !important; }
@media (min-width: 1530px) {
	.desq-slider__nav--prev { left: -64px !important; }
	.desq-slider__nav--next { right: -64px !important; }
}
