/**
 * KF Dashboard Plugin — theme isolation (scoped to #kf-dashboard-plugin)
 * Self-contained and resilient: prevents theme CSS from affecting the plugin.
 * All selectors scoped; no global element styles. Checklist #2–#8.
 */

/* -------------------------------------------------------------------------
   4) Header overlap protection — checklist #4
   5) Don't assume page width — checklist #5
   ------------------------------------------------------------------------- */
/* Block wrapper — full-width breakout + true full height */
.wp-block-my-plugin-dashboard-widget {
	min-height: 100vh;
	min-height: 100dvh;
}

#kf-dashboard-plugin {
	position: relative;
	z-index: 1;
	margin-top: 20px;
	max-width: 100%;
	box-sizing: border-box;
	scroll-margin-top: 120px;
}

#kf-dashboard-plugin *,
#kf-dashboard-plugin *::before,
#kf-dashboard-plugin *::after {
	box-sizing: border-box;
}

/* 11) Debug: uncomment to reveal overflow/clipping/header overlap (remove after)
#kf-dashboard-plugin {
  outline: 3px solid red;
}
*/

/* -------------------------------------------------------------------------
   3) Controlled reset — normalize commonly hijacked elements — checklist #3
   ------------------------------------------------------------------------- */
#kf-dashboard-plugin ul {
	list-style: disc;
	margin: 0 0 1em 1.2em;
}

#kf-dashboard-plugin p {
	margin: 0 0 1em;
}

#kf-dashboard-plugin label {
	display: block;
	font-weight: 600;
}

#kf-dashboard-plugin button {
	cursor: pointer;
}

/* -------------------------------------------------------------------------
   6) Form fields — themes break these most — checklist #6
   ------------------------------------------------------------------------- */
#kf-dashboard-plugin input,
#kf-dashboard-plugin select,
#kf-dashboard-plugin textarea {
	width: 100%;
	max-width: 450px;
}

/* -------------------------------------------------------------------------
   7) Typography — avoid theme hijacking — checklist #7
   ------------------------------------------------------------------------- */
#kf-dashboard-plugin a {
	text-decoration: underline;
}

#kf-dashboard-plugin h2,
#kf-dashboard-plugin h3 {
	line-height: 1.3;
}

/* -------------------------------------------------------------------------
   8) Buttons — prevent nav styles from affecting plugin buttons — checklist #8
   ------------------------------------------------------------------------- */
#kf-dashboard-plugin button,
#kf-dashboard-plugin .plugin-button {
	display: inline-block;
	padding: 8px 14px;
	text-transform: none;
}

/* -------------------------------------------------------------------------
   JupiterX theme overrides — full-width + height corrections
   ------------------------------------------------------------------------- */
#jupiterx-main {
	overflow: visible !important;
	max-width: 100% !important;
}
#jupiterx-main .container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
#jupiterx-main .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
#jupiterx-main .jupiterx-main-content,
#jupiterx-main .jupiterx-content,
#jupiterx-main article {
	min-height: unset !important;
	height: auto !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
#jupiterx-main .jupiterx-post-body,
#jupiterx-main .jupiterx-post-content {
	min-height: unset !important;
	height: auto !important;
}
#jupiterx-main .jupiterx-post-header {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
#jupiterx-primary {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
}
#jupiterx-main .jupiterx-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
}
#jupiterx-main .jupiterx-content > article {
	flex: 1 !important;
}

#kf-dashboard-plugin > div[id^='dashboard-widget-'] {
	min-height: 100vh;
	min-height: 100dvh;
}
