/* CCC portal - public layout in the style of www.dewetron.com
 *
 * Replaces new-ci.css in layouts/new-ci.ctp (the management layout keeps new-ci.css + admin-new-ci.css).
 * Brand values taken from the corporate site: blue #0080c9, cyan #00b1eb, text #222, grey #575756, light grey #f2f2f2, radius 15px,
 * uppercase headings, pill shaped buttons.
 *
 * Typeface: DecimaNova is a commercial font and is not part of this repository. If the font files are available, put them into
 * webroot/fonts/ and enable the @font-face block below; until then the stack falls back to the bundled Open Sans.
 */

/* @font-face { font-family: 'DecimaNova'; font-weight: 400; font-style: normal; font-display: swap;
	src: url('/fonts/DecimaNova-Regular.woff2') format('woff2'), url('/fonts/DecimaNova-Regular.woff') format('woff'); }
   @font-face { font-family: 'DecimaNova'; font-weight: 700; font-style: normal; font-display: swap;
	src: url('/fonts/DecimaNova-Bold.woff2') format('woff2'), url('/fonts/DecimaNova-Bold.woff') format('woff'); } */

:root {
	--dw-blue: #0080c9;
	--dw-blue-dark: #0066a1;
	--dw-action: #0073b3;       /* buttons: white text 5.1:1 (brand cyan only reaches 2.5:1) */
	--dw-action-dark: #005f94;
	--dw-link: #0066a1;         /* text links: 6.2:1 on white */
	--dw-placeholder: #6b6b6a;  /* 4.9:1 on the light grey fields */
	--dw-cyan: #00b1eb;
	--dw-text: #222;
	--dw-grey: #575756;
	--dw-light: #f2f2f2;
	--dw-line: #e3e3e3;
	--dw-radius: 15px;
	--dw-header-h: 76px;
	--dw-font: 'DecimaNova', 'Open Sans', 'Segoe UI', Roboto, 'Noto Sans', 'Liberation Sans', Arial, sans-serif;
}

