/* ================================================================
   Order WC Attributes – Frontend Styles
   Loaded only on single product pages that have an active layout.
   Author: Trender.nl
   ================================================================ */

/* Table wrapper — width set inline per layout */
.owa-attr-table-wrap {
	border: 1px solid #e2e4e7;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 1.25em;
}
.owa-attr-table-wrap:last-child {
	margin-bottom: 0;
}

/* Table */
.owa-attr-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 0;
	font-size: inherit;
}
.owa-attr-table tr {
	border-bottom: 1px solid #e2e4e7;
}
.owa-attr-table tr:last-child {
	border-bottom: none;
}
.owa-attr-table th,
.owa-attr-table td {
	padding: .55em .75em;
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
}
.owa-attr-table th {
	font-weight: 600;
	color: #555;
	background: #f8f9f9;
}

/* Text elements between table blocks */
.owa-additional-information .owa-text-element {
	margin-top: 1.4em;
	margin-bottom: .5em;
}
.owa-additional-information .owa-text-element:first-child {
	margin-top: 0;
}
.owa-additional-information p.owa-text-element {
	margin-bottom: 1em;
}

/* Whitespace gap element */
.owa-gap {
	height: 1.5em;
}

/* ================================================================
   Tabs: Beschrijving / Specificaties / Downloads
   Beekmans house style: Flatsome primary orange, anthracite #373736,
   light grey #f4f4f4 surfaces, square buttons, cut corners.
   ================================================================ */
.owa-tabs {
	--owa-accent: var(--fs-color-primary, #ee7306);
	--owa-dark: var(--fs-color-secondary, #373736);
	--owa-surface: #f4f4f4;
	--owa-line: #e6e6e6;
	--owa-cut: 26px;
	margin-bottom: 2em;
}

/* --- Tab bar ---------------------------------------------------- */
.owa-tabs__nav {
	display: flex;
	gap: 4px;
	border-bottom: 3px solid var(--owa-accent);
	overflow-x: auto;
	scrollbar-width: none;
}
.owa-tabs__nav::-webkit-scrollbar { display: none; }
.owa-tabs__tab {
	appearance: none;
	flex: 0 0 auto;
	margin: 0;
	border: 0;
	border-radius: 0;
	min-height: 0;
	background: var(--owa-surface);
	color: var(--owa-dark);
	font: inherit;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 16px 24px 15px;
	cursor: pointer;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
	transition: background-color .15s, color .15s;
}
.owa-tabs__tab:hover { color: var(--owa-accent); }
.owa-tabs__tab.is-active,
.owa-tabs__tab.is-active:hover {
	background: var(--owa-accent);
	color: #fff;
}
.owa-tabs__tab:focus-visible {
	outline: 2px solid var(--owa-dark);
	outline-offset: -4px;
}

/* --- Panel ------------------------------------------------------- */
.owa-tabs__panel {
	background: var(--owa-surface);
	padding: 28px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--owa-cut)), calc(100% - var(--owa-cut)) 100%, 0 100%);
	animation: owa-fade .2s ease-out;
}
.owa-tabs__panel[hidden] { display: none; }
@keyframes owa-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .owa-tabs__panel { animation: none; } }

.owa-tab-plain > :last-child { margin-bottom: 0; }
.owa-tab-plain + .owa-tab-specs { margin-top: 24px; }

/* --- Key spec tiles ---------------------------------------------- */
.owa-keyspecs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
.owa-keyspec {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-top: 3px solid var(--owa-accent);
	padding: 14px 16px 16px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
}
.owa-keyspec__icon { color: var(--owa-accent); margin-bottom: 8px; }
.owa-keyspec__value {
	font-size: 26px;
	font-weight: 900;
	line-height: 1.1;
	color: #000;
}
.owa-keyspec__value small {
	font-size: 14px;
	font-weight: 700;
	color: #777;
	margin-left: 4px;
}
.owa-keyspec__label {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--owa-dark);
}

