/* =========================================================================
   WeatherDuck — Legal pages (privacy, cookies, terms, refunds)
   =========================================================================
   Loaded after wd-article.css on the pages page-legal.php serves. The
   article stylesheet does the reading layout; this file only tames what
   Elementor and Complianz bring with their own markup so the four policies
   read the same.
   ========================================================================= */

/* Elementor-built policies: collapse the page's own containers so the
   article measure and rhythm apply. */
.wd-legal .wd-article__body .e-con {
	--content-width: 100%;
	--width: 100%;
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--margin-top: 0;
	--margin-right: 0;
	--margin-bottom: 0;
	--margin-left: 0;
}

.wd-legal .wd-article__body .elementor-widget-text-editor,
.wd-legal .wd-article__body .elementor-widget-text-editor p {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

.wd-legal .wd-article__body .elementor-heading-title {
	font-family: var(--wd-article-font-head);
	color: var(--wd-text-primary);
	line-height: 1.2;
}

.wd-legal .wd-article__body h2.elementor-heading-title {
	padding-top: var(--wd-space-lg);
	border-top: 1px solid var(--wd-border);
	font-size: var(--wd-font-size-2xl);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.wd-legal .wd-article__body h3.elementor-heading-title {
	font-size: var(--wd-font-size-xl);
	font-weight: 600;
}

/* Links: the Elementor kit paints them pink at the same specificity as the
   article rule, so restate the site colour one level up. */
.wd-legal .wd-article__body a,
.wd-legal .wd-article__body .elementor a {
	color: var(--wd-green);
}

.wd-legal .wd-article__body a:hover,
.wd-legal .wd-article__body .elementor a:hover {
	color: var(--wd-green-hover);
}

/* Complianz policy tables (cookie policy) use plain <table> markup. */
.wd-legal .wd-article__body table {
	width: 100%;
	margin: var(--wd-space-xl) 0;
	border-collapse: collapse;
	font-family: var(--wd-article-font-head);
	font-size: var(--wd-font-size-md);
	line-height: 1.5;
}

.wd-legal .wd-article__body table :is(th, td) {
	padding: var(--wd-space-md) var(--wd-space-lg);
	border: 0;
	border-bottom: 1px solid var(--wd-border);
	text-align: left;
	vertical-align: top;
}

.wd-legal .wd-article__body table th {
	font-size: var(--wd-font-size-sm);
	font-weight: 700;
	color: var(--wd-text-secondary);
	background: var(--wd-bg-subtle);
	border-bottom: 1px solid var(--wd-border-strong);
}

/* Elementor forms inside a policy (the cancellation form on the refunds
   page): same skin as the contact form, written to outrank Elementor's
   generated post CSS. */
.wd-legal .wd-article__body .elementor-widget-form.elementor-element {
	margin: var(--wd-space-2xl) 0 0;
	padding: var(--wd-space-2xl);
	border: 1px solid var(--wd-border);
	border-radius: var(--wd-radius-md);
	background: var(--wd-bg-card);
	box-shadow: var(--wd-shadow-sm);
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-form-fields-wrapper.elementor-labels-above {
	margin: 0;
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-field-group.elementor-column {
	padding: 0;
	margin-bottom: var(--wd-space-xl);
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-field-group.elementor-field-type-submit {
	margin-top: var(--wd-space-sm);
	margin-bottom: 0;
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-field-group > label {
	margin-bottom: var(--wd-space-sm);
	font-family: var(--wd-article-font-head);
	font-size: var(--wd-font-size-sm);
	font-weight: 700;
	color: var(--wd-text-primary);
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-field-group .elementor-field-textual {
	min-height: var(--wd-mkt-btn-h);
	padding: 0 var(--wd-space-lg);
	border: 1px solid var(--wd-border-strong);
	border-radius: var(--wd-mkt-btn-radius);
	background-color: var(--wd-bg-card);
	box-shadow: none;
	color: var(--wd-text-primary);
	font-family: var(--wd-article-font-head);
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.4;
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-field-group textarea.elementor-field-textual {
	min-height: 150px;
	padding: var(--wd-space-md) var(--wd-space-lg);
	line-height: 1.55;
	resize: vertical;
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-field-group .elementor-field-textual:focus {
	border-color: var(--wd-green);
	box-shadow: var(--wd-focus-ring);
	outline: none;
}

/* One class deeper than the contact form: this page's Elementor settings
   paint the button their own green at five-class specificity. */
.wd-legal .wd-article__body .elementor-widget-form .elementor-form .elementor-field-type-submit .elementor-button {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 240px;
	min-height: var(--wd-mkt-btn-h);
	padding: 0 26px;
	border: 0;
	border-radius: var(--wd-mkt-btn-radius);
	background-color: var(--wd-green);
	color: var(--wd-text-on-green);
	font-family: var(--wd-article-font-head);
	font-size: var(--wd-mkt-btn-size);
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.2;
	text-transform: uppercase;
	box-shadow: none;
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-form .elementor-field-type-submit .elementor-button:hover {
	background-color: var(--wd-green-hover);
	color: var(--wd-text-on-green);
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-message {
	margin-top: var(--wd-space-lg);
	font-family: var(--wd-article-font-head);
	font-size: var(--wd-font-size-md);
	font-weight: 700;
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-message-success {
	color: var(--wd-success);
}

.wd-legal .wd-article__body .elementor-widget-form .elementor-message-danger {
	color: var(--wd-error);
}

@media (max-width: 480px) {
	.wd-legal .wd-article__body .elementor-widget-form.elementor-element {
		padding: var(--wd-card-padding-mobile);
	}

	.wd-legal .wd-article__body .elementor-widget-form .elementor-form .elementor-field-type-submit .elementor-button {
		width: 100%;
	}
}

/* Complianz "sync" footnote and revoke controls. */
.wd-legal .wd-article__body .cmplz-document-status,
.wd-legal .wd-article__body .cmplz-blocked-content-notice {
	font-size: var(--wd-font-size-sm);
	color: var(--wd-text-muted);
}
