/* DFA Fish Data — Monitor-like Theme */

:root {
	--dfa-bg: #004575;
	--dfa-panel-bg: #ffffff;
	--dfa-header-bg: #004575;
	--dfa-text: #222222;
	--dfa-text-bright: #ffffff;
	--dfa-accent: #669acc;
	--dfa-border: #b3cde5;
	--dfa-row-alt: #eef4fa;
	--dfa-row-hover: #b3cde5;
	--dfa-total-bg: #b3cde5;
}

.dfa-prices-wrapper,
.dfa-supply-wrapper,
.dfa-expected-wrapper {
	overflow-x: auto;
	color: var(--dfa-text);
}

.dfa-loading-state {
	padding: 40px;
	text-align: center;
	color: #666;
}

.dfa-last-updated {
	margin: 0 0 12px;
	color: var(--dfa-header-bg);
	font-weight: 600;
}

.dfa-no-data {
	padding: 1em;
	background: var(--dfa-row-alt);
	border: 1px solid var(--dfa-border);
	border-radius: 8px;
	color: var(--dfa-text);
}

.dfa-no-data-error {
	color: #b42318;
}

.dfa-auction-block {
	margin-bottom: 2em;
}

.dfa-auction-block h3 {
	margin: 0 0 10px;
	padding: 10px 12px;
	background: var(--dfa-panel-bg);
	border: 1px solid var(--dfa-border);
	border-radius: 10px;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--dfa-text);
	text-align: center;
}

.dfa-ship-list {
	font-size: 0.9rem;
	margin-bottom: 0.9em;
	color: #3a556a;
}

/* Collapsible ship list: one-line preview keeps columns aligned, expand on demand */
.dfa-ship-list-collapsible {
	margin-bottom: 0.9em;
}

.dfa-ship-list-collapsible summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 0.9rem;
	color: #3a556a;
}

.dfa-ship-list-collapsible summary::-webkit-details-marker {
	display: none;
}

.dfa-ship-list-collapsed {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
}

.dfa-ship-list-toggle-open,
.dfa-ship-list-toggle-close {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--dfa-header-bg);
	white-space: nowrap;
	width: 16ch;
	flex: 0 0 16ch;
	text-align: right;
}

.dfa-ship-list-collapsible[open] .dfa-ship-list-collapsed {
	visibility: hidden;
}

.dfa-ship-list-collapsible[open] .dfa-ship-list-toggle-open {
	display: none;
}

.dfa-ship-list-collapsible:not([open]) .dfa-ship-list-toggle-close {
	display: none;
}

.dfa-ship-list-collapsible .dfa-ship-list {
	margin-top: 8px;
	margin-bottom: 0;
}

.dfa-ship-list-collapsible.dfa-no-overflow .dfa-ship-list-toggle-open,
.dfa-ship-list-collapsible.dfa-no-overflow .dfa-ship-list-toggle-close {
	display: none !important;
}

.dfa-ship-list-collapsible.dfa-no-overflow summary {
	cursor: default;
}

.dfa-export-actions {
	margin: 0 0 10px;
	text-align: center;
}

.dfa-pdf-btn {
	appearance: none;
	border: 1px solid var(--dfa-border);
	background: #ffffff;
	color: var(--dfa-header-bg);
	font-weight: 700;
	font-size: 0.85rem;
	border-radius: 8px;
	padding: 8px 14px;
	cursor: pointer;
}

.dfa-pdf-btn:hover {
	background: var(--dfa-row-alt);
}

.dfa-sold-out-message {
	font-weight: 700;
	text-align: center;
}

.dfa-ship-detail {
	margin: 0.6em 0;
	overflow: hidden;
	background: #fff;
}

.dfa-ship-detail summary {
	padding: 8px 12px;
	background: var(--dfa-header-bg);
	color: var(--dfa-text-bright);
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 10px;
	margin-bottom: 4px;
}

.dfa-ship-detail[open] summary {
	border-bottom: 1px solid var(--dfa-border);
}

