/* Tabelle con PDF 1.7
   Superficie bianca con testo scuro (leggibile su qualsiasi tema), un solo colore d'accento
   (--ctp-accent, cambiabile con accent="#hex" nello shortcode) e i PDF come "chip" documento. */

.ctp-wrap {
	--ctp-accent: #0f766e;
	--ctp-accent-dark: #0b5a54;
	--ctp-accent-soft: #e7f3f1;
	--ctp-accent-line: #bfe0db;
	--ctp-ink: #16262e;
	--ctp-muted: #5b6b75;
	--ctp-line: #dce3e8;
	--ctp-surface: #fff;
	--ctp-hit: #fde68a;
	--ctp-danger: #b42318;
	--ctp-sticky-top: 0px; /* distanza dell'intestazione dal bordo alto; aumentala se il tema ha un header fisso, es. --ctp-sticky-top: 72px */
	margin: 1.5em 0;
	/* Carattere e dimensione: impostabili per tabella (riquadro "Aspetto") o con font="..." font_size="..." */
	font-family: var(--ctp-font, inherit);
	font-size: var(--ctp-size, inherit);
	color: var(--ctp-ink);
	font-variant-numeric: tabular-nums;
	line-height: 1.5;
}
@supports (color: color-mix(in srgb, red, blue)) {
	.ctp-wrap {
		--ctp-accent-dark: color-mix(in srgb, var(--ctp-accent) 78%, #000);
		--ctp-accent-soft: color-mix(in srgb, var(--ctp-accent) 9%, #fff);
		--ctp-accent-line: color-mix(in srgb, var(--ctp-accent) 28%, #fff);
	}
}
.ctp-wrap *, .ctp-wrap *::before, .ctp-wrap *::after { box-sizing: border-box; }
.ctp-wrap [hidden] { display: none !important; }
.ctp-wrap :focus-visible { outline: 2px solid var(--ctp-accent); outline-offset: 2px; }

.ctp-title { margin: 0 0 .6em; }
.ctp-ico { width: 1.05em; height: 1.05em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Tabella ---------- */
.ctp-scroll {
	/* Nessuna altezza fissa né scorrimento interno: la tabella scorre insieme alla pagina
	   (e così l'intestazione "sticky" resta agganciata alla finestra del browser). */
	height: auto;
	max-height: none;
	overflow: visible;
	background: var(--ctp-surface);
	border: 1px solid var(--ctp-line);
	border-radius: 10px;
}
.ctp-table {
	width: 100%;
	max-width: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed; /* larghezze colonna dal <colgroup> (percentuali): la tabella non supera mai il contenitore */
	font-size: .95em;
	background: transparent;
}
.ctp-table th,
.ctp-table td {
	min-width: 0;
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid var(--ctp-line);
	color: var(--ctp-ink);
	background: transparent;
}
.ctp-table thead th {
	position: sticky;
	top: var(--ctp-sticky-top, 0); /* 0 = bordo alto della finestra; vedi sotto per barra admin / header fisso del tema */
	z-index: 1;
	background: var(--ctp-accent);
	color: #fff;
	font-weight: 600;
	white-space: normal;
	border-bottom: 0;
}
.ctp-table tbody tr:last-child td { border-bottom: 0; }
/* Il contenitore non ritaglia più (overflow visibile): gli angoli arrotondati sono sulle celle d'angolo. */
.ctp-table thead th:first-child { border-top-left-radius: 9px; }
.ctp-table thead th:last-child { border-top-right-radius: 9px; }
.ctp-table tbody tr:last-child td:first-child { border-bottom-left-radius: 9px; }
.ctp-table tbody tr:last-child td:last-child { border-bottom-right-radius: 9px; }
.ctp-view .ctp-table tbody tr:hover td { background: var(--ctp-accent-soft); }
.ctp-table tr[hidden] { display: none !important; }

/* ---------- Le parole non si spezzano mai ----------
   Si va a capo solo tra una parola e l'altra (o dopo un trattino); una parola che non entra passa INTERA
   alla riga dopo. Le colonne si adattano alla parola più lunga (table-layout: auto); se così la tabella non
   entra nello spazio disponibile, il plugin passa alle schede impilate (classe ctp-stack, gestita da ctp.js).
   !important perché alcuni temi impostano word-break / hyphens sul contenuto. */
.ctp-view .ctp-table { table-layout: auto; }
.ctp-wrap .ctp-view .ctp-table th,
.ctp-wrap .ctp-view .ctp-table td,
.ctp-wrap .ctp-view .ctp-text {
	word-break: normal !important;
	overflow-wrap: normal !important;
	word-wrap: normal !important;
	-webkit-hyphens: manual !important;
	hyphens: manual !important;
}
/* Ultima risorsa, solo per una singola "parola" più lunga dell'intera scheda (es. un URL senza trattini né spazi):
   senza questo uscirebbe dallo schermo. Marcata da ctp.js solo sulle celle che non entrano. */
.ctp-wrap .ctp-view .ctp-table td.ctp-break,
.ctp-wrap .ctp-view .ctp-table td.ctp-break .ctp-text {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

th.ctp-sortable { cursor: pointer; user-select: none; }
th.ctp-sortable::after { content: "↕"; margin-left: 8px; opacity: .55; font-size: .85em; }
th.ctp-sortable[aria-sort="ascending"]::after { content: "↑"; opacity: 1; }
th.ctp-sortable[aria-sort="descending"]::after { content: "↓"; opacity: 1; }
th.ctp-sortable:hover { background: var(--ctp-accent-dark); }

mark.ctp-hit { background: var(--ctp-hit); color: inherit; padding: 0 1px; border-radius: 3px; }

/* ---------- PDF ---------- */
.ctp-files { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-flow: row wrap; align-items: center; gap: 6px; }
.ctp-text + .ctp-files { margin-top: 10px; }
.ctp-files li { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; }

/* PDF: solo l'icona. Il nome del file è nel tooltip (title) e nel testo nascosto per screen reader e ricerca. */
.ctp-pdf {
	display: inline-flex;
	padding: 4px;
	border-radius: 8px;
	line-height: 0;
	text-decoration: none;
	box-shadow: none;
}
.ctp-pdf:hover { background: var(--ctp-accent-soft); }
.ctp-pdf-ico { display: block; width: 28px; height: 35px; }
.ctp-pdf.ctp-pdf-hit { background: var(--ctp-hit); }
.ctp-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Ricerca ---------- */
.ctp-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 12px; }
.ctp-search { position: relative; display: flex; align-items: center; flex: 1 1 260px; max-width: 460px; }
.ctp-search > .ctp-ico { position: absolute; left: 12px; color: var(--ctp-muted); pointer-events: none; }
.ctp-wrap .ctp-search-input,
.ctp-wrap .ctp-col-select {
	height: 42px;
	margin: 0;
	border: 1px solid var(--ctp-line);
	border-radius: 8px;
	background-color: var(--ctp-surface);
	color: var(--ctp-ink);
	font: inherit;
	font-size: .95em;
	box-shadow: none;
}
.ctp-wrap .ctp-search-input { width: 100%; padding: 0 40px 0 38px; -webkit-appearance: none; appearance: none; }
.ctp-wrap .ctp-search-input::-webkit-search-cancel-button { display: none; }
.ctp-wrap .ctp-col-select { padding: 0 12px; max-width: 220px; }
.ctp-wrap .ctp-search-input:focus,
.ctp-wrap .ctp-col-select:focus { border-color: var(--ctp-accent); outline: 2px solid var(--ctp-accent-line); outline-offset: 0; }
.ctp-clear { position: absolute; right: 6px; display: inline-flex; padding: 6px; border: 0; border-radius: 6px; background: transparent; color: var(--ctp-muted); cursor: pointer; }
.ctp-clear:hover { background: var(--ctp-accent-soft); color: var(--ctp-accent-dark); }
.ctp-count { margin-left: auto; color: var(--ctp-muted); font-size: .875em; }
.ctp-empty { padding: 28px 16px; margin-bottom: 12px; text-align: center; color: var(--ctp-muted); background: var(--ctp-surface); border: 1px dashed var(--ctp-line); border-radius: 10px; }

/* ---------- Pulsanti ---------- */
.ctp-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.ctp-group { display: flex; flex-wrap: wrap; gap: 8px; }
.ctp-wrap .ctp-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid var(--ctp-line);
	border-radius: 8px;
	background: var(--ctp-surface);
	color: var(--ctp-ink);
	font: inherit;
	font-size: .9em;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
}
.ctp-wrap .ctp-btn:hover:not(:disabled) { border-color: var(--ctp-accent); color: var(--ctp-accent-dark); background: var(--ctp-accent-soft); }
.ctp-wrap .ctp-btn:disabled { opacity: .5; cursor: not-allowed; }
.ctp-wrap .ctp-btn.ctp-primary { background: var(--ctp-accent); border-color: var(--ctp-accent); color: #fff; }
.ctp-wrap .ctp-btn.ctp-primary:hover:not(:disabled) { background: var(--ctp-accent-dark); border-color: var(--ctp-accent-dark); color: #fff; }
.ctp-wrap .ctp-btn.ctp-small { margin-top: 8px; padding: 5px 10px; font-size: .82em; }

.ctp-wrap .ctp-icon { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 4px; border: 0; border-radius: 6px; background: transparent; color: var(--ctp-muted); cursor: pointer; box-shadow: none; }
.ctp-wrap .ctp-icon:hover:not(:disabled) { background: #fef3f2; color: var(--ctp-danger); }
.ctp-wrap .ctp-icon:disabled { opacity: .3; cursor: not-allowed; }

/* ---------- Carattere e dimensione scelti dall'utente ----------
   Molti temi impostano font-family/font-size direttamente su table, th e td: senza queste regole la scelta
   non avrebbe effetto sulla tabella. Valgono solo quando un carattere/dimensione è stato scelto
   (classi ctp-has-font / ctp-has-size); con "Come il tema" il tema resta libero di decidere. */
.ctp-wrap.ctp-has-font,
.ctp-wrap.ctp-has-font :where(table, thead, tbody, tr, th, td, div, span, a, ul, li, p, label, small, strong, mark, input, select, textarea, button) {
	font-family: var(--ctp-font) !important;
}
.ctp-wrap.ctp-has-size .ctp-table { font-size: .95em !important; }
.ctp-wrap.ctp-has-size :where(th, td) { font-size: inherit !important; }

/* Barra "Carattere / Dimensione" dell'editor */
.ctp-look { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; margin-bottom: 12px; padding: 12px 16px; background: var(--ctp-surface); border: 1px solid var(--ctp-line); border-radius: 10px; }
.ctp-look-field { display: flex; flex-direction: column; gap: 4px; margin: 0; color: var(--ctp-muted); font-size: .85em; }
.ctp-look-field small { font-size: .95em; }
.ctp-look-custom { flex: 1 1 260px; max-width: 420px; }
.ctp-wrap .ctp-look-select,
.ctp-wrap .ctp-look-input {
	height: 38px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid var(--ctp-line);
	border-radius: 8px;
	background-color: var(--ctp-surface);
	color: var(--ctp-ink);
	font: inherit;
	font-size: .95em;
	box-shadow: none;
}
.ctp-wrap .ctp-look-select { min-width: 210px; }
.ctp-wrap .ctp-look-select:focus,
.ctp-wrap .ctp-look-input:focus { border-color: var(--ctp-accent); outline: 2px solid var(--ctp-accent-line); outline-offset: 0; }

/* ---------- Messaggi e pannello di import ---------- */
.ctp-notice { margin-bottom: 12px; padding: 10px 14px; border-left: 4px solid var(--ctp-muted); border-radius: 0 8px 8px 0; background: #f3f6f8; font-size: .92em; }
.ctp-notice.ctp-success { border-color: #12b76a; background: #ecfdf3; }
.ctp-notice.ctp-error { border-color: var(--ctp-danger); background: #fef3f2; }

.ctp-panel { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; padding: 16px; background: var(--ctp-surface); border: 1px solid var(--ctp-accent-line); border-radius: 10px; }
.ctp-panel-title { font-weight: 600; }
.ctp-panel-file { display: flex; align-items: center; gap: 8px; color: var(--ctp-muted); font-size: .9em; overflow-wrap: anywhere; }
.ctp-check { display: flex; align-items: flex-start; gap: 8px; font-size: .92em; cursor: pointer; }
.ctp-check input { margin: 4px 0 0; accent-color: var(--ctp-accent); }

/* ---------- Editor ---------- */
.ctp-edit-table thead th { background: #f3f6f8; color: var(--ctp-ink); white-space: normal; border-bottom: 1px solid var(--ctp-line); }
.ctp-edit-table th,
.ctp-edit-table td { overflow-wrap: break-word; }
.ctp-edit-table td.ctp-rownum { white-space: nowrap; text-align: center; background: #f3f6f8; color: var(--ctp-muted); }
.ctp-edit-table td.ctp-rownum span { display: block; margin-bottom: 4px; font-size: .85em; }
.ctp-edit-table .ctp-corner { width: 56px; }
.ctp-edit-table td.ctp-rownum { width: 56px; }
.ctp-headcell { display: flex; align-items: center; gap: 4px; }
.ctp-wrap .ctp-edit-table textarea,
.ctp-wrap .ctp-edit-table input.ctp-h {
	width: 100%;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid var(--ctp-line);
	border-radius: 6px;
	background: #fff;
	color: var(--ctp-ink);
	font: inherit;
	font-size: .95em;
	box-shadow: none;
}
.ctp-wrap .ctp-edit-table input.ctp-h { font-weight: 600; min-width: 0; }
.ctp-wrap .ctp-edit-table textarea { min-height: 76px; resize: none; overflow-y: hidden; } /* l'altezza segue il testo (ctp.js) */
.ctp-wrap .ctp-edit-table textarea:focus,
.ctp-wrap .ctp-edit-table input.ctp-h:focus { border-color: var(--ctp-accent); outline: 2px solid var(--ctp-accent-line); outline-offset: 0; }

.ctp-login-required, .ctp-login-link { font-size: .9em; }

/* ---------- Sotto i 768 px: ogni riga diventa una scheda impilata (nessuna colonna nascosta) ---------- */
@media (max-width: 767px) {
	.ctp-view .ctp-table colgroup { display: none; }
	.ctp-view .ctp-table,
	.ctp-view .ctp-table tbody,
	.ctp-view .ctp-table tr,
	.ctp-view .ctp-table td { display: block; width: 100%; }
	.ctp-view .ctp-table thead { display: none; }
	.ctp-view .ctp-table tbody tr { padding: 6px 0; border-bottom: 8px solid #f3f6f8; }
	.ctp-view .ctp-table tbody tr:last-child { border-bottom: 0; }
	.ctp-view .ctp-table td { padding: 8px 16px; border: 0; }
	.ctp-view .ctp-table td:empty { display: none; }
	.ctp-view .ctp-table tbody tr:last-child td { border-radius: 0; }
	.ctp-view .ctp-table tbody tr:last-child td:last-child { border-radius: 0 0 9px 9px; }
	.ctp-view .ctp-table td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 2px;
		color: var(--ctp-muted);
		font-size: .8em;
		font-weight: 600;
	}
	.ctp-editor .ctp-scroll { overflow-x: auto; }
	.ctp-edit-table { min-width: 640px; }
	.ctp-search { max-width: none; }
	.ctp-count { margin-left: 0; }
	.ctp-wrap .ctp-col-select { max-width: 100%; flex: 1 1 100%; }
}

/* ---------- Schede impilate quando la tabella non entra senza spezzare le parole (aggiunta da ctp.js) ---------- */
.ctp-wrap.ctp-stack .ctp-view .ctp-table colgroup { display: none; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table,
.ctp-wrap.ctp-stack .ctp-view .ctp-table tbody,
.ctp-wrap.ctp-stack .ctp-view .ctp-table tr,
.ctp-wrap.ctp-stack .ctp-view .ctp-table td { display: block; width: 100%; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table thead { display: none; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table tbody tr { padding: 6px 0; border-bottom: 8px solid #f3f6f8; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table tbody tr:last-child { border-bottom: 0; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table td { padding: 8px 16px; border: 0; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table td:empty { display: none; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table tbody tr:last-child td { border-radius: 0; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table tbody tr:last-child td:last-child { border-radius: 0 0 9px 9px; }
.ctp-wrap.ctp-stack .ctp-view .ctp-table td::before {
	content: attr(data-label);
	display: block;
	margin-bottom: 2px;
	color: var(--ctp-muted);
	font-size: .8em;
	font-weight: 600;
}

/* La barra di amministrazione di WordPress (utenti loggati) è fissa in alto e coprirebbe l'intestazione. */
body.admin-bar .ctp-wrap { --ctp-sticky-top: 32px; }
@media (max-width: 782px) { body.admin-bar .ctp-wrap { --ctp-sticky-top: 46px; } }

/* ---------- Editor: PDF della cella (icona + titolo) e pulsante "Aggiungi PDF" ---------- */
.ctp-files-edit { flex-direction: column; align-items: stretch; }
.ctp-files-edit li { justify-content: space-between; gap: 4px; padding: 2px 2px 2px 0; border: 1px solid var(--ctp-line); border-radius: 8px; background: var(--ctp-surface); }
.ctp-pdf.ctp-pdf-chip { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1 1 auto; padding: 4px 6px; line-height: 1.3; color: var(--ctp-ink); }
.ctp-pdf-chip .ctp-pdf-ico { width: 20px; height: 25px; flex: none; }
.ctp-pdf-name { font-size: .85em; overflow-wrap: anywhere; }
.ctp-add-menu { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ctp-add-menu .ctp-btn.ctp-small { margin-top: 0; }

/* ---------- Finestra "Libreria PDF" (fuori da .ctp-wrap: variabili proprie) ---------- */
html.ctp-modal-open { overflow: hidden; }
.ctp-modal-root {
	--ctp-accent: #0f766e; --ctp-accent-dark: #0b5a54; --ctp-accent-soft: #e7f3f1; --ctp-accent-line: #bfe0db;
	--ctp-ink: #16262e; --ctp-muted: #5b6b75; --ctp-line: #dce3e8; --ctp-surface: #fff;
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px;
	color: var(--ctp-ink); line-height: 1.5; font-size: 16px;
}
.ctp-modal-root *, .ctp-modal-root *::before, .ctp-modal-root *::after { box-sizing: border-box; }
.ctp-modal-root [hidden] { display: none !important; }
.ctp-modal-root :focus-visible { outline: 2px solid var(--ctp-accent); outline-offset: 2px; }
.ctp-modal-root .ctp-ico { width: 1.05em; height: 1.05em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ctp-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 30, .55); }
.ctp-modal {
	position: relative; display: flex; flex-direction: column; width: 100%; max-width: 640px; max-height: min(720px, 100%);
	background: var(--ctp-surface); border-radius: 14px; box-shadow: 0 24px 60px rgba(0, 0, 0, .25); overflow: hidden;
}
.ctp-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 16px 8px 20px; }
.ctp-modal-head h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 1.15em; line-height: 1.3; color: var(--ctp-ink); }
.ctp-modal-head h2 .ctp-ico { color: var(--ctp-accent); }
.ctp-modal-root .ctp-icon { display: inline-flex; padding: 6px; border: 0; border-radius: 8px; background: transparent; color: var(--ctp-muted); cursor: pointer; box-shadow: none; }
.ctp-modal-root .ctp-icon:hover { background: var(--ctp-accent-soft); color: var(--ctp-accent-dark); }
.ctp-modal-searchbar { position: relative; display: flex; align-items: center; margin: 4px 20px 0; }
.ctp-modal-searchbar > .ctp-ico { position: absolute; left: 12px; color: var(--ctp-muted); pointer-events: none; }
.ctp-modal-root input.ctp-modal-search {
	width: 100%; height: 44px; margin: 0; padding: 0 12px 0 38px; border: 1px solid var(--ctp-line); border-radius: 10px;
	background: #fff; color: var(--ctp-ink); font: inherit; font-size: .95em; box-shadow: none; -webkit-appearance: none; appearance: none;
}
.ctp-modal-root input.ctp-modal-search:focus { border-color: var(--ctp-accent); outline: 2px solid var(--ctp-accent-line); outline-offset: 0; }
.ctp-modal-hint { margin: 8px 20px 4px; color: var(--ctp-muted); font-size: .85em; }
.ctp-modal-body { flex: 1 1 auto; overflow-y: auto; padding: 4px 12px 16px; }
.ctp-modal-list { list-style: none; margin: 0; padding: 0; }
.ctp-modal-list li { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; border-bottom: 1px solid var(--ctp-line); }
.ctp-modal-list li:last-child { border-bottom: 0; }
.ctp-modal-root button.ctp-modal-pick {
	display: flex; align-items: center; gap: 12px; flex: 1 1 auto; min-width: 0; margin: 4px 0; padding: 8px; border: 0; border-radius: 10px;
	background: transparent; color: var(--ctp-ink); font: inherit; text-align: left; cursor: pointer; box-shadow: none;
}
.ctp-modal-root button.ctp-modal-pick:hover:not(:disabled) { background: var(--ctp-accent-soft); }
.ctp-modal-root button.ctp-modal-pick:disabled { cursor: default; opacity: .6; }
.ctp-modal-ico { flex: none; line-height: 0; }
.ctp-modal-ico .ctp-pdf-ico { width: 26px; height: 33px; }
.ctp-modal-text { display: flex; flex-direction: column; min-width: 0; }
.ctp-modal-title { font-weight: 600; overflow-wrap: anywhere; }
.ctp-modal-meta { color: var(--ctp-muted); font-size: .82em; overflow-wrap: anywhere; }
.ctp-modal-badge { align-self: flex-start; margin-top: 3px; padding: 1px 8px; border-radius: 999px; background: var(--ctp-accent-soft); color: var(--ctp-accent-dark); font-size: .75em; font-weight: 600; }
.ctp-modal-open { flex: none; padding: 6px 10px; border-radius: 8px; color: var(--ctp-accent-dark); font-size: .85em; text-decoration: none; }
.ctp-modal-open:hover { background: var(--ctp-accent-soft); }
.ctp-modal-status { margin: 12px 8px; color: var(--ctp-muted); text-align: center; }
.ctp-modal-status:empty { display: none; }
.ctp-modal-root .ctp-btn.ctp-modal-more {
	display: block; margin: 8px auto 0; padding: 8px 14px; border: 1px solid var(--ctp-line); border-radius: 8px; background: #fff; color: var(--ctp-ink); font: inherit; font-size: .9em; cursor: pointer;
}
@media (max-width: 600px) {
	.ctp-modal-root { padding: 0; align-items: stretch; }
	.ctp-modal { max-width: none; max-height: none; height: 100%; border-radius: 0; }
	.ctp-modal-head { padding-top: calc(16px + env(safe-area-inset-top, 0px)); }
	.ctp-modal-body { padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
}
