/* =============================================================================
   WP Health & SEO Snapshot Tool — Frontend Styles
   Plugin:  wp-health-seo-snapshot
   Version: 1.0.0
   ============================================================================= */

/* ── Wrapper ── */
.whss-wrap {
	font-family: 'Poppins-Regular', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	max-width: 100%;
	margin: 0 auto;
}

@media (min-width: 1024px) {
.whss-wrap {
    display: flex;
    gap: 15px;
	align-items: flex-start;
}
	
		
	.column-1 {
    width: 30% !important;
	}
	
	.column-2 {
    width: 70% !important;
}

}

/* =============================================================================
   FORM
   ============================================================================= */
p, h2, h3 {
	font-family: 'Poppins-Regular';
}

.whss-form-box {
    background: #1D222A;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 36px 40px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.whss-form-box h3 {
    margin: 0 0 8px;
    font-size: 1.4rem !important;
    color: #EFF1F4;
}

.whss-form-box h3:before {
    content: "\e00f";
    font-family: 'ETMODULES';
    vertical-align: middle;
    line-height: 1;
    margin-right: 10px;
    font-size: 1.4em;
    bottom: 3px;
    position: relative;
	color: var(--primary);
}

.whss-form-box p {
	margin: 0 0 24px;
	color: #a9afbb;
}

.whss-form-row {
display: block;
}

.whss-url-input {
	width: 100%;
	padding: 13px 16px !important;
	border: 1px solid #cbd5e0;
	border-radius: 5px;
	font-size: 1rem;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
	margin-bottom: 10px !important;
	height: 60px;
}

.whss-url-input:focus {
	border-color: #4c51bf;
	box-shadow: 0 0 0 3px rgba(76, 81, 191, .15);
}

.whss-btn {
	width: 100%;
	background: #30e8d9;
	color: #101318;
	border: none;
	border-radius: 8px;
	padding: 13px 26px;
	font-size: 1rem;
	font-weight: 400;
	cursor: pointer;
	transition: background .2s;
	white-space: nowrap;
	position: relative;
	font-family: 'Poppins-Regular';
	height: 60px;
}

.whss-btn:hover {
	background: #42f0c6;
}

.txt-disclaimer {
    font-size: .8em;
    line-height: 1.2em;
    font-weight: 400;
    font-family: 'Poppins-Regular';
    margin-top: 20px;
    text-align: center;
    color: #ffffff42;
	font-style: italic;
}


/* Loading state — JS adds .is-loading to the button */
.whss-btn.is-loading {
	color: transparent;
	pointer-events: none;
}

.whss-btn.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 3px solid rgba(255, 255, 255, .4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: whss-spin .7s linear infinite;
}

@keyframes whss-spin {
	to { transform: rotate(360deg); }
}

.whss-error {
	color: #c53030;
	background: #fff5f5;
	border: 1px solid #fed7d7;
	border-radius: 8px;
	padding: 12px 16px;
	margin-top: 16px;
}

/* =============================================================================
   RESULTS HEADER
   ============================================================================= */

.page-title-h1 em {
    color: var(--tertiary);
}

.page-title-h1 {
    margin-bottom: 20px;
}

.whss-header {
	background: linear-gradient(135deg, #2d3748 0%, #2d3748 100%);
	border: 1px solid var(--color-border);
	color: #fff;
	border-radius: 12px;
	padding: 36px 40px;
	margin-bottom: 20px;
}

.whss-header h1 {
	margin: 0 0 4px;
	font-size: 1.5rem;
}

.whss-header .whss-url-label {
	opacity: .85;
	font-size: .95rem;
	word-break: break-all;
	text-align: center;
	color: var(--primary);
}

.whss-header h3{
    color: #EFF1F4;
	text-align: center;
}

/* ── Score ring ── */
.whss-score-wrap {
	text-align: center;
	margin-top: 20px;
}

.whss-score-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 6px solid rgba(255, 255, 255, .4);
	font-size: 2.2rem;
	font-weight: 700;
	color: #fff;
	background: rgba(255, 255, 255, .15);
}