.dfa-date-nav {
	margin-bottom: 1em;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.dfa-date-btn {
	display: inline-block;
	padding: 6px 14px;
	background: #fff;
	border: 1px solid var(--dfa-border);
	border-radius: 6px;
	font-size: 0.85rem;
	cursor: pointer;
	color: var(--dfa-header-bg);
	font-weight: 600;
}

.dfa-date-btn.dfa-date-active {
	background: var(--dfa-accent);
	color: var(--dfa-text-bright);
	border-color: var(--dfa-accent);
}

.dfa-filter-section {
	margin-bottom: 16px;
}

.dfa-filter-form {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: space-between;
}

.dfa-filter-group {
	display: flex;
	flex-direction: column;
	min-width: 160px;
	gap: 6px;
}

.dfa-filter-group h6 {
	margin: 0 !important;
	font-size: 0.78rem;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--dfa-header-bg);
}

.dfa-filter-group input,
.dfa-filter-group select,
.dfa-filter-group button {
	min-height: 42px;
	padding: 6px 10px;
	border-radius: 6px;
	border: 1px solid var(--dfa-bg);
	background: #fff;
	color: var(--dfa-text);
}

.dfa-filter-hidden-submit {
	display: none;
}

.dfa-filter-separator {
	display: inline-block;
	line-height: 1;
	padding-bottom: 20px;
	padding-top: 30px;
	vertical-align: middle;
	width: 100%;
	color: var(--dfa-bg) !important;
}

.dfa-filter-separator::before {
	box-sizing: content-box;
	content: "";
	display: block;
	width: 100%;
	border-top: 1px solid var(--dfa-bg);
}

.dfa-filter-submit button {
	padding: 8px 16px;
	border: 1px solid var(--dfa-header-bg);
	background: var(--dfa-header-bg);
	color: #fff;
	cursor: pointer;
	font-weight: 600;
}

.dfa-filter-submit button:hover {
	opacity: 0.95;
}

/* Shared table foundation */
.dfa-table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin-bottom: 1em;
	font-size: 0.95rem;
	background: transparent;
	border-radius: 0;
	overflow: visible;
}

.dfa-table th,
.dfa-table td {
	padding: 8px 10px;
	border-bottom: 1px solid var(--dfa-border);
	text-align: left;
}

.dfa-table th {
	background: var(--dfa-accent);
	font-weight: 600;
	color: var(--dfa-text-bright);
	border-bottom: 1px solid var(--dfa-header-bg);
}

.dfa-table .dfa-right {
	text-align: right;
}

.dfa-table .dfa-total-row td {
	font-weight: 700;
	border-top: 2px solid var(--dfa-accent);
	background: var(--dfa-total-bg);
}

/* Shared flex-table design for prices/supply/expected modules */
.dfa-prices-wrapper .dfa-table,
.dfa-supply-wrapper .dfa-table,
.dfa-expected-wrapper .dfa-table,
.dfa-expected-ships-wrapper .dfa-table {
	box-shadow: none;
	border: 0;
	overflow: visible;
	padding: 10px;
	border-radius: 10px;
	background-color: var(--dfa-bg);
}

.dfa-prices-wrapper .dfa-table .tableHeader {
	background: var(--dfa-header-bg);
	color: var(--dfa-text-bright);
	font-size: 16px;
	font-weight: 700;
	padding: 14px 16px;
	text-align: center;
	border-radius: 10px;
	margin-bottom: 10px;
}

.dfa-prices-wrapper .dfa-table .col-header,
.dfa-supply-wrapper .dfa-table .col-header,
.dfa-expected-wrapper .dfa-table .col-header,
.dfa-expected-ships-wrapper .dfa-table .col-header {
	background: var(--dfa-accent);
	color: var(--dfa-text-bright);
	display: flex;
	font-weight: 700;
	padding: 10px 16px;
	border-radius: 10px;
	margin-bottom: 10px;
}

.dfa-prices-wrapper .dfa-table .tablerow,
.dfa-supply-wrapper .dfa-table .tablerow,
.dfa-expected-wrapper .dfa-table .tablerow,
.dfa-expected-ships-wrapper .dfa-table .tablerow {
	border-bottom: 1px solid var(--dfa-border);
	color: var(--dfa-text);
	display: flex;
	padding: 10px 16px;
}