/* ---------------------------------------------------------------- base */
html { min-height: 100%; }
body.dw-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	padding-top: var(--dw-header-h);
	background: #fff;
	color: var(--dw-text);
	font-family: var(--dw-font);
	font-size: 16px;
	line-height: 1.5;
}
body.dw-site #page {
	position: static;
	flex: 1 0 auto;
	overflow: visible;
	padding: 0 0 40px 0;
	background: #fff;
}
body.dw-site > .container-fluid { width: 100%; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
body.dw-site #page .row { margin-bottom: 30px; }
body.dw-site #content > .row { margin-left: 0; margin-right: 0; }
body.dw-site a { color: var(--dw-link); text-decoration: none; transition: color .2s ease; }
body.dw-site a:hover, body.dw-site a:focus { color: var(--dw-action-dark); text-decoration: underline; }
body.dw-site h1, body.dw-site h2, body.dw-site h3, body.dw-site h4 { font-family: var(--dw-font); color: var(--dw-text); }
body.dw-site h2 {
	display: block;
	margin: 30px 0 18px 0;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .02em;
	text-transform: uppercase;
}
body.dw-site h2::before { display: none; }
body.dw-site h2::after {
	content: '';
	position: static;
	display: block;
	width: 48px;
	margin-top: 10px;
	border-top: 3px solid var(--dw-cyan);
}
body.dw-site h3 { font-size: 20px; font-weight: 400; text-transform: uppercase; letter-spacing: .02em; }
body.dw-site small, body.dw-site .small { color: var(--dw-grey); }
body.dw-site hr { border-top-color: var(--dw-line); }

/* ---------------------------------------------------------------- header */
.dw-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1030;
	height: var(--dw-header-h);
	background: #fff;
	box-shadow: 0 1px 0 var(--dw-line), 0 4px 18px rgba(0, 0, 0, .05);
}
.dw-header-inner {
	display: flex;
	align-items: center;
	height: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 24px;
}
.dw-brand { display: flex; align-items: center; flex: 0 0 auto; color: var(--dw-grey); }
.dw-brand:hover, .dw-brand:focus { color: var(--dw-blue); }
.dw-logo { display: block; }
.dw-logo svg { display: block; height: 46px; width: auto; }
.dw-brand-label {
	margin-left: 14px;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
}
.dw-nav { flex: 1 1 auto; align-items: center; }
.dw-menu { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.dw-menu > li { position: relative; margin: 0; padding: 0; }
.dw-menu > li > a {
	display: block;
	white-space: nowrap;
	padding: 26px 16px;
	color: var(--dw-grey);
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: transparent !important;
}
.dw-menu > li > a:hover, .dw-menu > li > a:focus, .dw-menu > li.open > a { color: var(--dw-blue); }
.dw-menu > li > a::before, .dw-menu > li > a::after { display: none !important; }
.dw-menu .caret { margin-left: 4px; border-top-color: currentColor; border-bottom-color: currentColor; }
.dw-menu-right { margin-left: 12px; }

/* dropdown + multi level (families -> product lines) */
.dw-menu .dropdown-menu {
	background: #fff;
	min-width: 240px;
	margin-top: 0;
	padding: 8px 0;
	border: 0;
	border-radius: var(--dw-radius);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
}
.dw-menu .dropdown-menu > li { padding: 0; }
.dw-menu .dropdown-backdrop { display: none !important; }	/* see dewetron-ci.js: it would cover the menu entries on touch devices */
.dw-menu .dropdown-menu > li > a {
	display: block;
	padding: 9px 22px;
	color: var(--dw-text);
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
}
.dw-menu .dropdown-menu > li:hover > a,
.dw-menu .dropdown-menu > li > a:hover,
.dw-menu .dropdown-menu > li > a:focus { background: var(--dw-light); color: var(--dw-blue); }
.dw-menu .dropdown-submenu { position: relative; }
.dw-menu .dropdown-submenu > .dropdown-menu { top: -8px; left: calc(100% - 4px); margin-left: 0; border: 0; }
.dw-menu .dropdown-submenu:hover > .dropdown-menu, .dw-menu .dropdown-submenu.open > .dropdown-menu { display: block; }
.dw-menu .dropdown-submenu > a::after { border-left-color: var(--dw-grey); margin-right: 0; }
.dw-menu .dropdown-submenu:hover > a::after { border-left-color: var(--dw-blue); }
.dw-menu .dropdown-menu li li { padding: 0; }

/* search */
.dw-search { display: flex; align-items: center; margin: 0 0 0 auto; }
.dw-search input[type=text] {
	width: clamp(120px, 14vw, 230px);
	height: 40px;
	padding: 0 18px;
	border: 0;
	border-radius: 20px 0 0 20px;
	background: var(--dw-light);
	color: var(--dw-text);
	font-size: 14px;
	outline: none;
	transition: box-shadow .2s ease;
}
.dw-search input[type=text]:focus { box-shadow: 0 0 0 2px var(--dw-cyan); }
.dw-search button {
	height: 40px;
	padding: 0 16px 0 12px;
	border: 0;
	border-radius: 0 20px 20px 0;
	background: var(--dw-light);
	color: var(--dw-grey);
	cursor: pointer;
}
.dw-search button:hover { color: var(--dw-blue); }

/* download basket (Elements/Downloads/cart.ctp) */
.dw-menu-right > li > a.dropdown-toggle {
	white-space: nowrap;
	padding: 9px 18px;
	border-radius: 20px;
	background: var(--dw-action) !important;
	color: #fff !important;
	font-size: 13px;
	letter-spacing: .06em;
}
.dw-menu-right > li > a.dropdown-toggle:hover { background: var(--dw-action-dark) !important; }
.dw-menu-right .dropdown-menu { right: 0; left: auto; padding: 14px; }
.dw-menu-right .dropdown-menu li { padding: 0; }
.dw-menu-right .table > thead > tr > th, .dw-menu-right .table > tbody > tr > td { border-color: var(--dw-line) !important; }

/* medium screens: drop the label next to the logo and tighten the menu */
@media (min-width: 992px) and (max-width: 1279px) {
	.dw-brand-label { display: none; }
	.dw-menu > li > a { padding-left: 11px; padding-right: 11px; }
}

/* mobile toggle */
.dw-toggle {
	display: none;
	margin-left: auto;
	padding: 10px;
	border: 0;
	background: transparent;
}
.dw-toggle span { display: block; width: 26px; height: 2px; margin: 5px 0; background: var(--dw-grey); }

@media (max-width: 991px) {
	.dw-header { height: auto; min-height: var(--dw-header-h); }
	.dw-header-inner { flex-wrap: wrap; padding: 14px 18px; }
	.dw-toggle { display: block; }
	.dw-nav { flex: 1 0 100%; padding: 8px 0 14px; }
	.dw-nav.collapse:not(.in) { display: none; }
	.dw-nav.collapse.in { display: block; }
	.dw-menu { display: block; }
	.dw-menu > li > a { padding: 12px 4px; }
	.dw-menu .dropdown-menu { position: static; float: none; box-shadow: none; padding: 0 0 0 14px; }
	.dw-menu .dropdown-submenu:hover > .dropdown-menu { display: none; }
	.dw-menu .dropdown-submenu.open > .dropdown-menu { display: block; }
	.dw-menu .dropdown-menu > li > a { padding: 12px 8px; font-size: 16px; }
	.dw-menu .dropdown-menu > li.dropdown-submenu > a { display: flex; justify-content: space-between; align-items: center; }
	.dw-menu .dropdown-menu > li.dropdown-submenu > a::after { content: ""; display: block; position: static; float: none; width: 8px; height: 8px; margin: 0 6px; border: 0; border-right: 2px solid var(--dw-grey); border-bottom: 2px solid var(--dw-grey); transform: rotate(45deg); transition: transform .15s; }
	.dw-menu .dropdown-submenu.open > a::after { transform: rotate(-135deg); }
	.dw-menu .dropdown-submenu.open > a { color: var(--dw-blue); font-weight: 600; }
	.dw-menu .dropdown-submenu > .dropdown-menu { margin: 0 0 6px 10px; padding-left: 10px; border-left: 2px solid var(--dw-line); background: transparent; }
	.dw-search { margin: 10px 0; }
	.dw-search input[type=text] { flex: 1 1 auto; width: auto; }
	.dw-menu-right { margin: 6px 0 0 0; }
	body.dw-site { padding-top: 70px; }
	.dw-brand-label { font-size: 11px; }
}
@media (min-width: 992px) {
	.dw-nav.collapse, .dw-nav.collapsing { display: flex !important; height: auto !important; overflow: visible; }
}

/* ---------------------------------------------------------------- hero (page title) */
.dw-hero {
	position: relative;
	z-index: 3;		/* above the (position: relative) bootstrap columns of the content, so the search suggestions overlay them */
	display: flex;
	align-items: center;
	min-height: 300px;
	margin: 0 0 40px 0;
	padding: 36px 5%;
	background: #3d4a57 url('/img/hero-support.jpg') 70% 30% / cover no-repeat;   /* photo from www.dewetron.com/support-and-service */
}
.dw-hero-card {
	max-width: 760px;
	padding: 26px 34px 28px 34px;
	border-radius: var(--dw-radius);
	background: rgba(87, 87, 86, .62);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
}
.dw-eyebrow {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
}
body.dw-site .dw-hero h1 {
	margin: 0;
	color: #fff;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: .01em;
	text-transform: uppercase;
	word-wrap: break-word;
}
/* detail page whose content is only a picture: the picture is the hero */
.dw-hero-image { min-height: clamp(300px, 30vw, 460px); background-color: #3d4a57; background-position: center; background-size: cover; background-repeat: no-repeat; }
@media (max-width: 767px) {
	.dw-hero { min-height: 170px; padding: 22px 16px; }
	.dw-hero-card { padding: 18px 20px; }
	body.dw-site .dw-hero h1 { font-size: 28px; }
	.dw-eyebrow { font-size: 11px; letter-spacing: .22em; }
}

/* ---------------------------------------------------------------- buttons, forms */
body.dw-site .btn {
	border: 0;
	border-radius: var(--dw-radius);
	padding: 8px 20px;
	font-family: var(--dw-font);
	letter-spacing: .04em;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.dw-site .btn-xs { padding: 3px 10px; font-size: 12px; border-radius: 10px; }
body.dw-site .btn-sm { padding: 5px 14px; font-size: 13px; border-radius: 12px; }
body.dw-site .btn-lg { padding: 12px 26px; font-size: 16px; }
body.dw-site .btn-primary, body.dw-site .btn-info { background: var(--dw-action); color: #fff; }
body.dw-site .btn-primary:hover, body.dw-site .btn-primary:focus, body.dw-site .btn-primary:active,
body.dw-site .btn-info:hover, body.dw-site .btn-info:focus { background: var(--dw-action-dark); color: #fff; text-decoration: none; }
body.dw-site .btn-success { background: var(--dw-blue-dark); color: #fff; }
body.dw-site .btn-success:hover, body.dw-site .btn-success:focus { background: var(--dw-blue-dark); color: #fff; }
body.dw-site .btn-default { background: var(--dw-light); color: var(--dw-grey); }
body.dw-site .btn-default:hover, body.dw-site .btn-default:focus { background: var(--dw-line); color: var(--dw-text); }
body.dw-site .btn-warning { background: #ffc107; color: #222; }
body.dw-site .btn-danger { background: #dc3545; color: #fff; }
body.dw-site .btn-link { background: transparent; color: var(--dw-blue); text-transform: none; padding-left: 0; padding-right: 0; }
body.dw-site .btn[disabled], body.dw-site .btn.disabled { opacity: .5; }

body.dw-site .form-control {
	height: 44px;
	padding: 8px 18px;
	border: 0;
	border-radius: var(--dw-radius);
	background-color: var(--dw-light);
	box-shadow: none;
	color: var(--dw-text);
	font-family: var(--dw-font);
	font-size: 16px;
}
body.dw-site textarea.form-control { height: auto; }
body.dw-site .form-control:focus { box-shadow: 0 0 0 2px var(--dw-cyan); background-color: #fff; }
body.dw-site .form-control::placeholder, .dw-search input::placeholder, .dw-filter input::placeholder { color: var(--dw-placeholder); opacity: 1; }
body.dw-site select.form-control { padding-right: 36px; }
body.dw-site label { font-weight: 400; color: var(--dw-grey); }
body.dw-site .has-error .form-control { box-shadow: 0 0 0 2px #dc3545; }
body.dw-site .selectize-input { border: 0; border-radius: var(--dw-radius); background: var(--dw-light); box-shadow: none; padding: 10px 14px; }
body.dw-site .selectize-dropdown { border: 0; border-radius: var(--dw-radius); box-shadow: 0 12px 32px rgba(0, 0, 0, .14); overflow: hidden; }

/* ---------------------------------------------------------------- home page tiles (blue boxes in Productfamilies/index.ctp) */
body.dw-site .bg-primary {
	padding: 6px 26px 26px 26px;
	border-radius: var(--dw-radius);
	background: var(--dw-light);
	color: var(--dw-text);
}
body.dw-site .bg-primary h2 { color: var(--dw-text); }
body.dw-site #DownloadForm .form-control { color: var(--dw-text); background-color: #fff; }
body.dw-site #DownloadForm .form-control[disabled] { color: #aaa; }
body.dw-site #DownloadForm select { background-color: #fff; border: 0; }
body.dw-site #DownloadForm input#sn { background-color: #fff; color: var(--dw-text); }
body.dw-site #DownloadForm input[type=submit], body.dw-site .bg-primary .btn-default {
	margin: 15px auto;
	background: var(--dw-action);
	color: #fff;
}
body.dw-site #DownloadForm input[type=submit]:hover, body.dw-site .bg-primary .btn-default:hover { background: var(--dw-action-dark); }
body.dw-site #DownloadForm .form-group { margin-bottom: 14px; }
body.dw-site #DownloadForm input[type=submit] { max-width: 100%; white-space: normal; }

/* news cards on the home page */
body.dw-site .news .card {
	border: 0 !important;
	border-radius: var(--dw-radius);
	background: var(--dw-light);
	box-shadow: none;
}
body.dw-site .news .card-title h4 { margin: 14px 0 6px 0; font-size: 18px; text-transform: uppercase; letter-spacing: .02em; }
body.dw-site div.newsitem h3 { font-weight: 400; text-transform: uppercase; }
body.dw-site div.newsitem h3 a { color: var(--dw-text); }

/* ---------------------------------------------------------------- tables, panels, tabs, labels */
body.dw-site .table > thead > tr > th { border-bottom: 2px solid var(--dw-line); color: var(--dw-grey); font-weight: 400; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
body.dw-site .table > tbody > tr > td, body.dw-site .table > thead > tr > th { border-top-color: var(--dw-line); vertical-align: middle; }
body.dw-site .table-hover > tbody > tr:hover { background: #f8f8f8; }
body.dw-site .table a { color: var(--dw-blue); }
body.dw-site .table a:hover { color: var(--dw-cyan); }
body.dw-site .table a.btn-primary, body.dw-site .table a.btn-success { color: #fff; }
body.dw-site .table a.btn-default, body.dw-site .table a.btn-link { color: var(--dw-grey); }

body.dw-site .panel { border: 0; border-radius: var(--dw-radius); background: var(--dw-light); box-shadow: none; overflow: hidden; }
body.dw-site .panel-default > .panel-heading { padding: 14px 22px; border: 0; background: transparent; color: var(--dw-text); }
body.dw-site .panel-title { font-size: 18px; text-transform: uppercase; letter-spacing: .04em; }
body.dw-site .panel-title a { color: var(--dw-text); }
body.dw-site .panel-title a:hover { color: var(--dw-blue); }
body.dw-site .panel-body { background: #fff; }
body.dw-site .panel-footer { border: 0; background: var(--dw-light); }
body.dw-site .panel-group .panel + .panel { margin-top: 12px; }

body.dw-site .nav-tabs, body.dw-site .nav-pills { border-bottom: 1px solid var(--dw-line); }
body.dw-site .nav-tabs > li > a, body.dw-site .nav-pills > li > a {
	border: 0;
	border-radius: 20px 20px 0 0;
	color: var(--dw-grey);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px;
}
body.dw-site .nav-tabs > li.active > a, body.dw-site .nav-tabs > li.active > a:hover, body.dw-site .nav-tabs > li.active > a:focus,
body.dw-site .nav-pills > li.active > a, body.dw-site .nav-pills > li.active > a:hover { background: var(--dw-light); color: var(--dw-blue); border: 0; }

body.dw-site .label { border-radius: 10px; padding: .3em .8em; font-weight: 400; letter-spacing: .03em; }
body.dw-site .label-info { background: var(--dw-action); }
body.dw-site .label-warning { background: #ffc107; color: #222; }
body.dw-site .well { border: 0; border-radius: var(--dw-radius); background: var(--dw-light); box-shadow: none; }
body.dw-site .alert { border: 0; border-radius: var(--dw-radius); }
body.dw-site .alert-success { background: #e6f4ec; color: #14653f; }
body.dw-site .alert-info { background: #e5f6fd; color: var(--dw-blue-dark); }
body.dw-site .alert-warning { background: #fff5d6; color: #6b5300; }
body.dw-site .alert-danger { background: #fbe7ea; color: #9a1f2d; }
body.dw-site .flash-messages .alert, body.dw-site .flash-messages .message { margin: 0 0 14px 0; padding: 14px 22px; border-radius: var(--dw-radius); }
body.dw-site .pagination > li > a, body.dw-site .pagination > li > span { border: 0; margin: 0 3px; border-radius: 12px !important; color: var(--dw-grey); }
body.dw-site .pagination > .active > a, body.dw-site .pagination > .active > span { background: var(--dw-blue); color: #fff; }
body.dw-site .modal-content { border: 0; border-radius: var(--dw-radius); box-shadow: 0 20px 60px rgba(0, 0, 0, .25); }
body.dw-site .tooltip-inner { border-radius: 10px; background: var(--dw-grey); }
body.dw-site .ds-btn li { list-style: none; float: left; padding: 10px; }
body.dw-site .ds-btn li a span { display: inline-block; width: 100%; padding-left: 15px; padding-right: 5px; text-align: left; }
body.dw-site .ds-btn li a span small { display: inline-block; width: 100%; text-align: left; color: rgba(255, 255, 255, .85); }
body.dw-site td code { padding: 0; background: transparent; color: #000; }
body.dw-site .out > td.small.bg-warning { background: var(--dw-light); }
body.dw-site li.downloadbasket td, body.dw-site li.downloadbasket th { border-color: var(--dw-line) !important; }

/* ---------------------------------------------------------------- footer */
.dw-footer {
	flex-shrink: 0;
	background: #222;
	color: #cfcfce;
	font-size: 13px;
	line-height: 1.6;
}
.dw-footer-inner { max-width: 1500px; margin: 0 auto; padding: 26px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
body.dw-site .dw-footer a { color: #fff; }
body.dw-site .dw-footer a:hover, body.dw-site .dw-footer a:focus { color: var(--dw-cyan); }
.dw-footer-brand { flex: 1 1 auto; margin-right: 24px; }
.dw-footer-links a { margin-left: 22px; letter-spacing: .08em; text-transform: uppercase; }
.dw-footer-note { flex: 1 0 100%; margin-top: 8px; color: #8d8d8c; font-size: 12px; }
@media (max-width: 767px) { .dw-footer-links a { margin: 0 18px 0 0; } .dw-footer-links { margin-top: 8px; } }

/* ---------------------------------------------------------------- notifications (Common->flash(), noscript) */
body.dw-site .flash-messages, body.dw-site .flashMessages { display: block; width: 100%; margin: 0 0 24px 0; text-align: left; }
body.dw-site .flash-messages .message, body.dw-site .flashMessages .message {
	display: block;
	width: 100%;
	margin: 0 0 12px 0;
	padding: 14px 22px;
	border-radius: var(--dw-radius);
	text-align: left;
}
body.dw-site .flash-messages .message.success, body.dw-site .flashMessages .message.success { background: #e6f4ec; color: #14653f; }
body.dw-site .flash-messages .message.info, body.dw-site .flashMessages .message.info { background: #e5f6fd; color: var(--dw-blue-dark); }
body.dw-site .flash-messages .message.warning, body.dw-site .flashMessages .message.warning { background: #fff5d6; color: #6b5300; }
body.dw-site .flash-messages .message.danger, body.dw-site .flash-messages .message.error,
body.dw-site .flashMessages .message.danger, body.dw-site .flashMessages .message.error { background: #fbe7ea; color: #9a1f2d; }

/* ---------------------------------------------------------------- accessibility */
.dw-skip {
	position: fixed;
	top: -80px; left: 12px;
	z-index: 2000;
	padding: 10px 18px;
	border-radius: 0 0 var(--dw-radius) var(--dw-radius);
	background: var(--dw-action-dark);
	color: #fff !important;
	transition: top .15s ease;
}
.dw-skip:focus { top: 0; text-decoration: none; }
body.dw-site :focus-visible { outline: 3px solid var(--dw-cyan); outline-offset: 2px; }
body.dw-site .form-control:focus-visible, .dw-search input:focus-visible { outline: none; }
body.dw-site main:focus { outline: none; }
body.dw-site input[type=checkbox], body.dw-site input[type=radio] { width: 20px; height: 20px; accent-color: var(--dw-action); cursor: pointer; vertical-align: middle; }
@media (prefers-reduced-motion: reduce) {
	body.dw-site *, body.dw-site *::before, body.dw-site *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------------------------------------------------------------- download lists (filter, sticky basket bar) */
.dw-filter { position: relative; margin: 0 0 18px 0; }
.dw-filter input[type=search] {
	width: 100%;
	height: 48px;
	padding: 0 150px 0 22px;
	border: 0;
	border-radius: 24px;
	background: var(--dw-light);
	color: var(--dw-text);
	font-size: 16px;
	-webkit-appearance: none;
	appearance: none;
}
.dw-filter input[type=search]:focus { background: #fff; box-shadow: 0 0 0 2px var(--dw-cyan); outline: none; }
.dw-filter-count { position: absolute; top: 0; right: 22px; line-height: 48px; font-size: 13px; color: var(--dw-grey); pointer-events: none; }
.dw-filter-empty input[type=search] { box-shadow: 0 0 0 2px #dc3545; }
body.dw-site .dw-selectall { float: left; margin-right: 8px; }
body.dw-site .panel-collapse { overflow-x: auto; }

.dw-basket-bar {
	position: fixed;
	left: 50%; bottom: 18px;
	z-index: 1020;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: calc(100% - 24px);
	padding: 10px 12px 10px 22px;
	border-radius: 32px;
	background: #fff;
	box-shadow: 0 10px 34px rgba(0, 0, 0, .22);
	transform: translateX(-50%);
}
.dw-basket-bar[hidden] { display: none; }
.dw-basket-count { white-space: nowrap; color: var(--dw-text); }
.dw-basket-limit { white-space: nowrap; color: #9a1f2d; font-size: 13px; }
.dw-basket-limit[hidden] { display: none; }
.dw-basket-bar .btn { margin: 0; white-space: nowrap; }
@media (max-width: 480px) {
	.dw-basket-bar { gap: 8px; padding: 8px 8px 8px 14px; }
	.dw-basket-bar .dw-basket-clear { display: none; }
	.dw-basket-bar .btn { padding: 8px 14px; font-size: 13px; letter-spacing: .02em; }
}

/* download lists on phones: every row is a compact card (name + badges, version/date, copy link + notes) with a big check box at the right
   edge; the "select all" / "add to basket" buttons are full width and stacked (no sideways scrolling) */
@media (max-width: 767px) {
	body.dw-site #accordion .table, body.dw-site #accordion .table > tbody { display: block; width: 100%; }
	body.dw-site #accordion .table > tbody > tr.dw-dl { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 10px; row-gap: 8px; padding: 14px 6px 14px 16px; border-top: 1px solid var(--dw-line); }
	body.dw-site #accordion .table > tbody > tr.dw-dl:first-child { border-top: 0; }
	body.dw-site #accordion .table > tbody > tr.dw-dl > td { display: block; width: auto !important; padding: 0 !important; border: 0 !important; text-align: left; }
	body.dw-site #accordion tr.dw-dl > td.dw-empty { display: none !important; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-name { order: 1; flex: 1 1 calc(100% - 70px); min-width: 0; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-name > a { display: inline; font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-sel { order: 2; flex: 0 0 56px; margin-left: auto; text-align: center; position: static; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-sel input[type=checkbox] { width: 28px; height: 28px; margin: 0 0 6px; cursor: pointer; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-ver { order: 3; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-os { order: 4; flex: 1 1 auto; font-size: 13px; line-height: 1.5; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-cnt { order: 5; font-size: 13px; }
	body.dw-site #accordion tr.dw-dl > td.dw-c-act { order: 6; flex: 0 0 100%; display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; }
	body.dw-site #accordion tr.dw-dl .dw-md5, body.dw-site #accordion tr.dw-dl small { overflow-wrap: anywhere; }
	/* the notes row stays closed until Bootstrap opens it (.collapse / .in) */
	body.dw-site #accordion tr.dw-notes-row.collapse:not(.in) { display: none; }
	body.dw-site #accordion tr.dw-notes-row.collapse.in { display: block; }
	body.dw-site #accordion tr.dw-notes-row > td { display: block; width: auto !important; }
	body.dw-site #accordion tbody > tr.dw-notes-row > td.dw-notes { padding: 14px 16px; }

	/* buttons below a section */
	body.dw-site #accordion tr.dw-addrow { display: block; border-top: 1px solid var(--dw-line); }
	body.dw-site #accordion tr.dw-addrow > td { display: flex !important; flex-direction: column; align-items: stretch; gap: 10px; width: auto !important; padding: 14px 16px !important; border: 0 !important; }
	body.dw-site #accordion tr.dw-addrow .btn { float: none !important; width: 100%; margin: 0 !important; white-space: normal; text-align: center; padding: 12px 16px; }
	body.dw-site .dw-selectall { float: none; margin: 0; }
}

/* ---------------------------------------------------------------- error pages (Errors/error400.ctp, error500.ctp) */
.dw-error { max-width: 640px; margin: 10px 0 30px 0; }
.dw-error-code { margin: 0; color: var(--dw-cyan); font-size: 72px; font-weight: 700; line-height: 1; letter-spacing: .02em; }
.dw-error .btn { margin: 6px 8px 0 0; }

/* ---------------------------------------------------------------- badges */
.dw-badges { display: inline-block; }
.dw-badge {
	display: inline-block;
	margin: 2px 4px 2px 0;
	padding: 1px 10px;
	border-radius: 12px;
	background: #e9eef2;
	color: #3a3a39;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 20px;
	white-space: nowrap;
}
.dw-badge-type { text-transform: uppercase; }
.dw-type-installer { background: #dff1fb; color: #005f94; }
.dw-type-archive { background: #efe9dd; color: #6b5300; }
.dw-type-document { background: #e3f1e8; color: #14653f; }
.dw-type-other { background: #eceff1; color: #3f4a52; }
.dw-badge-version { background: #fff; box-shadow: inset 0 0 0 1px var(--dw-link); color: var(--dw-link); }
.dw-badge-new { background: #ffc107; color: #222; text-transform: uppercase; }
.dw-date { color: var(--dw-grey); }

/* ---------------------------------------------------------------- list toolbar (filter + sort) */
.dw-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 0 0 18px 0; }
.dw-toolbar .dw-filter { flex: 1 1 320px; margin: 0; }
.dw-sort { display: flex; align-items: center; gap: 10px; }
.dw-sort label { margin: 0; white-space: nowrap; }
body.dw-site .dw-sort select.form-control { width: auto; min-width: 200px; height: 48px; padding-left: 20px; border-radius: 24px; }

/* ---------------------------------------------------------------- copy link */
.dw-copylink {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 9px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--dw-grey);
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.dw-copylink:hover, .dw-copylink:focus-visible { background: var(--dw-light); color: var(--dw-action-dark); }
.dw-copylink.dw-copied { background: #e6f4ec; color: #14653f; }
.dw-copylink.dw-copy-failed { background: #fbe7ea; color: #9a1f2d; }
.dw-copylink-label { white-space: nowrap; }

/* ---------------------------------------------------------------- search suggestions */
.dw-search, .dw-bigsearch { position: relative; }
.dw-suggest {
	position: absolute;
	top: calc(100% + 6px);
	left: 0; right: 0;
	z-index: 1040;
	max-height: 70vh;
	padding: 6px 0;
	overflow-y: auto;
	border-radius: var(--dw-radius);
	background: #fff;
	box-shadow: 0 14px 38px rgba(0, 0, 0, .2);
	text-align: left;
}
.dw-suggest[hidden] { display: none; }
.dw-search .dw-suggest { left: auto; min-width: 380px; }
.dw-suggest-group { padding: 10px 20px 3px; color: #6b6b6a; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.dw-suggest-item { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 9px 20px; color: var(--dw-text); }
.dw-suggest-item:hover, .dw-suggest-item.dw-active { background: var(--dw-light); color: var(--dw-action-dark); text-decoration: none; }
.dw-suggest-hint { flex: 0 0 auto; color: var(--dw-grey); font-size: 12px; }
.dw-suggest-empty { padding: 14px 20px; color: var(--dw-grey); }
body.dw-site kbd { padding: 1px 7px; border-radius: 6px; background: rgba(255, 255, 255, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); color: inherit; font-size: .85em; }

/* ---------------------------------------------------------------- start page (/start) */
.dw-hero-search { min-height: 440px; }
.dw-hero-card-search { width: 100%; max-width: 880px; padding: 38px 44px 30px 44px; }
body.dw-site .dw-hero-search h1 { font-size: 44px; }
.dw-bigsearch { display: flex; margin: 24px 0 16px 0; }
.dw-bigsearch input[type=text] {
	flex: 1 1 auto;
	min-width: 0;
	height: 64px;
	padding: 0 28px;
	border: 0;
	border-radius: 32px 0 0 32px;
	background: #fff;
	color: var(--dw-text);
	font-size: 18px;
	outline: none;
}
.dw-bigsearch input[type=text]:focus { box-shadow: 0 0 0 3px var(--dw-cyan); position: relative; z-index: 1; }
.dw-bigsearch input[type=text]::placeholder { color: var(--dw-placeholder); opacity: 1; }
.dw-bigsearch button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 64px;
	padding: 0 30px;
	border: 0;
	border-radius: 0 32px 32px 0;
	background: var(--dw-action);
	color: #fff;
	font-size: 15px;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.dw-bigsearch button:hover { background: var(--dw-action-dark); }
.dw-hints { margin: 0 0 4px 0; }
.dw-hints > span { margin-right: 12px; color: rgba(255, 255, 255, .9); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
body.dw-site .dw-hints .dw-chip { margin: 0 8px 8px 0; background: rgba(255, 255, 255, .22); color: #fff; }
body.dw-site .dw-hints .dw-chip:hover { background: #fff; color: var(--dw-action-dark); }
.dw-hero-note { margin: 6px 0 0 0; color: rgba(255, 255, 255, .8); font-size: 13px; }
.dw-chip { display: inline-block; padding: 6px 16px; border-radius: 18px; font-size: 14px; transition: background-color .2s ease, color .2s ease; }
.dw-chip:hover, .dw-chip:focus { text-decoration: none; }

.dw-section { margin: 0 0 56px 0; }
.dw-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.dw-card { padding: 22px 24px 14px 24px; border-radius: var(--dw-radius); background: var(--dw-light); }
body.dw-site .dw-card h3 { margin: 0 0 12px 0; font-size: 18px; }
body.dw-site .dw-chips .dw-chip { margin: 0 8px 8px 0; background: #fff; color: var(--dw-link); }
body.dw-site .dw-chips .dw-chip:hover { background: var(--dw-action); color: #fff; }

.dw-latest { margin: 0; padding: 0; list-style: none; }
.dw-latest > li { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 4px; border-bottom: 1px solid var(--dw-line); }
.dw-latest-main { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; }
.dw-latest-name { flex: 1 0 100%; font-size: 17px; }
.dw-latest-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }

.dw-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.dw-post { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--dw-radius); background: #fff; box-shadow: 0 2px 16px rgba(0, 0, 0, .09); transition: box-shadow .2s ease, transform .2s ease; }
.dw-post:hover { box-shadow: 0 8px 28px rgba(0, 0, 0, .14); transform: translateY(-2px); }
.dw-post-img { display: block; background: var(--dw-light); }
.dw-post-img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.dw-post-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 18px 22px 22px 22px; }
.dw-post-meta { margin: 0 0 8px 0; color: var(--dw-grey); font-size: 13px; }
body.dw-site .dw-post h3 { margin: 0 0 8px 0; font-size: 18px; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.dw-post h3 a { color: var(--dw-text); }
.dw-post h3 a:hover { color: var(--dw-action-dark); }
.dw-post-body p { color: var(--dw-grey); }
.dw-readmore { margin-top: auto; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }

.dw-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px 38px; border-radius: var(--dw-radius); background: var(--dw-light); }
body.dw-site .dw-cta h2 { margin: 0 0 6px 0; }
body.dw-site .dw-cta h2::after { display: none; }
.dw-cta p { margin: 0; color: var(--dw-grey); }

/* ---------------------------------------------------------------- download page (/vdl/<id>) */
.dw-dlpage { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; }
.dw-dlpage-desc { margin: 0 0 24px 0; }
.dw-meta { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 10px 20px; margin: 0; }
.dw-meta dt { color: var(--dw-grey); font-size: 13px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; }
.dw-meta dd { margin: 0; word-break: break-word; }
.dw-meta code { color: var(--dw-text); background: var(--dw-light); font-size: 13px; word-break: break-all; }
.dw-dlpage-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 24px; border-radius: var(--dw-radius); background: var(--dw-light); }
.dw-dlpage-actions .dw-copylink { justify-content: flex-start; background: #fff; }
.dw-dlpage-actions .dw-copylink:hover { background: #fff; }

@media (max-width: 991px) {
	.dw-dlpage { grid-template-columns: 1fr; gap: 24px; }
	.dw-hero-card-search { padding: 28px 26px 22px 26px; }
	body.dw-site .dw-hero-search h1 { font-size: 34px; }
}
@media (max-width: 767px) {
	.dw-hero-search { min-height: 0; }
	body.dw-site .dw-hero-search h1 { font-size: 28px; }
	.dw-bigsearch input[type=text] { height: 54px; padding: 0 18px; font-size: 16px; }
	.dw-bigsearch button { height: 54px; padding: 0 18px; }
	.dw-search .dw-suggest { min-width: 0; left: 0; }
	.dw-latest > li { flex-direction: column; align-items: flex-start; }
	.dw-cta { flex-direction: column; align-items: flex-start; }
	.dw-meta { grid-template-columns: 1fr; gap: 2px 0; }
	.dw-meta dd { margin-bottom: 10px; }
	.dw-sort { width: 100%; }
	body.dw-site .dw-sort select.form-control { flex: 1 1 auto; }
}
@media (max-width: 480px) { .dw-bigsearch button span { display: none; } }

/* ---------------------------------------------------------------- download lists: clear rows, visible notes */
body.dw-site #accordion .panel { background: #fff; border: 1px solid var(--dw-line); box-shadow: 0 1px 3px rgba(0,0,0,.05); }
body.dw-site #accordion .panel-heading { background: var(--dw-light); border-bottom: 1px solid var(--dw-line); }
body.dw-site #accordion .table { margin-bottom: 0; background: #fff; }
body.dw-site #accordion .table > tbody > tr.dw-dl > td { padding: 14px 12px; border-top: 1px solid var(--dw-line); }
body.dw-site #accordion .table > tbody > tr.dw-dl:first-child > td { border-top: 0; }
body.dw-site #accordion .table > tbody > tr.dw-dl:hover { background: #eef6fb; }
body.dw-site #accordion .table > tbody > tr.dw-dl > td:first-child { padding-left: 22px; }
body.dw-site #accordion .table > tbody > tr.dw-dl > td:first-child > a { font-size: 16px; font-weight: 600; }
body.dw-site #accordion .table > tbody > tr.dw-dl small { color: var(--dw-grey); }
body.dw-site #accordion .table > tbody > tr.dw-dl small b { font-weight: 400; }
body.dw-site #accordion .table > tbody > tr > td[colspan] { background: var(--dw-light); border-top: 1px solid var(--dw-line); }

/* the "Notes" button: a real, bordered button that shows its state */
.dw-notes-btn {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; border: 1px solid var(--dw-link); border-radius: 999px;
	background: #fff; color: var(--dw-link) !important; font-family: inherit; cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.2; text-decoration: none !important; white-space: nowrap;
}
.dw-notes-btn:hover, .dw-notes-btn:focus-visible { background: var(--dw-link); color: #fff !important; }
.dw-notes-btn[aria-expanded="true"] { background: var(--dw-link); color: #fff !important; }
.dw-notes-caret { font-size: 11px; transition: transform .15s; }
.dw-notes-btn[aria-expanded="true"] .dw-notes-caret { transform: rotate(180deg); }

/* the opened notes: highlighted block with an accent bar, clearly different from the list */
body.dw-site #accordion .table > tbody > tr.dw-notes-row > td.dw-notes {
	padding: 16px 22px 16px 30px; background: #eaf4fb; border-top: 0; border-left: 4px solid var(--dw-action);
	font-size: 14px; line-height: 1.5; color: var(--dw-text);
}
.dw-notes-title { margin-bottom: 6px; color: var(--dw-link); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dw-notes p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	body.dw-site #accordion tbody > tr.dw-notes-row.in > td.dw-notes { padding: 14px 16px; }
	.dw-notes-btn { margin-top: 6px; }
}



/* ---------------------------------------------------------------- management area (Layouts/admin.ctp) */
.dw-admin-header .dw-brand-label { font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--dw-line); }
.dw-admin-user { margin: 0 0 0 auto; padding: 0; display: flex; align-items: center; gap: 4px; list-style: none; }
.dw-admin-user > li > a, .dw-admin-who span { display: block; padding: 8px 12px; font-size: 14px; color: var(--dw-grey); }
.dw-admin-user > li > a:hover { color: var(--dw-blue); text-decoration: none; }
.dw-admin-who span { color: var(--dw-text); font-weight: 600; }
.dw-admin-navtoggle { display: none; margin-left: auto; padding: 8px 14px; border: 1px solid var(--dw-line); border-radius: 999px; background: #fff; color: var(--dw-grey); font-size: 14px; }

.dw-admin-wrap { display: flex; align-items: flex-start; min-height: calc(100vh - var(--dw-header-h)); }
.dw-admin-nav {
	flex: 0 0 250px; width: 250px; box-sizing: border-box;
	position: sticky; top: var(--dw-header-h); height: calc(100vh - var(--dw-header-h)); overflow-y: auto;
	padding: 22px 14px 30px; background: #f6f7f9; border-right: 1px solid var(--dw-line);
}
.dw-admin-nav.collapse { display: block; }
.dw-admin-group { margin: 18px 12px 6px; color: var(--dw-grey); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.dw-admin-group:first-child { margin-top: 0; }
.dw-admin-nav ul { margin: 0; padding: 0; list-style: none; }
.dw-admin-nav li { position: relative; display: flex; align-items: center; margin: 1px 0; border-radius: 10px; }
.dw-admin-nav li > a:first-child { flex: 1 1 auto; padding: 9px 12px; border-radius: 10px; color: var(--dw-text); font-size: 15px; }
.dw-admin-nav li > a:first-child .fa { color: var(--dw-grey); margin-right: 6px; }
.dw-admin-nav li:hover { background: #e9edf2; }
.dw-admin-nav li > a:hover { text-decoration: none; }
.dw-admin-nav li.active { background: #fff; box-shadow: inset 3px 0 0 var(--dw-action), 0 1px 3px rgba(0,0,0,.08); }
.dw-admin-nav li.active > a:first-child { font-weight: 600; color: var(--dw-link); }
.dw-admin-nav li.active > a:first-child .fa { color: var(--dw-action); }
.dw-admin-add { flex: 0 0 auto; width: 28px; height: 28px; margin-right: 6px; border-radius: 50%; color: var(--dw-grey); text-align: center; line-height: 28px; font-size: 12px; opacity: 0; transition: opacity .15s; }
.dw-admin-nav li:hover .dw-admin-add, .dw-admin-add:focus { opacity: 1; background: var(--dw-action); color: #fff; }

.dw-admin-main { flex: 1 1 auto; min-width: 0; padding: 30px 40px 70px; }
.dw-admin-main h2 { margin: 0 0 22px; font-size: 30px; font-weight: 400; text-transform: uppercase; letter-spacing: .03em; }
.dw-admin-main h3 { margin-top: 28px; font-size: 18px; }
.dw-admin-main .table { background: #fff; border: 1px solid var(--dw-line); border-radius: 12px; overflow: hidden; border-collapse: separate; border-spacing: 0; }
.dw-admin-main .table > thead > tr > th { background: #f6f7f9; border-bottom: 1px solid var(--dw-line); }
.dw-admin-main .table > tbody > tr > td { padding: 12px; }
.dw-admin-main .table-hover > tbody > tr:hover { background: #eef6fb; }
.dw-admin-main .form-control { border-radius: 10px; border-color: #cfd4da; box-shadow: none; }
.dw-admin-main .form-control:focus { border-color: var(--dw-cyan); box-shadow: 0 0 0 2px rgba(0,177,235,.3); }
.dw-admin-main .btn { border-radius: 999px; }
.dw-admin-main .btn-xs { padding: 3px 12px; }
.dw-admin-main .label { border-radius: 999px; padding: .3em .8em; font-weight: 600; }
.dw-admin-main .pagination > li > a, .dw-admin-main .pagination > li > span { margin: 0 2px; border-radius: 8px; border: 0; color: var(--dw-link); }
.dw-admin-main .pagination > .active > a, .dw-admin-main .pagination > .active > span { background: var(--dw-action); color: #fff; }
.dw-admin-main .alert { border-radius: 12px; }
.dw-admin-main .well, .dw-admin-main .panel { border-radius: 12px; }
.dw-admin-main label { font-weight: 600; }

@media (max-width: 991px) {
	.dw-admin-navtoggle { display: inline-block; }
	.dw-admin-user { display: none; }
	.dw-admin-wrap { display: block; }
	.dw-admin-nav { position: static; width: auto; height: auto; border-right: 0; border-bottom: 1px solid var(--dw-line); }
	.dw-admin-nav.collapse:not(.in) { display: none; }
	.dw-admin-main { padding: 22px 16px 50px; }
	.dw-admin-add { opacity: 1; }
}

/* per-row action choice in the download list (radio buttons shown as a button group): hide the radio, mark the chosen button */
.dw-admin-main .btn-group > label.btn { margin: 0; }
.dw-admin-main .btn-group > label.btn > input[type=radio] { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.dw-admin-main .btn-group > label.btn:has(> input:checked) { box-shadow: inset 0 0 0 2px #222; }
.dw-admin-main .btn-group > label.btn-default:has(> input:checked) { background: #fff; }
.dw-admin-main .btn-group > .btn, .dw-admin-main .btn-group > label.btn { border-radius: 0; }
.dw-admin-main .btn-group > .btn:first-child { border-radius: 999px 0 0 999px; }
.dw-admin-main .btn-group > .btn:last-child { border-radius: 0 999px 999px 0; }
.dw-admin-main .btn-group .btn-link { border-radius: 8px; }
.dw-admin-main td .btn-group { display: inline-flex; flex-wrap: nowrap; white-space: nowrap; }

/* ---------------------------------------------------------------- management lists: search toolbar, readable rows */
.dw-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 18px; }
.dw-tsearch { position: relative; display: flex; align-items: center; flex: 1 1 380px; max-width: 640px; gap: 8px; padding: 4px 6px 4px 16px; border-radius: 999px; background: var(--dw-light); color: var(--dw-grey); }
.dw-tsearch:focus-within { box-shadow: 0 0 0 2px var(--dw-cyan); }
.dw-tsearch input[type=search] { flex: 1 1 auto; min-width: 0; padding: 8px 4px; border: 0; background: transparent; font-size: 16px; color: var(--dw-text); outline: 0; box-shadow: none; }
.dw-tsearch input[type=search]::placeholder { color: var(--dw-placeholder); }
.dw-tclear { padding: 0 8px; font-size: 14px; white-space: nowrap; }
.dw-toolbar > .btn { margin-left: auto; }
.dw-tresult { margin: -6px 0 14px; color: var(--dw-grey); }

.dw-list > thead > tr > th { padding: 12px; font-size: 13px; white-space: nowrap; }
.dw-list > tbody > tr > td { vertical-align: top; padding: 16px 12px; }
.dw-col-check { width: 40px; text-align: center; }
.dw-col-check input { width: 18px; height: 18px; cursor: pointer; }
.dw-col-name { min-width: 240px; }
.dw-name { font-size: 17px; font-weight: 600; line-height: 1.35; }
.dw-sub { margin-top: 3px; color: var(--dw-grey); font-size: 13px; line-height: 1.45; word-break: break-word; }
.dw-status { display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; vertical-align: 2px; }
.dw-on { background: #e6f4ec; color: #14653f; }
.dw-off { background: #f6dfe2; color: #9a1f2d; }
.dw-col-rel { min-width: 220px; }
.dw-rel { margin: 0 0 6px; line-height: 2; }
.dw-rel-cap { display: inline-block; min-width: 68px; margin-right: 4px; color: var(--dw-grey); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dw-tag { display: inline-block; margin: 0 4px 4px 0; padding: 2px 11px; border-radius: 999px; background: #e8f1f8; color: var(--dw-link); font-size: 13px; line-height: 1.6; }
.dw-tag:hover { background: var(--dw-action); color: #fff; text-decoration: none; }
.dw-more { color: var(--dw-grey); font-size: 12px; }
.dw-perm { display: inline-block; margin: 0 4px 4px 0; padding: 2px 10px; border: 1px solid var(--dw-line); border-radius: 8px; background: #fff; color: var(--dw-text); font-size: 13px; }
.dw-order { display: inline-block; min-width: 44px; padding: 4px 10px; border-radius: 10px; background: #f0f2f5; color: var(--dw-text); font-size: 18px; font-weight: 700; line-height: 1.3; text-align: center; font-variant-numeric: tabular-nums; }
.dw-col-act { white-space: nowrap; }
.dw-acts { display: flex; flex-direction: column; align-items: stretch; gap: 6px; width: 120px; }
.dw-acts form { margin: 0; display: block; }
body.dw-site .dw-acts .btn, body.dw-site .dw-bulkbar .btn { display: block; width: 100%; padding: 6px 12px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; text-align: left; }
body.dw-site .dw-bulkbar .btn { display: inline-block; width: auto; text-align: center; }
.dw-acts .btn .fa { width: 16px; margin-right: 4px; }
.dw-acts .btn-default { background: #fff; border: 1px solid #cfd4da; color: var(--dw-text); }
.dw-acts .btn-default:hover { border-color: var(--dw-action); color: var(--dw-link); background: #f5faff; }
.dw-act-delete { border: 1px solid #e3b5bb !important; background: #fff !important; color: #9a1f2d !important; }
.dw-act-delete:hover { background: #fbe7ea !important; border-color: #dc3545 !important; text-decoration: none; }
.dw-bulkbar { position: sticky; top: calc(var(--dw-header-h) + 8px); z-index: 5; display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 16px; border-radius: 12px; background: #222; color: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.18); }
.dw-bulkbar[hidden] { display: none; }
.dw-bulkbar span { margin-right: auto; }
@media (max-width: 767px) { .dw-toolbar > .btn { margin-left: 0; width: 100%; } .dw-col-name, .dw-col-rel { min-width: 0; } }

/* signed-in user in the footer, "Admin" pill in the header, inactive rows in the management lists */
.dw-footer-links { display: flex; flex-wrap: wrap; align-items: center; }
.dw-account { display: inline-flex; align-items: center; gap: 6px; margin-left: 26px; padding: 4px 6px 4px 14px; border: 1px solid #555; border-radius: 999px; }
.dw-account-name { color: #fff; font-weight: 600; letter-spacing: .02em; }
body.dw-site .dw-footer .dw-account a { margin: 0; padding: 3px 12px; border-radius: 999px; background: #3a3a3a; }
body.dw-site .dw-footer .dw-account a:hover { background: var(--dw-action); color: #fff; text-decoration: none; }
body.dw-site .dw-footer .dw-account a.dw-account-admin { background: #ffc107; color: #222; }
.dw-admin-pill > a { color: #222 !important; background: #ffc107; border-radius: 999px; padding: 8px 16px !important; margin-right: 8px; font-weight: 600; }
.dw-admin-pill > a:hover { background: #ffb300; text-decoration: none; }
@media (max-width: 767px) { .dw-account { margin: 10px 0 0 0; } }

.dw-dlpage-inactive { margin: 4px 0 0; color: #9a1f2d; font-size: 13px; text-align: center; }

/* inactive rows: readable, marked by a pale tint and a red edge instead of a red background */
.dw-admin-main .table > tbody > tr.danger > td, .dw-admin-main .table > tbody > tr.danger:hover > td { background: #fbf1f2; color: #4a4a4a; }
.dw-admin-main .table > tbody > tr.danger > td:first-child { box-shadow: inset 4px 0 0 #dc3545; }
.dw-admin-main .table > tbody > tr.danger > td:first-child b > a, .dw-admin-main .table > tbody > tr.danger > td:first-child a { color: #6b6b6a; }
.dw-admin-main .table > tbody > tr.danger .small, .dw-admin-main .table > tbody > tr.danger small { color: #6b6b6a; }
/* ---------------------------------------------------------------- management forms (add / edit) */
.dw-admin-main h1 { margin: 0 0 22px; font-size: 30px; font-weight: 400; text-transform: uppercase; letter-spacing: .03em; }
.dw-admin-main form[id$="AddForm"], .dw-admin-main form[id$="EditForm"] {
	max-width: 1180px; padding: 26px 30px 12px; border: 1px solid var(--dw-line); border-radius: 14px; background: #fff;
}
.dw-admin-main form[id$="AddForm"] .form-group, .dw-admin-main form[id$="EditForm"] .form-group { margin-bottom: 20px; }
.dw-admin-main form .input { margin-bottom: 18px; }
.dw-admin-main form label { display: block; margin-bottom: 6px; color: var(--dw-text); font-size: 14px; }
.dw-admin-main form .bg-danger { padding: 12px 14px; border-radius: 12px; background: #fbf1f2; }
.dw-card { margin: 26px 0 8px; padding: 20px 22px 6px; border: 1px solid var(--dw-line); border-radius: 12px; background: #fafbfc; min-width: 0; }
.dw-card > legend { width: auto; margin: 0; padding: 0 8px; border: 0; color: var(--dw-grey); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.dw-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-bottom: 14px; }
.dw-admin-main form label.dw-choice, .dw-choice { position: relative; display: flex; align-items: flex-start; gap: 12px; margin: 0 !important; padding: 14px 16px; border: 2px solid var(--dw-line); border-radius: 12px; background: #fff; cursor: pointer; font-weight: 400 !important; }
.dw-choice:hover { border-color: #b9c7d3; }
.dw-choice:has(input:checked) { border-color: var(--dw-action); background: #f3f9fd; }
.dw-choice-warn:has(input:checked) { border-color: #dc3545; background: #fbf1f2; }
.dw-choice input[type=radio] { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; }
.dw-choice strong, .dw-switch-text strong { display: block; font-size: 16px; }
.dw-choice small, .dw-switch-text small { display: block; margin-top: 2px; color: var(--dw-grey); font-size: 13px; line-height: 1.45; }
.dw-note { margin: 0 0 14px; padding: 10px 14px; border-radius: 10px; background: #fff7e0; color: #6d5200; font-size: 13px; }
.dw-admin-main form label.dw-switch, .dw-switch { display: flex; align-items: center; gap: 14px; margin: 8px 0 14px !important; cursor: pointer; font-weight: 400 !important; }
.dw-switch input[type=checkbox], .dw-switch input[type=hidden] { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; pointer-events: none; }
.dw-switch-track { position: relative; flex: 0 0 auto; width: 48px; height: 28px; border-radius: 999px; background: #b8bec6; transition: background .15s; }
.dw-switch-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: left .15s; }
.dw-switch input:checked + .dw-switch-track { background: #1e9e62; }
.dw-switch input:checked + .dw-switch-track::after { left: 23px; }
.dw-switch input:focus-visible + .dw-switch-track { box-shadow: 0 0 0 3px rgba(0,177,235,.45); }
.dw-savebar { position: sticky; bottom: 0; z-index: 1000; margin: 18px -30px 0; padding: 14px 30px; border-top: 1px solid var(--dw-line); border-radius: 0 0 14px 14px; background: rgba(255,255,255,.96); }
.dw-savebar input[type=submit] { width: auto !important; min-width: 200px; display: block; margin-left: auto; padding: 10px 28px; border: 0; border-radius: 999px; background: var(--dw-action); color: #fff; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.dw-savebar input[type=submit]:hover { background: var(--dw-action-dark); }

/* multi-selects (selectize): tags with remove buttons, same look as the rest */
.dw-admin-main .selectize-control, .dw-admin-main .selectize-control.form-control { display: block; width: 100%; height: auto; padding: 0; border: 0; background: transparent; box-shadow: none; margin-bottom: 4px; }
.dw-admin-main .selectize-control.multi .selectize-input { min-height: 76px; }
.dw-admin-main .selectize-dropdown-content { max-height: 320px; }
.dw-admin-main .selectize-input { width: 100%; box-sizing: border-box; min-height: 46px; padding: 7px 10px; border: 1px solid #cfd4da; border-radius: 10px; box-shadow: none; background: #fff; font-size: 15px; }
.dw-admin-main .selectize-input.focus { border-color: var(--dw-cyan); box-shadow: 0 0 0 2px rgba(0,177,235,.3); }
.dw-admin-main .selectize-control.multi .selectize-input > div { margin: 2px 6px 2px 0; padding: 3px 4px 3px 12px; border: 0; border-radius: 999px; background: #e8f1f8; color: var(--dw-link); font-size: 14px; }
.dw-admin-main .selectize-control.multi .selectize-input > div.active { background: var(--dw-action); color: #fff; }
.dw-admin-main .selectize-control.plugin-remove_button [data-selectable] .remove { margin-left: 6px; padding: 0 8px; border: 0; border-radius: 0 999px 999px 0; color: inherit; font-size: 18px; line-height: 1.4; }
.dw-admin-main .selectize-control.plugin-remove_button [data-selectable] .remove:hover { background: rgba(0,0,0,.12); }
.dw-admin-main .selectize-dropdown, .dw-admin-main .selectize-dropdown.form-control { height: auto; padding: 0; background: #fff; z-index: 1100; }
.dw-admin-main .selectize-control.multi .selectize-input { max-height: 230px; overflow-y: auto; }
.dw-admin-main .selectize-dropdown .option { padding: 8px 12px; }
.dw-admin-main .selectize-dropdown .option .dw-optsub { color: var(--dw-grey); font-size: 12px; }
.dw-admin-main .selectize-dropdown { border: 1px solid #cfd4da; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.14); overflow: hidden; }
.dw-admin-main .selectize-dropdown .active { background: #e8f1f8; color: var(--dw-link); }

.dw-tablewrap { overflow-x: auto; border-radius: 12px; }
.dw-tablewrap > .table { margin-bottom: 0; }
@media (max-width: 1399px) { .dw-admin-main { padding: 24px 22px 60px; } .dw-col-rel { min-width: 180px; } .dw-col-name { min-width: 200px; } }
.dw-hint { margin: 0 0 14px; color: var(--dw-grey); font-size: 13px; line-height: 1.5; }
.dw-perm-staff { border-color: #e3c36a; background: #fff7e0; color: #6d5200; }
.dw-perm-none { border-color: #e3b5bb; background: #fbf1f2; color: #9a1f2d; }

/* ---------------------------------------------------------------- download report: quick ranges, loading cue, pager */
.dw-quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.dw-quick-btn { padding: 8px 18px; border: 1px solid #cfd4da; border-radius: 999px; background: #fff; color: var(--dw-text); font-size: 14px; font-weight: 600; }
.dw-quick-btn:hover { border-color: var(--dw-action); color: var(--dw-link); text-decoration: none; }
.dw-quick-btn.active { border-color: var(--dw-action); background: var(--dw-action); color: #fff; }
.dw-quick-btn.active:hover { color: #fff; }
.dw-reportform { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 20px; }
.dw-reportform label { margin: 0; font-weight: 600; }
.dw-reportform .form-control { width: auto; }
.dw-report-sum { font-size: 16px; }
.dw-report-range { color: var(--dw-grey); font-size: 13px; }
.dw-spinner { display: none; width: 16px; height: 16px; margin-left: 8px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; vertical-align: -3px; animation: dw-spin .8s linear infinite; }
.dw-spinner-lg { display: inline-block; width: 22px; height: 22px; margin: 0 10px 0 0; border-color: rgba(0,115,179,.25); border-top-color: var(--dw-action); }
.dw-report.is-loading #dw-reportbtn .dw-spinner { display: inline-block; }
.dw-report.is-loading #dw-reportbtn .dw-btn-label::after { content: "ing..."; }
.dw-report.is-loading .dw-report-body { opacity: .35; transition: opacity .2s; pointer-events: none; }
.dw-loading { display: flex; align-items: center; margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; background: #eef6fb; color: var(--dw-link); font-weight: 600; }
.dw-loading[hidden] { display: none; }
.dw-conf { display: inline-block; padding: 2px 12px; border-radius: 999px; background: #9a1f2d; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dw-conf-foot { display: none; }
.dw-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 10px; }
.dw-pager .pagination { margin: 0; }
.dw-pager-info { color: var(--dw-grey); font-size: 14px; }
@keyframes dw-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dw-spinner { animation-duration: 3s; } }

/* selectize on the public pages (RMA form): the wrapper must not take over the fixed height of .form-control, tags and dropdown need room */
body.dw-site:not(.dw-admin) .selectize-control, body.dw-site:not(.dw-admin) .selectize-control.form-control { display: block; width: 100%; height: auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.dw-site:not(.dw-admin) .selectize-control .selectize-input { width: 100%; box-sizing: border-box; min-height: 46px; }
body.dw-site:not(.dw-admin) .selectize-control.multi .selectize-input { min-height: 56px; max-height: 230px; overflow-y: auto; }
body.dw-site:not(.dw-admin) .selectize-control.multi .selectize-input > div { margin: 2px 6px 2px 0; padding: 3px 4px 3px 12px; border: 0; border-radius: 999px; background: #dcebf6; color: var(--dw-link); font-size: 15px; }
body.dw-site:not(.dw-admin) .selectize-control.multi .selectize-input > div.active { background: var(--dw-action); color: #fff; }
body.dw-site:not(.dw-admin) .selectize-control.plugin-remove_button [data-selectable] .remove { margin-left: 6px; padding: 0 8px; border: 0; border-radius: 0 999px 999px 0; color: inherit; font-size: 18px; line-height: 1.4; }
body.dw-site:not(.dw-admin) .selectize-control.plugin-remove_button [data-selectable] .remove:hover { background: rgba(0,0,0,.12); }
body.dw-site:not(.dw-admin) .selectize-input.focus { box-shadow: 0 0 0 2px var(--dw-cyan); }
body.dw-site:not(.dw-admin) .selectize-dropdown, body.dw-site:not(.dw-admin) .selectize-dropdown.form-control { height: auto; padding: 0; background: #fff; z-index: 1100; }
body.dw-site:not(.dw-admin) .selectize-dropdown-content { max-height: 320px; }
body.dw-site:not(.dw-admin) .selectize-dropdown .option, body.dw-site:not(.dw-admin) .selectize-dropdown .optgroup-header { padding: 8px 14px; }
body.dw-site:not(.dw-admin) .selectize-dropdown .active { background: #e8f1f8; color: var(--dw-link); }

/* below a download section (all screen sizes) */
body.dw-site #accordion tr.dw-addrow > td { text-align: right; }
body.dw-site #accordion tr.dw-addrow .btn { float: none; margin-left: 8px; }
body.dw-site #accordion tr.dw-addrow .btn.dw-selectall { float: none; margin-left: 0; margin-right: 8px; }
body.dw-site .dw-selectall { background: #fff; border: 1px solid #cfd4da; color: var(--dw-text); }
body.dw-site .dw-selectall:hover, body.dw-site .dw-selectall:focus { border-color: var(--dw-action); background: #f5faff; color: var(--dw-link); }

/* ---------------------------------------------------------------- download basket in the header menu */
.dw-menu-right .dropdown-menu.dw-cart { width: 480px; max-width: calc(100vw - 24px); min-width: 0; padding: 0; overflow: hidden; }
.dw-cart > li.downloadbasket { display: block; padding: 0; }
.dw-cart-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; padding: 14px 18px; border-bottom: 1px solid var(--dw-line); background: var(--dw-light); }
.dw-cart-head span { color: var(--dw-grey); font-size: 13px; }
.dw-cart-list { max-height: 50vh; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.dw-menu-right .dw-cart .dw-cart-list > .dw-cart-item { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 18px; border-bottom: 1px solid var(--dw-line); }
.dw-cart-info { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; font-size: 14px; line-height: 1.4; }
.dw-cart-info .label { margin-left: 4px; }
body.dw-site a.dw-cart-remove { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 44px; min-height: 44px; padding: 6px 12px; border: 1px solid #e3b5bb; border-radius: 12px; background: #fff; color: #9a1f2d; font-size: 14px; font-weight: 600; text-decoration: none; }
body.dw-site a.dw-cart-remove:hover, body.dw-site a.dw-cart-remove:focus { border-color: #dc3545; background: #fbe7ea; color: #9a1f2d; text-decoration: none; }
.dw-cart-actions { display: grid; gap: 8px; padding: 14px 18px 18px; }
.dw-cart-actions form { margin: 0; }
.dw-cart-actions .btn { margin: 0; white-space: normal; }
@media (max-width: 991px) {
	.dw-menu-right .dropdown-menu.dw-cart { width: auto; max-width: none; margin: 8px 0 12px; border: 1px solid var(--dw-line); box-shadow: none; }
	.dw-cart-list { max-height: none; }
	.dw-menu-right .dw-cart .dw-cart-list > .dw-cart-item { padding: 12px 14px; }
	.dw-cart-actions { padding: 14px; }
}

/* ---------------------------------------------------------------- availability list (staff only) and its import page */
.dw-avail-stand { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin: 0 0 14px; font-size: 16px; }
.dw-avail-note { color: var(--dw-grey); font-size: 13px; }
.dw-avail-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.dw-avail-tools .dw-tsearch { flex: 1 1 320px; max-width: 520px; }
.dw-avail-export { display: flex; flex-wrap: wrap; gap: 8px; }
.dw-avail-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.dw-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border: 1px solid #cfd4da; border-radius: 999px; background: #fff; color: var(--dw-text); font-size: 14px; font-weight: 600; }
.dw-chip span { padding: 0 8px; border-radius: 999px; background: #eef0f3; font-size: 12px; }
.dw-chip:hover { border-color: var(--dw-action); text-decoration: none; }
.dw-chip.active { border-color: var(--dw-action); background: var(--dw-action); color: #fff; }
.dw-chip.active span { background: rgba(255,255,255,.25); }
.dw-avail-count { margin: 0 0 8px; color: var(--dw-grey); font-size: 13px; }
.dw-avail-changes { margin: 0 0 14px; padding: 10px 16px; border: 1px solid var(--dw-line); border-radius: 12px; background: #fafbfc; }
.dw-avail-changes summary { cursor: pointer; font-weight: 600; }
.dw-avail-changes ul { margin: 8px 0 0; padding-left: 20px; }
.dw-avail-table > thead > tr > th { padding: 10px 14px; }
.dw-avail-table > tbody > tr > td { padding: 9px 14px; vertical-align: middle; }
.dw-avail-table tr[hidden] { display: none; }
.dw-avail-item { font-weight: 600; font-family: Consolas, 'Liberation Mono', monospace; font-size: 14px; }
.dw-sortbtn { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.dw-sortbtn:hover { color: var(--dw-link); }
.dw-sortbtn.asc::after { content: " \25B2"; font-size: 10px; }
.dw-sortbtn.desc::after { content: " \25BC"; font-size: 10px; }
.dw-av { display: inline-block; padding: 2px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; background: #eef0f3; color: #444; }
.dw-av-available { background: #e3f4ea; color: #14653f; }
.dw-av-low { background: #fff1d6; color: #8a5a00; }
.dw-av-out { background: #fbe3e6; color: #9a1f2d; }
.dw-av-leadtime { background: #e1effa; color: #0a5a8c; }
.dw-av-request, .dw-av-other { background: #eef0f3; color: #555; }
/* small traffic light in front of the availability text: red, yellow, green; the lit lamp shows the status */
.dw-tl { display: inline-flex; gap: 3px; padding: 3px 5px; margin-right: 10px; border-radius: 9px; background: #3a3a3a; vertical-align: middle; }
.dw-tl i { display: block; width: 9px; height: 9px; border-radius: 50%; background: #5a5a5a; }
.dw-tl-out i:nth-child(1) { background: #e5484d; }
.dw-tl-low i:nth-child(2) { background: #f2b01e; }
.dw-tl-available i:nth-child(3) { background: #2fbf6b; }
.dw-tl-leadtime i:nth-child(2) { background: #129cd8; }
.dw-chip.dw-av-available span, .dw-chip.dw-av-low span, .dw-chip.dw-av-out span, .dw-chip.dw-av-leadtime span { background: rgba(0,0,0,.07); }
.dw-chip.dw-av-available.active { background: #14653f; border-color: #14653f; color: #fff; }
.dw-chip.dw-av-low.active { background: #8a5a00; border-color: #8a5a00; color: #fff; }
.dw-chip.dw-av-out.active { background: #9a1f2d; border-color: #9a1f2d; color: #fff; }
.dw-chip.dw-av-leadtime.active { background: #0a5a8c; border-color: #0a5a8c; color: #fff; }
.dw-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 4px; }
.dw-pager[hidden] { display: none; }
.dw-pager-size { margin: 0; font-weight: 400; color: #555; }
.dw-pager-size select { margin-left: 6px; padding: 4px 8px; border: 1px solid #c9ced6; border-radius: 8px; background: #fff; }
.dw-pager-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.dw-pager-btn { min-width: 38px; height: 38px; padding: 0 12px; border: 1px solid #c9ced6; border-radius: 10px; background: #fff; color: var(--dw-link, #0a5a8c); font-weight: 600; cursor: pointer; }
.dw-pager-btn:hover:not(:disabled) { background: #eef3f8; }
.dw-pager-btn.current { background: #0a5a8c; border-color: #0a5a8c; color: #fff; cursor: default; }
.dw-pager-btn:disabled:not(.current) { color: #a0a6ae; cursor: default; }
.dw-pager-gap { padding: 0 4px; color: #777; }
.dw-avail-table tr.dw-pg-off { display: none; }
.dw-paste { font-family: Consolas, 'Liberation Mono', monospace; font-size: 13px; min-height: 220px; }
.dw-import-sum { font-size: 16px; }
.dw-pill-ok, .dw-pill-chg, .dw-pill-del { display: inline-block; margin-left: 6px; padding: 2px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.dw-pill-ok { background: #e3f4ea; color: #14653f; }
.dw-pill-chg { background: #fff1d6; color: #8a5a00; }
.dw-pill-del { background: #fbe3e6; color: #9a1f2d; }
.dw-diff td { vertical-align: middle; }
.dw-diff td:first-child { width: 90px; }
.dw-applyform { margin: 18px 0 8px; }
.dw-applyform .btn { margin: 0 8px 8px 0; }
.dw-switch-line { display: block; margin: 0 0 12px; padding: 10px 14px; border-radius: 10px; background: #fff7e0; font-weight: 400; }
@media print {
	.dw-header, .dw-footer, .dw-avail-tools, .dw-avail-chips, .dw-avail-changes, .dw-hero, .dw-skip, .alert, .dw-basket-bar { display: none !important; }
	body.dw-site { padding-top: 0; }
	.dw-avail-table { font-size: 11px; }
	.dw-avail-table tr { page-break-inside: avoid; }
	.dw-av { background: transparent !important; color: #000 !important; padding: 0; }
	.dw-tl { display: none; }
	.dw-pager { display: none !important; }
	.dw-conf { background: transparent !important; color: #9a1f2d !important; border: 1px solid #9a1f2d; }
	.dw-conf-foot { display: block; position: fixed; bottom: 0; left: 0; right: 0; text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #9a1f2d; }
	.dw-avail-table tr.dw-pg-off:not([hidden]) { display: table-row; }
}

/* version / generation time */
.dw-footer-build { flex: 1 0 100%; margin-top: 8px; color: #8d8d8c; font-size: 12px; }
.dw-admin-build { padding: 12px 24px; color: #8d8d8c; font-size: 12px; text-align: right; }
@media print { .dw-footer-build, .dw-admin-build { display: none; } }
