/* Worldart Tools – front-end styles.
   Neutral, self-contained styling that works with most WordPress themes. */

.worldart { --wa-accent:#2a7de1; --wa-line:#e3e6eb; --wa-bg:#f8f9fb; --wa-ok:#2ea043; --wa-err:#d63638; color:inherit; }
.worldart * { box-sizing:border-box; }

.worldart h2 { margin:0 0 12px; }
.worldart h3 { margin:24px 0 8px; }

.worldart-hint, .worldart-note { color:#6c757d; font-size:.9rem; }
.worldart-note { margin-top:10px; }
.worldart-count { color:#444; font-size:.9rem; margin:8px 0; }
.worldart-error { color:var(--wa-err); }

/* Buttons */
.worldart-btn { display:inline-block; padding:8px 14px; border:1px solid var(--wa-line); background:#fff; color:#222;
	border-radius:6px; font-size:.92rem; font-weight:600; cursor:pointer; text-decoration:none; line-height:1.2; }
.worldart-btn:hover { border-color:var(--wa-accent); }
.worldart-btn-primary { background:var(--wa-accent); border-color:var(--wa-accent); color:#fff; }
.worldart-btn-primary:hover { background:#1a5fb0; color:#fff; }
.worldart-btn-small { padding:4px 8px; font-size:.8rem; }

/* Search form */
.worldart-search-form { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 16px; }
.worldart-search-form input[type=search], .worldart-search-form select {
	flex:1 1 220px; padding:9px 12px; border:1px solid var(--wa-line); border-radius:6px; font-size:1rem; }

/* Tables */
/* position: hidden texts in the headings (.screen-reader-text) stay inside the box that
   scrolls, so a wide table never makes the whole page wider than the screen. */
.worldart-table-wrap { overflow-x:auto; position:relative; }
.worldart-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.worldart-table th, .worldart-table td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--wa-line); vertical-align:top; }
.worldart-table thead th { background:var(--wa-bg); font-weight:700; }

.worldart-watch-form { margin:0; }

.worldart .screen-reader-text { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ---- Artist search ------------------------------------------------------ */
.wa-artist-form { margin:12px 0 10px; }
.wa-fields { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; }
.wa-fields input[type=search] { width:100%; padding:9px 12px; border:1px solid var(--wa-line); border-radius:6px; font-size:1rem; transition:border-color .2s, background-color .2s; }
.wa-fields input.wa-flash { border-color:var(--wa-ok); background:#f0fff4; }
.wa-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; align-items:center; }

.wa-info { position:relative; }
.wa-info-menu { position:absolute; top:calc(100% + 4px); left:0; z-index:50; min-width:230px; background:#fff; border:1px solid var(--wa-line); border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,.12); padding:6px 0; }
.wa-info-menu[hidden] { display:none !important; }
.wa-info-item { display:block; width:100%; text-align:left; background:none; border:0; padding:9px 16px; cursor:pointer; font:inherit; }
.wa-info-item:hover, .wa-info-item:focus { background:var(--wa-bg); }
.wa-info-item span { display:block; font-size:.75rem; color:#888; }

.wa-status { min-height:1.4em; margin-top:8px; font-size:.9rem; }
.wa-status.is-err { color:var(--wa-err); }
.wa-status.is-ok { color:var(--wa-ok); }
.wa-status.is-info { color:var(--wa-accent); }

.wa-guide { background:var(--wa-bg); border-left:4px solid var(--wa-accent); border-radius:6px; padding:8px 16px; margin:0 0 14px; }
.wa-guide summary { cursor:pointer; font-weight:700; }
.wa-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px 30px; margin-top:10px; font-size:.88rem; }
.wa-guide h4 { margin:6px 0; }
.wa-guide dl { margin:0; }
.wa-guide dt { font-weight:600; margin-top:6px; }
.wa-guide dd { margin:0 0 2px; color:#444; }

/* "Indsæt ny kunstner" (administrators only) */
.wa-insert { background:#fffaf0; border-left:4px solid #e0a106; border-radius:6px; padding:8px 16px; margin:0 0 14px; }
.wa-insert summary { cursor:pointer; font-weight:700; }
.wa-insert-badge { font-weight:400; font-size:.8rem; color:#8a6d00; margin-left:4px; }
.wa-insert .worldart-notice { margin:10px 0 0; }
.wa-insert-form { margin:10px 0 4px; }
.wa-insert-form label { display:block; font-weight:600; font-size:.85rem; }
.wa-insert-form input[type=text] { display:block; width:100%; margin-top:4px; padding:9px 12px; border:1px solid var(--wa-line); border-radius:6px; font-size:1rem; font-weight:400; background:#fff; }

.wa-artist-row:hover td { background:#f7faff; }
/* Row buttons: the column asks for room to keep them on their lines (with some to spare for
   other fonts and English). A narrow table shrinks the other columns first, then wraps the
   buttons onto more lines rather than scroll sideways. */
.wa-actions { width:17rem; }
.wa-actions .worldart-btn { white-space:nowrap; }
/* ★ and 📋 (copy the row into the search fields) side by side */
.wa-col-watch { white-space:nowrap; }
.wa-col-watch > * { display:inline-block; vertical-align:middle; }
.wa-copy-btn { margin-left:4px; }

/* "Slet" / "Fortryd" (administrators only) */
.wa-delete-form, .wa-undo-form { margin:0; }
.wa-undo-form { display:inline-block; margin-left:6px; }
.wa-btn-delete { color:var(--wa-err); white-space:nowrap; }
.wa-btn-delete:hover { border-color:var(--wa-err); background:#fdeaea; }
.wa-auction { display:flex; flex-wrap:wrap; gap:4px; align-items:center; margin-bottom:6px; }
.wa-auction-select { flex:1 1 auto; min-width:0; max-width:170px; padding:4px 6px; border:1px solid var(--wa-line); border-radius:4px; font-size:.82rem; }
.wa-bing { display:flex; gap:4px; flex-wrap:wrap; }

@media (max-width:782px) {
	.wa-fields { grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.wa-guide-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
	.wa-fields { grid-template-columns:1fr; }
}

/* Pagination */
.worldart-pagination { display:flex; align-items:center; gap:12px; margin:16px 0; }
.worldart-page-of { color:#666; font-size:.9rem; }

/* Pager with page numbers (the artist page) */
.worldart-page-numbers { flex-wrap:wrap; gap:4px; }
.worldart-page { display:inline-block; min-width:2.1em; padding:4px 8px; border:1px solid var(--wa-line); border-radius:4px; background:#fff; color:#222; text-align:center; text-decoration:none; font-size:.85rem; line-height:1.3; }
a.worldart-page:hover { border-color:var(--wa-accent); }
.worldart-page.is-current { background:var(--wa-accent); border-color:var(--wa-accent); color:#fff; font-weight:700; }
.worldart-page.is-disabled { color:#bbb; background:var(--wa-bg); }
.worldart-page-gap { color:#888; padding:0 2px; }

/* Coins: headings on one line and readable notes; on narrow screens the table scrolls sideways instead */
.worldart-coins .worldart-table th { white-space:nowrap; }
.worldart-table .wa-coin-notes { min-width:16em; }

/* Coins: the user's own "Har" (checkbox) and "Min vurdering" (grade list, only for coins they have) */
.wa-coin-table tr.is-owned td { background:#f0fff4; }
.wa-coin-table tr.is-saving { opacity:.6; }
.wa-coin-table .wa-coin-has { text-align:center; }
.wa-coin-has-box { width:18px; height:18px; margin:0; cursor:pointer; vertical-align:middle; }
.wa-coin-table tr:not(.is-owned) .wa-coin-rating-select, .wa-coin-table tr.is-owned .wa-coin-rating-file { display:none; }
.wa-coin-rating-select { padding:2px 4px; border:1px solid var(--wa-line); border-radius:4px; font-size:.85rem; background:#fff; }
/* Coins: the user's own prices – a click on a price opens it for typing; own prices in bold blue */
.wa-coin-price-btn { min-width:4.5em; min-height:1.6em; margin:0; padding:1px 4px; border:1px dashed transparent; border-radius:4px; background:none; color:inherit; font:inherit; text-align:inherit; cursor:pointer; }
.wa-coin-price-btn:hover, .wa-coin-price-btn:focus-visible { border-color:#9db8d9; background:#fff; }
.wa-coin-price-btn.is-own { color:#1a5fb0; font-weight:700; }
.wa-coin-price-btn:disabled { cursor:wait; }
.wa-coin-price-input { width:4.5em; margin:0; padding:1px 4px; border:1px solid var(--wa-accent); border-radius:4px; font:inherit; background:#fff; }
.wa-coin-status { min-height:1.4em; margin:4px 0; font-size:.9rem; }
.wa-coin-status.is-ok { color:var(--wa-ok); }
.wa-coin-status.is-err { color:var(--wa-err); }

/* Coins: "Vis kun mine mønter" toggle */
.wa-mine-toggle { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border:1px solid var(--wa-line); border-radius:999px; background:#fff; font-size:.92rem; cursor:pointer; white-space:nowrap; }
.wa-mine-toggle.is-on { background:#f0fff4; border-color:var(--wa-ok); font-weight:600; }
.wa-mine-toggle input { width:16px; height:16px; margin:0; cursor:pointer; }

/* "Min samling" ([worldart_collection]) */
.worldart-collection { max-width:560px; }
.worldart-collection h3 { margin-top:0; }
.wa-collection-table .wa-num { text-align:right; white-space:nowrap; }
.wa-collection-table tfoot td { font-weight:700; border-top:2px solid var(--wa-line); border-bottom:0; }
.wa-collection-export { margin:12px 0 0; }

/* ---- Sølvinitialer: each member's own green marks + the Google button ---- */
.wa-silver-table .wa-silver-google { width:1%; white-space:nowrap; }
.wa-silver-table.is-live .wa-silver-row { cursor:pointer; }
.wa-silver-table.is-live .wa-silver-row:hover td { background:#f7faff; }
.wa-silver-row.is-marked td { background:#d4edda; }
.wa-silver-row.is-marked td:first-child { box-shadow:inset 4px 0 0 #28a745; } /* A green edge that does not shift the columns. */
.wa-silver-table.is-live .wa-silver-row.is-marked:hover td { background:#c3e6cb; }
/* The initial is the row's mark button (for the keyboard) but looks like bold text, whatever the theme does to buttons. */
.worldart .wa-silver-toggle, .worldart .wa-silver-toggle:hover, .worldart .wa-silver-toggle:focus {
	display:inline; width:auto; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none;
	color:inherit; font:inherit; font-weight:700; line-height:inherit; letter-spacing:normal; text-align:left; text-transform:none; cursor:inherit; }
.worldart .wa-silver-toggle:focus-visible { outline:2px solid var(--wa-accent); outline-offset:2px; }
.wa-silver-status { min-height:1.4em; margin:4px 0; font-size:.9rem; }
.wa-silver-status.is-ok { color:var(--wa-ok); }
.wa-silver-status.is-err { color:var(--wa-err); }
.wa-silver-guide ul { margin:8px 0; padding-left:18px; font-size:.88rem; }
.wa-silver-guide li { margin:4px 0; }
.wa-guide-tip { margin:6px 0 4px; font-size:.85rem; color:#6c757d; }

/* ---- Watch-list ("Overvågning") ----------------------------------------- */
.worldart-watchlist h3 .wa-watch-count { font-weight:400; color:#6c757d; font-size:.9em; }

/* Warning box: auctions that end within 2 hours */
.wa-watch-alert { background:#fdeaea; border:1px solid #f3c2c2; border-left:5px solid var(--wa-err); border-radius:8px; padding:12px 16px; margin:0 0 16px; color:#6b1414; }
.wa-watch-alert[hidden], .wa-watch-alert li[hidden] { display:none; }
.wa-watch-alert-title { display:block; font-size:1.05rem; margin-bottom:4px; }
.wa-watch-alert ul { margin:0; padding-left:0; list-style:none; }
.wa-watch-alert li { margin:4px 0; }
.wa-watch-alert .wa-countdown { font-weight:700; }
.wa-watch-alert a { color:inherit; font-weight:600; }
@media (prefers-reduced-motion:no-preference) {
	.wa-watch-alert:not([hidden]) { animation:wa-alert-pulse 2s ease-in-out infinite; }
}
@keyframes wa-alert-pulse { 50% { box-shadow:0 0 0 4px rgba(214,54,56,.18); } }

/* Add / edit form */
.wa-watch-panel { background:var(--wa-bg); border-left:4px solid var(--wa-accent); border-radius:6px; padding:8px 16px; margin:0 0 14px; }
.wa-watch-panel > summary { cursor:pointer; font-weight:700; }
.wa-watch-panel .worldart-notice { margin:10px 0 0; }
.wa-watch-panel h4 { margin:14px 0 6px; }
.wa-watch-paste[hidden] { display:none; }
.wa-watch-paste textarea { display:block; width:100%; margin-top:6px; padding:9px 12px; border:1px solid var(--wa-line); border-radius:6px; font:inherit; font-size:.92rem; background:#fff; }
/* "📥 Hent": the link and the button on one line (the button below it on a narrow screen). */
.wa-watch-fetch { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.wa-watch-fetch input { flex:1 1 16rem; min-width:0; padding:8px 10px; border:1px solid var(--wa-line); border-radius:6px; font:inherit; font-size:.95rem; background:#fff; }
.wa-watch-fetch .worldart-btn { flex:0 0 auto; }
.wa-watch-fetch .worldart-btn[disabled] { opacity:.6; cursor:wait; }
.wa-watch-fetch-buttons { display:flex; gap:8px; flex:0 0 auto; } /* 📥 Hent and 📋 Indsæt link stay together. */
/* "Or paste the text from the page" and "Watch straight from the auction page" – folded away. */
.wa-watch-paste-text, .wa-watch-bookmark { margin-top:4px; }
.wa-watch-paste-text > summary, .wa-watch-bookmark > summary { cursor:pointer; font-size:.92rem; color:var(--wa-accent); }
.wa-watch-paste-text[open] > summary, .wa-watch-bookmark[open] > summary { margin-bottom:6px; }
.wa-watch-bookmark ol { margin:0 0 8px 1.2em; padding:0; font-size:.9rem; }
/* The bookmark button is dragged to the bookmarks bar. */
.wa-watch-bookmarklet { cursor:grab; border-style:dashed; border-color:var(--wa-accent); font-weight:600; }
.wa-watch-bookmarklet:active { cursor:grabbing; }
.wa-watch-form { margin:10px 0 4px; }
.wa-watch-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.wa-watch-grid .wa-wide { grid-column:span 2; }
.wa-watch-grid label { display:block; font-weight:600; font-size:.85rem; }
.wa-watch-grid input, .wa-watch-grid select, .wa-watch-grid textarea { display:block; width:100%; margin-top:4px; padding:8px 10px; border:1px solid var(--wa-line); border-radius:6px; font:inherit; font-size:.95rem; font-weight:400; background:#fff; transition:border-color .2s, background-color .2s; }
.wa-watch-grid .wa-flash { border-color:var(--wa-ok); background:#f0fff4; }
.wa-watch-notify { display:flex; gap:8px; align-items:center; margin-top:12px; font-size:.92rem; cursor:pointer; }
.wa-watch-notify input { width:18px; height:18px; margin:0; }

/* The auctions */
.wa-watch-table .wa-watch-meta { color:#6c757d; font-size:.82rem; margin-top:2px; }
.wa-watch-more { margin-top:4px; font-size:.86rem; }
.wa-watch-more summary { cursor:pointer; color:var(--wa-accent); }
.wa-watch-more p { margin:6px 0 0; }
.wa-watch-table .wa-watch-ends { white-space:nowrap; }
.wa-watch-prices { margin:0; display:grid; grid-template-columns:auto auto; gap:0 8px; font-size:.86rem; white-space:nowrap; }
.wa-watch-prices dt { color:#6c757d; }
.wa-watch-prices dd { margin:0; }
.wa-watch-remove { display:inline-block; vertical-align:middle; margin:0; }
/* Room for both buttons on one line; a narrow table wraps them (see .wa-actions). */
.wa-watch-actions { width:12rem; }
.wa-watch-actions > * { display:inline-block; vertical-align:middle; margin:2px 4px 2px 0; }
.wa-watch-actions .worldart-btn { white-space:nowrap; }
.wa-countdown { display:inline-block; padding:2px 8px; border-radius:4px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.wa-watch-row.is-later .wa-countdown { color:#1e7a3c; background:#e8f5e9; }
.wa-watch-row.is-today .wa-countdown { color:#9a4a00; background:#fff3cd; }
.wa-watch-row.is-soon .wa-countdown { color:#a42323; background:#f8d7da; }
.wa-watch-row.is-soon td { background:#fff8f8; }
.wa-watch-row.is-ended td { color:#6c757d; }
.wa-watch-row.is-ended .wa-countdown { color:#6c757d; background:#e9ecef; font-weight:400; }
.wa-watch-clear { margin:10px 0 0; }
.wa-watch-guide ul { margin:8px 0; padding-left:18px; font-size:.88rem; }
.wa-watch-guide li { margin:4px 0; }

@media (max-width:782px) {
	.wa-watch-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:480px) {
	.wa-watch-grid { grid-template-columns:1fr; }
	.wa-watch-grid .wa-wide { grid-column:auto; }
}

/* ---- Gallery ("Læg din kunst ud her" / "Andres kunst") -------------------- */
.worldart-gallery > section { margin:0 0 28px; }
.worldart-gallery h3 .wa-count, .worldart-gallery summary .wa-count { font-weight:400; color:#6c757d; font-size:.9em; }
.wa-gallery-intro { margin:0 0 6px; }
.wa-gallery-free { margin:0 0 12px; }
.wa-gallery-state { margin-bottom:14px; }
.wa-gallery-apply h3 { margin-top:8px; }

/* Folded panels (forms, the administrators' lists) */
.wa-gallery-panel { background:var(--wa-bg); border-left:4px solid var(--wa-accent); border-radius:6px; padding:8px 16px; margin:0 0 14px; }
.wa-gallery-panel > summary { cursor:pointer; font-weight:700; }
.wa-gallery-panel .worldart-notice { margin:10px 0 0; }
.wa-gallery-admin { background:#fffaf0; border:1px solid #f1dfb5; border-radius:10px; padding:14px 16px 4px; }
.wa-gallery-admin .wa-gallery-panel { background:#fff; border-left-color:#e0a106; }

/* Forms */
.wa-gallery-form { margin:10px 0 4px; }
.wa-gallery-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.wa-gallery-grid .wa-wide { grid-column:span 2; }
.wa-gallery-grid label { display:block; font-weight:600; font-size:.85rem; }
.wa-gallery-grid input[type=text], .wa-gallery-grid input[type=tel], .wa-gallery-grid select, .wa-gallery-grid textarea {
	display:block; width:100%; margin-top:4px; padding:8px 10px; border:1px solid var(--wa-line); border-radius:6px; font:inherit; font-size:.95rem; font-weight:400; background:#fff; }
.wa-gallery-grid input[type=file] { display:block; width:100%; margin-top:4px; font-size:.9rem; font-weight:400; }
.wa-gallery-file { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:flex-end; }
.wa-gallery-file > label { flex:1 1 220px; }
.wa-gallery-current, .wa-file-preview { max-width:160px; max-height:120px; border-radius:6px; border:1px solid var(--wa-line); background:#fff; object-fit:contain; }
.wa-file-preview[hidden] { display:none; }
.wa-file-note { flex-basis:100%; color:var(--wa-err); font-size:.88rem; font-weight:600; }
.wa-gallery-check { display:flex; gap:8px; align-items:center; margin-top:12px; font-size:.92rem; cursor:pointer; }
.wa-gallery-check input { width:18px; height:18px; margin:0; }
.wa-gallery-photo { width:96px; height:96px; border-radius:50%; object-fit:cover; border:1px solid var(--wa-line); background:#fff; }
.wa-gallery-photo.is-small { width:40px; height:40px; float:left; margin:0 10px 4px 0; }

/* Tables: own works and the administrators' lists */
.wa-gallery-table .wa-gallery-thumb { width:84px; }
.wa-gallery-table .wa-gallery-thumb img, .wa-gallery-table .wa-gallery-thumb .wa-no-img { display:block; width:72px; height:72px; object-fit:cover; border-radius:6px; }
.wa-gallery-table .wa-meta, .wa-messages .wa-meta { color:#6c757d; font-size:.82rem; }
.wa-gallery-table .wa-num { text-align:right; }
/* The buttons wrap onto more lines rather than make the table scroll sideways. */
.wa-gallery-actions { min-width:150px; }
.wa-gallery-actions > *, .wa-gallery-inline { display:inline-block; vertical-align:middle; margin:2px 4px 2px 0; }
.wa-gallery-inline { margin:0; }
.wa-badge { display:inline-block; padding:2px 8px; margin:1px 0; border-radius:999px; font-size:.78rem; font-weight:600; white-space:nowrap; background:#eef1f5; color:#444; }
.wa-badge.is-visible { background:#e8f5e9; color:#1e7a3c; }
.wa-badge.is-hidden, .wa-badge.is-nostatus { background:#fff3cd; color:#7a5200; }
.wa-badge.is-admin { background:#f8d7da; color:#a42323; }
.wa-badge.is-sold { background:#e7e1f7; color:#4b2c91; }

/* Messages ("Kontakt kunstner") */
.wa-messages { list-style:none; margin:10px 0 0; padding:0; }
.wa-message { background:#fff; border:1px solid var(--wa-line); border-radius:8px; padding:10px 14px; margin:0 0 10px; }
.wa-message-about { font-size:.88rem; margin:2px 0 6px; }
.wa-message-text { white-space:normal; margin-bottom:6px; }

.wa-gallery-guide ul { margin:8px 0; padding-left:18px; font-size:.88rem; }
.wa-gallery-guide li { margin:4px 0; }
.wa-gallery-guide .wa-gallery-free { margin:8px 0 0; }

/* "Andres kunst": the cards */
.wa-art-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:18px; margin:12px 0; }
.wa-art-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--wa-line); border-radius:10px; overflow:hidden; color:inherit; text-decoration:none; transition:box-shadow .2s, transform .2s; }
.wa-art-card:hover, .wa-art-card:focus { box-shadow:0 6px 18px rgba(0,0,0,.12); transform:translateY(-2px); }
/* The whole work is shown (contain), in a 4:3 box the picture cannot stretch. */
.wa-art-img { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#f4f4f4; }
.wa-art-img img, .wa-art-img .wa-no-img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.wa-no-img { display:flex; align-items:center; justify-content:center; background:#f4f4f4; color:#bbb; font-size:2rem; }
.wa-art-sold { position:absolute; z-index:1; top:10px; left:10px; background:#4b2c91; color:#fff; padding:3px 10px; border-radius:4px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.wa-art-info { display:block; padding:10px 14px 14px; }
.wa-art-title { display:block; font-size:1rem; }
.wa-art-by { display:block; color:#666; font-size:.85rem; margin:2px 0 6px; }
.wa-art-price { display:block; font-weight:700; }
.wa-art-card.is-sold .wa-art-price { color:#4b2c91; }

/* A work's page */
.wa-art-back { margin:0 0 12px; }
.wa-art-detail { display:grid; grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr); gap:28px; align-items:start; }
.wa-art-picture img { display:block; width:100%; height:auto; border-radius:8px; background:#f4f4f4; }
.wa-art-picture .wa-no-img { aspect-ratio:4/3; border-radius:8px; }
.worldart .wa-art-heading { margin:0 0 4px; }
.wa-art-page .wa-art-by { color:#555; font-size:1rem; margin:0 0 4px; }
.wa-art-bigprice { font-size:1.6rem; font-weight:700; margin:6px 0 12px; }
.wa-art-bigprice.is-sold { color:#4b2c91; }
.wa-art-facts { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:0 0 14px; }
.wa-art-facts dt { font-weight:600; color:#666; }
.wa-art-facts dd { margin:0; }
.wa-art-artist { background:var(--wa-bg); border:1px solid var(--wa-line); border-radius:10px; padding:12px 16px; margin:16px 0; }
.wa-art-artist h3 { margin:0 0 8px; font-size:1rem; }
.wa-art-artist .wa-gallery-photo { float:right; margin:0 0 8px 12px; }
.wa-art-artist::after { content:""; display:block; clear:both; }
.wa-art-contact { margin-top:16px; }
.wa-art-admin { margin-top:16px; padding-top:10px; border-top:1px dashed var(--wa-line); }
.wa-art-hidden .wa-badge { margin-left:4px; }

@media (max-width:782px) {
	.wa-gallery-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.wa-art-detail { grid-template-columns:1fr; }
}
@media (max-width:480px) {
	.wa-gallery-grid { grid-template-columns:1fr; }
	.wa-gallery-grid .wa-wide { grid-column:auto; }
	.wa-art-grid { grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; }
}
/* On a phone the gallery's tables become stacked rows: picture left, the rest beside it. */
@media (max-width:600px) {
	.wa-gallery-table thead { display:none; }
	.wa-gallery-table, .wa-gallery-table tbody, .wa-gallery-table tr, .wa-gallery-table td { display:block; width:auto; }
	.wa-gallery-table tr { padding:10px 0; border-bottom:1px solid var(--wa-line); }
	.wa-gallery-table td { border:0; padding:2px 0; }
	.wa-gallery-table tr.wa-work-row { position:relative; min-height:94px; padding-left:86px; }
	.wa-gallery-table .wa-work-row .wa-gallery-thumb { position:absolute; left:0; top:10px; width:auto; }
	.wa-gallery-table .wa-num { text-align:left; }
	.wa-gallery-table td[data-label]::before { content:attr(data-label) ": "; color:#6c757d; font-size:.85rem; }
	.wa-gallery-actions { min-width:0; padding-top:6px; }
}

/* Visitor counter ([worldart_visitors], administrators only) */
.worldart-visitors { max-width:560px; }
.worldart-visitors h3 { margin-top:0; }
.wa-visitors-table .wa-num { text-align:right; white-space:nowrap; }

/* Links list */
.worldart-link-list { list-style:none; padding:0; margin:0; }
.worldart-link-list li { padding:10px 0; border-bottom:1px solid var(--wa-line); }
.worldart-link-cat { background:var(--wa-bg); border:1px solid var(--wa-line); border-radius:4px; padding:1px 6px; font-size:.72rem; color:#555; }
.worldart-link-desc { color:#6c757d; font-size:.86rem; }

/* Adding and deleting coins/notes (administrators only) */
.wa-coin-panel { margin-top:4px; }
.wa-coin-form .wa-coin-file-label { max-width:260px; margin-bottom:10px; }
.wa-coin-form .wa-coin-file-label select { display:block; width:100%; margin-top:4px; padding:8px 10px; border:1px solid var(--wa-line); border-radius:6px; font-size:1rem; font-weight:400; background:#fff; }
.wa-coin-fields { border:0; padding:0; margin:0; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); }
.wa-coin-fields[hidden] { display:none; }
.wa-coin-after { margin:0 0 10px; font-size:.9rem; }
.wa-coin-after a { margin-left:8px; }
/* "Beregn" (shown by the script): an estimate stays marked until a price is typed over it. */
.wa-coin-estimate { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
.wa-coin-estimate[hidden] { display:none; }
.wa-estimate-btn:disabled { opacity:.6; cursor:progress; }
.wa-estimate-status { flex-basis:100%; min-height:1.4em; margin:0; font-size:.9rem; }
.wa-estimate-status.is-err { color:var(--wa-err); }
.wa-insert-form input.is-estimate { background:#fff8e1; border-color:#e0a106; font-style:italic; }
/* Room for the three buttons on one line; a narrow table wraps them (see .wa-actions). */
.wa-coin-admin { width:10rem; }
.wa-coin-admin > * { display:inline-block; vertical-align:middle; margin:2px 4px 2px 0; }
.wa-btn-commit { opacity:.55; }
.wa-btn-commit.has-changes { opacity:1; background:#fff3c4; border-color:#e0b400; }
.wa-coin-table tr.wa-coin-notice-row td { background:#fff; }
.wa-coin-commit-notice { margin:2px 0; scroll-margin-top:5em; }
/* "Beregn" on a row: under ➕ 🗑️ 💾 for administrators, in the row's last cell for members;
   an estimated own price is pale yellow until a price is typed over it. */
.wa-row-estimate { display:flex; flex-direction:column; gap:4px; min-width:9rem; margin-top:4px; }
.wa-coin-admin > .wa-row-estimate { display:flex; margin:4px 0 0; }
.wa-row-estimate[hidden], .wa-coin-admin > .wa-row-estimate[hidden] { display:none; }
.wa-row-estimate .worldart-btn { white-space:normal; text-align:center; }
.wa-coin-price-btn.is-own.is-estimate { color:inherit; font-weight:400; font-style:italic; background:#fff8e1; }
.wa-row-estimate-notice { margin:2px 0; }

/* Changing the links (administrators only) */
.wa-link-panel { margin-top:4px; }
.wa-link-admin { display:inline-flex; gap:4px; align-items:center; margin-left:8px; vertical-align:middle; }
.wa-link-delete { display:inline; margin:0; }

/* Gate / paywall */
.worldart-gate { background:var(--wa-bg); border:1px solid var(--wa-line); border-radius:10px; padding:24px; text-align:center; }
.worldart-gate h3 { margin-top:0; }
.worldart-gate-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px; }

/* Log in / create account boxes */
.worldart-auth-boxes { display:flex; gap:20px; flex-wrap:wrap; justify-content:center; margin-top:16px; text-align:left; }
.worldart-auth-box { flex:1 1 260px; max-width:340px; background:#fff; border:1px solid var(--wa-line); border-radius:10px; padding:20px; }
.worldart-auth-box h4 { margin:0 0 10px; border-bottom:2px solid var(--wa-accent); padding-bottom:6px; }
.worldart-register-form label { display:block; font-weight:600; font-size:.85rem; margin-top:10px; }
.worldart-register-form input { width:100%; padding:8px 10px; margin-top:4px; border:1px solid var(--wa-line); border-radius:6px; font-size:.95rem; font-weight:400; }
.worldart-register-form button { margin-top:14px; width:100%; }

.worldart-plans { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:16px; }
.worldart-plan { background:#fff; border:1px solid var(--wa-line); border-radius:10px; padding:18px; min-width:140px; text-align:center; }
.worldart-plan-label { font-weight:700; }
.worldart-plan-price { font-size:1.5rem; margin:8px 0 12px; }

/* Status + notices */
.worldart-statusbar { font-size:.82rem; color:#555; background:var(--wa-bg); border:1px solid var(--wa-line);
	border-radius:6px; padding:6px 10px; margin-bottom:12px; display:inline-block; }
.worldart-notice { padding:10px 14px; border-radius:6px; margin-bottom:12px; border:1px solid var(--wa-line); }
.worldart-notice-ok { background:#e8f6ec; border-color:#bfe2c8; color:#1a662f; }
.worldart-notice-err { background:#fdeaea; border-color:#f3c2c2; color:#8a1f1f; }
.worldart-notice-info { background:#eef5fd; border-color:#c9def7; color:#1d4a7a; }
.worldart-status-ok { color:var(--wa-ok); font-weight:600; }
.worldart-status-expired { color:var(--wa-err); font-weight:600; }

/* Camera tool */
.worldart-camera .wac-viewer { position:relative; width:100%; max-width:520px; aspect-ratio:3/4; background:#000;
	border:1px solid var(--wa-line); border-radius:12px; overflow:hidden; margin:12px 0; }
.worldart-camera video, .worldart-camera img { width:100%; height:100%; object-fit:cover; display:block; }
.worldart-camera #wac-preview { display:none; }
.worldart-camera .wac-viewer.has-shot video { display:none; }
.worldart-camera .wac-viewer.has-shot #wac-preview { display:block; }
.worldart-camera .wac-hint { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#bbb; padding:20px; text-align:center; }
.worldart-camera .wac-row, .worldart-camera .wac-services { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; max-width:520px; }
.worldart-camera .wac-services button { flex:1 1 0; }
.worldart-camera .wac-file { display:block; max-width:520px; text-align:center; padding:11px; border:1px dashed var(--wa-line);
	border-radius:8px; color:#6c757d; cursor:pointer; margin:8px 0; }
.worldart-camera .wac-file input[type=file] { display:none; }
.worldart-camera .wac-status { min-height:22px; font-size:.85rem; margin:6px 0; }
.worldart-camera .wac-status.err { color:var(--wa-err); }
.worldart-camera .wac-status.ok { color:var(--wa-ok); }

/* ---- Result tables that don't fit: one block per row --------------------------
   worldart-fit.js gives a table "is-stacked" when it is wider than its box (a
   phone, a tablet held upright, a narrow window). The cells' classes place them:
   wa-st-title (bold) and wa-st-side on the first line, the wa-col-meta cells on
   the next with "·" between them, wa-st-wide on a line of its own. */
.worldart-table.is-stacked, .worldart-table.is-stacked tbody, .worldart-table.is-stacked td { display:block; width:auto; }
.worldart-table.is-stacked thead { display:none; }
.worldart-table.is-stacked tr { display:flex; flex-wrap:wrap; align-items:center; column-gap:8px; padding:10px 8px; border-bottom:1px solid var(--wa-line); }
.worldart-table.is-stacked td { padding:0; border:0; }
.worldart-table.is-stacked tr::after { content:""; order:3; flex-basis:100%; } /* Ends the first line. */
.worldart-table.is-stacked .wa-st-title { order:1; flex:1 1 0; min-width:0; font-weight:700; }
.worldart-table.is-stacked .wa-st-side { order:2; }
.worldart-table.is-stacked .wa-col-meta { order:4; margin-top:2px; }
.worldart-table.is-stacked .wa-col-meta:empty { display:none; }
.worldart-table.is-stacked .wa-col-meta:not(:empty) ~ .wa-col-meta:not(:empty)::before { content:"·"; margin-right:8px; color:#6c757d; }
.worldart-table.is-stacked .wa-st-wide { order:5; flex-basis:100%; margin-top:8px; }

/* Kunstnere: the name with ★ 📋 🗑️, then country · years · initials, then the buttons */
.wa-artist-table.is-stacked .wa-artist-row:hover { background:#f7faff; }

/* Mønter og sedler: Mønt · Årstal · Metal · Initialer with Har on the right, the
   prices in a row (the grade above each), the notes, then the other columns with
   their heading; the administrators' buttons last. */
.wa-coin-table.is-stacked tr::before { content:""; order:5; flex-basis:100%; } /* Ends the prices' line. */
.wa-coin-table.is-stacked .wa-coin-lead { order:1; }
.wa-coin-table.is-stacked .wa-coin-lead:first-child { font-weight:700; }
.wa-coin-table.is-stacked .wa-coin-lead:empty, .wa-coin-table.is-stacked .wa-coin-notes:empty, .wa-coin-table.is-stacked .wa-coin-extra:empty { display:none; }
.wa-coin-table.is-stacked .wa-coin-lead:not(:empty) ~ .wa-coin-lead:not(:empty)::before { content:"·"; margin-right:8px; color:#6c757d; }
.wa-coin-table.is-stacked .wa-coin-has { order:2; margin-left:auto; }
.wa-coin-table.is-stacked .wa-coin-has::after { content:attr(data-label); margin-left:4px; }
.wa-coin-table.is-stacked .wa-coin-price { order:4; flex:1 1 0; min-width:0; margin-top:6px; }
.wa-coin-table.is-stacked .wa-coin-price::before { content:attr(data-label); display:block; color:#6c757d; font-size:.78rem; }
.wa-coin-table.is-stacked .wa-coin-price-btn { min-width:0; width:100%; }
.wa-coin-table.is-stacked .wa-coin-notes { order:6; flex-basis:100%; min-width:0; margin-top:6px; }
.wa-coin-table.is-stacked .wa-coin-rating, .wa-coin-table.is-stacked .wa-coin-extra { order:7; margin-top:6px; }
.wa-coin-table.is-stacked .wa-coin-rating::before, .wa-coin-table.is-stacked .wa-coin-extra::before { content:attr(data-label) " "; color:#6c757d; }
.wa-coin-table.is-stacked :is(.wa-coin-rating, .wa-coin-extra:not(:empty)) ~ .wa-coin-extra:not(:empty)::before { content:"· " attr(data-label) " "; }
.wa-coin-table.is-stacked .wa-coin-admin { order:8; flex-basis:100%; margin-top:6px; }
.wa-coin-table.is-stacked .wa-coin-own { order:8; flex-basis:100%; }
.wa-coin-table.is-stacked .wa-row-estimate { flex-direction:row; flex-wrap:wrap; min-width:0; }
.wa-coin-table.is-stacked tr.is-owned { background:#f0fff4; }
.wa-coin-table.is-stacked .wa-coin-notice-row td { flex-basis:100%; }

/* Overvågning: the item, "Slutter …" with the countdown, the prices, the buttons */
.wa-watch-table.is-stacked .is-empty { display:none; }
.wa-watch-table.is-stacked .wa-watch-item, .wa-watch-table.is-stacked .wa-watch-price { flex-basis:100%; }
.wa-watch-table.is-stacked .wa-watch-ends::before { content:attr(data-label) " "; color:#6c757d; }
.wa-watch-table.is-stacked .wa-watch-ends, .wa-watch-table.is-stacked .wa-watch-left, .wa-watch-table.is-stacked .wa-watch-price { margin-top:4px; }
.wa-watch-table.is-stacked .wa-watch-prices { display:flex; flex-wrap:wrap; gap:0 6px; }
.wa-watch-table.is-stacked .wa-watch-prices dd:not(:last-child)::after { content:" ·"; color:#6c757d; }
.wa-watch-table.is-stacked .wa-watch-link, .wa-watch-table.is-stacked .wa-watch-actions { margin-top:6px; }
.wa-watch-table.is-stacked .wa-watch-row.is-soon { background:#fff8f8; }

/* Sølvinitialer: the initial, the name and Google, then city · country · years; a
   marked silversmith is green with the green edge on the whole block */
.wa-silver-table.is-stacked .wa-silver-init { order:1; }
.wa-silver-table.is-stacked .wa-silver-row.is-marked { background:#d4edda; box-shadow:inset 4px 0 0 #28a745; }
.wa-silver-table.is-stacked .wa-silver-row.is-marked td:first-child { box-shadow:none; }
.wa-silver-table.is-stacked.is-live .wa-silver-row:hover { background:#f7faff; }
.wa-silver-table.is-stacked.is-live .wa-silver-row.is-marked:hover { background:#c3e6cb; }