.dfa-table .dfa-table-body .tablerow:first-child {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.dfa-table .dfa-table-body .tablerow:last-child {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border-bottom: 0;
}

.dfa-table .dfa-table-body .tablerow:nth-child(odd) {
	background: #fff;
}

.dfa-table .dfa-table-body .tablerow:nth-child(even) {
	background: var(--dfa-row-alt);
}

.dfa-table .dfa-table-body .tablerow:hover {
	background: var(--dfa-row-hover);
}

.dfa-table .tablerow.total {
	background: var(--dfa-total-bg);
	font-weight: 700;
	border-radius: 10px;
	margin-top: 10px;
	border-bottom: 0;
}

.dfa-prices-wrapper .dfa-table .col-sort {
	flex: 1;
	text-align: center;
}

.dfa-prices-wrapper .dfa-table .col-kg,
.dfa-prices-wrapper .dfa-table .col-max,
.dfa-prices-wrapper .dfa-table .col-pris {
	flex: 1;
	text-align: right;
}

.dfa-prices-wrapper .dfa-table .col-art,
.dfa-supply-wrapper .dfa-table .col-art,
.dfa-expected-wrapper .dfa-table .col-art,
.dfa-expected-ships-wrapper .dfa-table .col-art {
	flex: 2;
	text-align: left;
}

.dfa-supply-wrapper .dfa-table .col-boxes,
.dfa-supply-wrapper .dfa-table .col-kg,
.dfa-expected-wrapper .dfa-table .col-kg,
.dfa-expected-ships-wrapper .dfa-table .col-kg {
	flex: 1;
	text-align: right;
}

.dfa-supply-wrapper .dfa-table .col-kg {
	white-space: nowrap;
}

/* Keep numeric supply columns visually right-aligned even with theme CSS overrides */
.dfa-supply-wrapper .dfa-table .col-header .col-boxes,
.dfa-supply-wrapper .dfa-table .col-header .col-kg,
.dfa-supply-wrapper .dfa-table .tablerow .col-boxes,
.dfa-supply-wrapper .dfa-table .tablerow .col-kg {
	display: flex;
	justify-content: flex-end;
	text-align: right !important;
}

@media (max-width: 900px) {
	.dfa-filter-group {
		min-width: 140px;
		flex: 1 1 140px;
	}
}

/* Custom HTML Table Styles for WordPress Editor */
.dfa-custom-html-table {
	overflow-x: auto;
}

.dfa-custom-html-table table {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: none !important;
	padding: 10px;
	border-radius: 10px;
	background-color: var(--dfa-bg);
}

.dfa-custom-html-table thead {
	display: flex;
	flex-direction: column;
	background: var(--dfa-accent);
	border-radius: 10px;
	margin-bottom: 10px;
	border: none !important;
}

.dfa-custom-html-table tbody {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.dfa-custom-html-table tr {
	display: flex;
	width: 100%;
	border: none !important;
}

.dfa-custom-html-table thead th {
	flex: 1;
	padding: 10px 16px;
	color: var(--dfa-text-bright);
	font-weight: 700;
	text-align: left;
	border: none !important;
}

.dfa-custom-html-table tbody tr {
	border: none !important;
	border-bottom: 1px solid var(--dfa-border) !important;
}

.dfa-custom-html-table tbody tr:first-child {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.dfa-custom-html-table tbody tr:last-child {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border-bottom: none !important;
}

.dfa-custom-html-table tbody tr:nth-child(odd) {
	background: #fff;
}

.dfa-custom-html-table tbody tr:nth-child(even) {
	background: var(--dfa-row-alt);
}

.dfa-custom-html-table tbody tr:hover {
	background: var(--dfa-row-hover);
}

.dfa-custom-html-table tbody td {
	flex: 1;
	padding: 10px 16px;
	color: var(--dfa-text);
	border: none !important;
}