/* --- Spec table ---------------------------------------------------- */
.owa-tab-specs {
	background: #fff;
	padding: 6px 0;
}
.owa-tabs .owa-additional-information .owa-text-element {
	color: var(--owa-accent);
	padding: 0 20px;
}
.owa-tabs .owa-additional-information h3.owa-text-element,
.owa-tabs .owa-additional-information h4.owa-text-element,
.owa-tabs .owa-additional-information h5.owa-text-element {
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin: 18px 0 6px;
}
.owa-tabs .owa-additional-information p.owa-text-element { color: #444; font-size: 14px; }
.owa-tabs .owa-attr-table-wrap {
	border: 0;
	border-radius: 0;
	margin-bottom: 0;
}
.owa-tabs .owa-attr-table { margin: 0; }
.owa-tabs .owa-attr-table tr {
	border-bottom: 1px solid var(--owa-line);
	transition: background-color .12s, box-shadow .12s;
}
.owa-tabs .owa-attr-table tr:last-child { border-bottom: 0; }
.owa-tabs .owa-attr-table tr:hover {
	background: #fff7f0;
	box-shadow: inset 3px 0 0 var(--owa-accent);
}
.owa-tabs .owa-attr-table th,
.owa-tabs .owa-attr-table td {
	padding: 11px 20px;
	border: 0;
	vertical-align: middle;
}
.owa-tabs .owa-attr-table th {
	background: transparent;
	color: #6b6b6b;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.owa-tabs .owa-attr-table td {
	color: #000;
	font-size: 15px;
	font-weight: 700;
}

/* --- Downloads ----------------------------------------------------- */
.owa-downloads {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}
.owa-downloads li { margin: 0 !important; }
.owa-download {
	display: flex;
	align-items: center;
	gap: 16px;
	background: #fff;
	padding: 14px 16px;
	color: inherit !important;
	text-decoration: none !important;
	transition: box-shadow .15s, transform .15s;
}
.owa-download:hover {
	box-shadow: 6px 6px 0 var(--owa-accent);
	transform: translate(-2px, -2px);
}
.owa-download__icon {
	flex: none;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	background: var(--owa-surface);
	color: var(--owa-accent);
}
.owa-download__icon em {
	position: absolute;
	right: -6px;
	bottom: -6px;
	background: var(--owa-accent);
	color: #fff;
	font-style: normal;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .04em;
	padding: 2px 5px;
}
.owa-download__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.owa-download__text strong {
	font-size: 16px;
	font-weight: 900;
	color: #000;
}
.owa-download__text small {
	margin-top: 2px;
	line-height: 1.4;
	font-size: 13px;
	color: #6b6b6b;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.owa-download__cta {
	flex: none;
	background: var(--owa-dark);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 11px 18px;
	transition: background-color .15s;
}
.owa-download:hover .owa-download__cta { background: var(--owa-accent); }
.owa-downloads-raw .button { margin: 0 8px 8px 0; }

/* --- Mobile -------------------------------------------------------- */
@media (max-width: 549px) {
	.owa-tabs__nav { gap: 3px; }
	.owa-tabs__tab { flex: 1 1 0; font-size: 12px; letter-spacing: .02em; padding: 14px 6px 13px; text-align: center; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%); }
	.owa-tabs__panel { padding: 16px; --owa-cut: 18px; }
	.owa-keyspecs { grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; }
	.owa-keyspec { padding: 10px 10px 12px; }
	.owa-keyspec__value { font-size: 19px; }
	.owa-keyspec__value small { font-size: 12px; margin-left: 2px; }
	.owa-keyspec__label { font-size: 10px; letter-spacing: 0; overflow-wrap: anywhere; }
	.owa-tabs .owa-attr-table th,
	.owa-tabs .owa-attr-table td { padding: 10px 12px; }
	.owa-tabs .owa-additional-information .owa-text-element { padding: 0 12px; }
	.owa-download { gap: 12px; padding: 12px; }
	.owa-download__cta { padding: 10px 12px; }
}
