/* Responsive aanvulling op styles.css.
   Boven 1040px blijft de originele vaste layout (966px) ongewijzigd. */

html {
	-webkit-text-size-adjust: 100%;
}

.menu-toggle,
.sub-chevron,
.sub-overview {
	display: none;
}

/* iPad en kleinere schermen: zelfde opbouw, maar vloeiend */
@media (max-width: 1040px) {
	#page,
	#wrapper,
	.container {
		width: auto;
		margin: 0;
		float: none;
	}

	#page {
		position: relative;
	}

	.container {
		display: grid;
		grid-template-columns: 245px minmax(0, 1fr);
		grid-template-rows: auto auto 1fr auto;
		grid-template-areas:
			"logo   header"
			"menu   header"
			"menu   content"
			"footer footer";
	}

	table.layout,
	table.layout > tbody,
	table.layout > tbody > tr {
		display: contents;
	}

	table.layout td.l-spacer,
	table.layout td.l-strip,
	table.layout td.l-deco {
		display: none;
	}

	table.layout td {
		width: auto;
		height: auto;
	}

	.l-logo {
		grid-area: logo;
		background: #fff;
	}

	.l-logo img,
	.l-header img {
		display: block;
		width: 100%;
		height: auto;
	}

	.l-header {
		grid-area: header;
		background: #fff;
	}

	.l-menu {
		grid-area: menu;
		background-color: #999;
	}

	.l-content {
		grid-area: content;
		min-width: 0;
		background: #fff;
	}

	.l-content img {
		max-width: 100%;
		height: auto;
	}

	.l-content table {
		max-width: 100%;
	}

	.l-dealers {
		max-width: 100%;
		height: auto;
	}

	.l-footer {
		grid-area: footer;
	}

	.l-footer img {
		display: block;
		width: 100%;
		height: 30px;
		object-fit: cover;
		object-position: left center;
	}

	#topcontact {
		margin: 0;
		top: 0;
		right: 0;
	}
}

/* Mobiel: alles onder elkaar, menu achter een knop */
@media (max-width: 700px) {
	.container {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		grid-template-areas:
			"toggle"
			"menu"
			"logo"
			"header"
			"content"
			"dealers"
			"footer";
	}

	#topcontact {
		position: static;
		width: auto;
		height: auto;
		padding: 8px 12px;
		border-radius: 0;
		box-shadow: none;
		text-align: center;
	}

	.l-menu {
		display: contents;
	}

	.l-menu > br {
		display: none;
	}

	.l-nav {
		grid-area: menu;
		width: 100%;
		background: #999;
	}

	.has-menu-toggle .l-nav {
		display: none;
	}

	.has-menu-toggle.menu-open .l-nav {
		display: table;
	}

	.l-nav > tbody > tr > td {
		width: auto !important;
		padding: 0;
	}

	.l-nav > tbody > tr > td:first-child,
	.l-nav > tbody > tr > td:last-child {
		display: none;
	}

	.menu-toggle {
		grid-area: toggle;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		margin: 0;
		padding: 14px 20px;
		border: 0;
		background: #999;
		color: #fff;
		font: bold 15px Arial, Helvetica, sans-serif;
		text-align: left;
		cursor: pointer;
	}

	.menu-open .menu-toggle {
		color: #ff9900;
	}

	.menu-toggle-icon,
	.menu-toggle-icon::before,
	.menu-toggle-icon::after {
		display: block;
		width: 22px;
		height: 3px;
		background: currentColor;
	}

	.menu-toggle-icon {
		position: relative;
	}

	.menu-toggle-icon::before,
	.menu-toggle-icon::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.menu-toggle-icon::before {
		top: -7px;
	}

	.menu-toggle-icon::after {
		top: 7px;
	}

	#page [class^="click-menu"] {
		width: 100% !important;
	}

	#page [class^="click-menu"] .inbox1 {
		width: auto !important;
		height: auto !important;
		padding: 12px 20px !important;
		border-top: 1px solid #aaa !important;
		font-size: 15px !important;
		white-space: normal !important;
	}

	#page [class^="click-menu"] .section a {
		display: block;
		width: auto;
		padding: 9px 20px 9px 34px !important;
		font-size: 14px !important;
	}

	/* Uitklapbare submenu's */
	#page [class^="click-menu"] .section {
		display: none !important;
		padding-bottom: 6px;
	}

	#page [class^="click-menu"] .sub-open .section {
		display: block !important;
	}

	#page [class^="click-menu"] .has-sub [class^="box1"] {
		position: relative;
	}

	#page [class^="click-menu"] .has-sub .inbox1 {
		padding-right: 52px !important;
	}

	#page [class^="click-menu"] .sub-open .inbox1 {
		color: #ff9900 !important;
	}

	.sub-overview {
		display: block;
	}

	.sub-chevron {
		display: block;
		position: absolute;
		top: 50%;
		right: 22px;
		width: 9px;
		height: 9px;
		margin-top: -7px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease, margin-top 0.2s ease;
		pointer-events: none;
	}

	.sub-open .sub-chevron {
		margin-top: -2px;
		transform: rotate(-135deg);
	}

	.l-dealers {
		grid-area: dealers;
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		padding: 20px calc((100% - 250px) / 2);
		background: #999;
	}

	.l-content > table > tbody > tr > td:first-child,
	.l-content > table > tbody > tr > td:last-child {
		width: 12px;
	}

	.l-content .contentpaneopen table {
		width: 100% !important;
	}

	/* Lange reeksen harde spaties uit Word-tekst mogen afbreken */
	.l-content .contentpaneopen > tbody > tr > td > p,
	.l-content td a {
		overflow-wrap: anywhere;
	}

	.l-content p {
		font-size: 15px;
		line-height: 1.5;
	}

	.contentheading {
		font-size: 15px;
	}
}