.whss-score-label {
	margin-top: 20px;
	font-size: .85rem;
	opacity: .9;
	letter-spacing: .05em;
	text-transform: uppercase;
}


.whss-rescan a {
    background: var(--primary);
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tertiary);
	transition: ease .4s;
	margin-bottom: 20px;
}

.whss-rescan a:hover {
    transform: translateY(-5px);
	background: #42f0c6;
}

/* =============================================================================
   RESULT SECTIONS
   ============================================================================= */

.whss-section {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 28px 32px;
	margin-bottom: 20px;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .04);
}

.whss-section h3 {
	margin: 0 0 20px;
	font-size: 1.1rem;
	color: #2d3748;
	border-bottom: 2px solid #e2e8f0;
	padding-bottom: 12px;
}

/* ── Individual check rows ── */
.whss-check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid #f7fafc;
}

.whss-check:last-child {
	border-bottom: none;
}

.whss-check-icon {
	flex-shrink: 0;
	font-size: 1.15rem;
	margin-top: 1px;
}

.whss-check-body {
	flex: 1;
}

.whss-check-label {
	font-weight: 600;
	color: #2d3748;
	font-size: .95rem;
}

.whss-check-detail {
	color: #718096;
	font-size: .875rem;
	margin-top: 2px;
}

/* =============================================================================
   STATUS BADGES
   ============================================================================= */

.whss-badge {
	display: inline-block;
	border-radius: 20px;
	padding: 2px 10px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.badge-good { background: #c6f6d5; color: #22543d; }
.badge-warn { background: #fefcbf; color: #744210; }
.badge-crit { background: #fed7d7; color: #742a2a; }
.badge-info { background: #bee3f8; color: #2a4365; }

/* =============================================================================
   SEO VALUE BOXES & PROGRESS BARS
   ============================================================================= */

.whss-value-box {
	background: #f7fafc;
	border-radius: 6px;
	padding: 10px 14px;
	font-size: .9rem;
	color: #2d3748;
	margin-top: 6px;
	word-break: break-word;
}

.whss-bar-track {
	background: #e2e8f0;
	border-radius: 99px;
	height: 8px;
	margin-top: 8px;
}

.whss-bar-fill {
	height: 8px;
	border-radius: 99px;
	transition: width .4s ease;
}

.bar-good { background: #48bb78; }
.bar-warn { background: #ecc94b; }
.bar-crit { background: #f56565; }

/* =============================================================================
   LEAD CAPTURE CTA
   ============================================================================= */

.whss-cta {
	background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
	color: #fff;
	border-radius: 12px;
	padding: 36px 40px;
	margin-top: 28px;
	text-align: center;
}

.whss-cta h2 {
	margin: 0 0 10px;
	font-size: 1.4rem;
}

.whss-cta p {
	margin: 0 0 24px;
	opacity: .8;
}

.whss-cta-btn {
	display: inline-block;
	background: #4c51bf;
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	padding: 14px 36px;
	font-size: 1rem;
	font-weight: 700;
	transition: background .2s;
}

.whss-cta-btn:hover {
	background: #434190;
	color: #fff;
}

.whss-cta-form-wrap {
	max-width: 480px;
	margin: 0 auto;
	text-align: left;
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 600px) {
	.whss-form-box,
	.whss-section,
	.whss-header,
	.whss-cta {
		padding: 22px 18px;
	}

	.whss-score-circle {
		width: 80px;
		height: 80px;
		font-size: 1.8rem;
	}
}

/* ── SVG status icons ── */
.whss-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	display: block;
	margin-top: 2px;
}

/* ── Grade label colours ── */
.whss-grade { font-weight: 700; }
.whss-grade--good     { color: #68d391; }
.whss-grade--warn   { color: #f6e05e; }
.whss-grade--crit   { color: #fc8181; }