/* -------------------------------------------------------------------------
   50-legal.css — policy pages, legal notices and content-gap markers.
   DGA-129 (unstyled policy text dumps).

   The homepage prose that DGA-046 was about now lives in .dga-home-prose, which
   30-conversion.css owns; nothing for it here.

   Revo renders page content into #contents.main-page.col-lg-12 with no measure
   limit, so policy pages arrive as edge-to-edge walls of text. Everything below
   is scoped to wrapper classes that the fix scripts put in the content itself,
   so nothing here depends on Revo's markup surviving a theme update.

   The page <h1> comes from Revo's breadcrumb bar and reads the post title, so
   the policy content starts at <h2>. .dg-policy h1 is styled anyway, for the
   case where a page does carry one.
   ------------------------------------------------------------------------- */

/* --- policy pages -------------------------------------------------------- */

.dg-policy {
	/* px, not rem or ch: Revo sets html{font-size:10px}, so 46rem silently
	   collapses to 460px. 720px is ~72 characters at the 15px set below. */
	max-width: 720px;
	margin: 0 auto 48px;
	padding: 0 4px;
	color: #333;
	font-size: 15px;
	line-height: 1.75;
}

.dg-policy h1 {
	margin: 8px 0 4px;
	color: #1d1d1d;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 700;
}

.dg-policy h2 {
	margin: 40px 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e4e4e4;
	color: #1d1d1d;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
}

/* First heading follows the meta rule, so it does not need its own big gap. */
.dg-policy .dg-policy__meta + h2 {
	margin-top: 8px;
}

.dg-policy h3 {
	margin: 26px 0 6px;
	color: #1d1d1d;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
}

.dg-policy p,
.dg-policy li {
	margin: 0 0 12px;
	line-height: 1.75;
}

.dg-policy ul,
.dg-policy ol {
	margin: 0 0 16px;
	padding-left: 22px;
}

.dg-policy li {
	margin-bottom: 6px;
}

.dg-policy a {
	color: #2c7a2c;
	text-decoration: underline;
}

.dg-policy a:hover,
.dg-policy a:focus {
	color: #1d5c1d;
}

/* Sub-heading line under the page title: what this page is and when it changed.
   The page <h1> comes from the theme's breadcrumb bar, not from the content, so
   this is the first thing inside .dg-policy. */
.dg-policy__meta {
	margin: 4px 0 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid #ececec;
	color: #6d6d6d;
	font-size: 13px;
	line-height: 1.6;
}

/* Seller identity / grievance-officer blocks — the details a regulator or an
   unhappy customer comes to this page to find. Kept visually distinct so they
   are not lost inside the prose. */
.dg-policy__card {
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px solid #dcdcdc;
	border-left: 4px solid #2c7a2c;
	background: #fafafa;
	border-radius: 4px;
}

.dg-policy__card p {
	display: flex;
	flex-wrap: wrap;
	gap: 0 14px;
	margin: 0 0 8px;
}

.dg-policy__card p:last-child {
	margin-bottom: 0;
}

.dg-policy__card strong {
	flex: 0 0 130px;
	color: #1d1d1d;
}

/* The label is a fixed column; everything after it is one wrapping cell, so a
   long address lines up under itself instead of under the label. */
.dg-policy__card p > *:not(strong),
.dg-policy__card p {
	min-width: 0;
}

/* Statutory/medical notice. Neutral, not an alarm. */
.dg-policy__notice {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid #e0e0e0;
	background: #f4f7f4;
	border-radius: 4px;
	font-size: 14px;
}

.dg-policy__notice p:last-child {
	margin-bottom: 0;
}

.dg-policy table {
	width: 100%;
	margin: 0 0 20px;
	border-collapse: collapse;
	font-size: 14px;
}

.dg-policy th,
.dg-policy td {
	padding: 8px 10px;
	border: 1px solid #e0e0e0;
	text-align: left;
	vertical-align: top;
}

.dg-policy th {
	background: #f4f4f4;
	font-weight: 700;
}

.dg-policy__toc {
	margin: 0 0 32px;
	padding: 14px 18px;
	border: 1px solid #ececec;
	background: #fbfbfb;
	border-radius: 4px;
	font-size: 14px;
}

.dg-policy__toc ul {
	margin: 0;
	padding-left: 18px;
}

.dg-policy__toc li {
	margin-bottom: 2px;
}

@media (max-width: 767px) {
	.dg-policy {
		font-size: 14px;
	}

	.dg-policy h1 {
		font-size: 24px;
	}

	.dg-policy h2 {
		font-size: 18px;
	}

	.dg-policy__card p {
		display: block;
	}

	.dg-policy__card strong {
		display: block;
	}
}

/* --- product-page traditional-use note (DGA-007) ------------------------- */

.dg-trad-note {
	margin: 0 0 18px;
	padding: 10px 14px;
	border-left: 3px solid #c9c9c9;
	background: #f7f7f7;
	color: #5b5b5b;
	font-size: 13px;
	line-height: 1.6;
}

.dg-trad-note p {
	margin: 0;
}

/* --- placeholder tile where a non-compliant creative was removed --------- */

.dg-placeholder-tile {
	display: block;
	margin-bottom: 10px;
	padding: 22px 16px;
	border: 1px solid #e0e0e0;
	background: #f6f8f6;
	border-radius: 4px;
	color: #2c7a2c;
	text-align: center;
	text-decoration: none;
}

.dg-placeholder-tile:hover,
.dg-placeholder-tile:focus {
	background: #eef3ee;
	color: #1d5c1d;
	text-decoration: none;
}

.dg-placeholder-tile .dg-placeholder-tile__name {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.dg-placeholder-tile .dg-placeholder-tile__cta {
	display: block;
	margin-top: 6px;
	color: #6d6d6d;
	font-size: 13px;
}

/* --- content we are waiting on from the client --------------------------- */

/* Deliberately loud. Production promotion is gated on there being none of
   these left on a public page. */
.dg-needs-content {
	margin: 16px auto;
	max-width: 900px;
	padding: 12px 16px;
	border-left: 4px solid #d98324;
	background: #fff6e6;
	color: #5a3b0b;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 4px;
}

.dg-needs-content::before {
	content: "Content still needed \2014\00A0";
	font-weight: 700;
}
