/**
 * ALPHA2000 — WordPress & Elementor overrides
 * Loaded after assets/css/alpha2000.css
 */

/* ============================================================
 * OFFLINE BANNER (top red strip)
 * ============================================================ */
.off-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

/* ============================================================
 * SOCIAL SHARE FLOATING BUTTON
 * ============================================================ */
.soc-share {
	position: fixed;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 30;
	display: flex;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	transform: translate(-20px, -50%);
	transition: all .5s cubic-bezier(.16, 1, .3, 1);
}
.soc-fab {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .25s;
	background: rgba(184, 148, 46, .08);
	border: 1px solid rgba(184, 148, 46, .15);
	color: var(--accent);
	cursor: pointer;
}
.soc-fab:hover { transform: scale(1.1); }
.soc-fab:active { transform: scale(.95); }
.soc-menu {
	position: absolute;
	left: 100%;
	margin-left: 8px;
	top: 50%;
	transform: translate(-10px, -50%);
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 8px;
	border-radius: 12px;
	opacity: 0;
	pointer-events: none;
	transition: all .3s;
	background: rgba(255, 255, 255, .98);
	border: 1px solid var(--bdr);
	backdrop-filter: blur(16px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, .1);
}
.soc-menu button {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: transparent;
	cursor: pointer;
	transition: all .2s;
}
.soc-menu button:hover { background: rgba(0, 0, 0, .04); transform: scale(1.08); }

/* Hide social share on mobile (matches original behaviour) */
@media (max-width: 768px) {
	.soc-share { display: none !important; }
}

/* ============================================================
 * WORDPRESS CORE ALIGNMENTS (Elementor & block editor)
 * ============================================================ */
.entry-content img,
.page-content img,
.front-page-content img {
	max-width: 100%;
	height: auto;
}
.alignwide { width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin: 1em auto; }

/* WP caption */
.wp-caption { max-width: 100%; }
.wp-caption-text,
.gallery-caption {
	font-size: 12px;
	color: var(--txt3);
	font-style: italic;
	text-align: center;
	margin-top: 6px;
}

/* Block editor / classic typography inside post content */
.entry-content p,
.page-content p,
.single-post .entry-content p { margin-bottom: 1.2em; }
.entry-content h2, .page-content h2 { font-size: 1.6em; font-weight: 600; margin: 1em 0 .5em; color: var(--txt); }
.entry-content h3, .page-content h3 { font-size: 1.3em; font-weight: 600; margin: 1em 0 .5em; color: var(--txt); }
.entry-content ul, .page-content ul { margin: 0 0 1.2em 1.2em; list-style: disc; }
.entry-content ol, .page-content ol { margin: 0 0 1.2em 1.2em; list-style: decimal; }
.entry-content a, .page-content a { color: var(--accent); text-decoration: underline; }
.entry-content a:hover { color: var(--accent-l); }
.entry-content blockquote {
	border-left: 3px solid var(--accent);
	padding: .5em 1.2em;
	margin: 1.5em 0;
	background: rgba(184, 148, 46, .03);
	font-style: italic;
	color: var(--txt2);
}
.entry-content table { width: 100%; border-collapse: collapse; margin: 1.5em 0; }
.entry-content th, .entry-content td { padding: 10px 14px; border: 1px solid var(--bdr); text-align: left; }
.entry-content th { background: var(--bg-alt); font-weight: 600; }
.entry-content pre {
	background: #1a1a1a;
	color: #f3f4f6;
	padding: 1.2em;
	border-radius: 12px;
	overflow-x: auto;
	font-size: 13px;
	margin: 1.2em 0;
}

/* ============================================================
 * ELEMENTOR COMPATIBILITY
 * ============================================================ */
/* Let Elementor manage full-width sections without theme padding */
.elementor-full-width-page .entry-content,
.front-page-content {
	margin: 0;
	padding: 0;
	max-width: none;
}
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1200px; }

/* Ensure Elementor canvas template has no body padding */
.page-template-page-templates-elementor-canvas .site-main { padding-top: 0 !important; }
.page-template-page-templates-elementor-canvas footer,
.page-template-page-templates-elementor-canvas nav,
.page-template-page-templates-elementor-canvas .abs-bg,
.page-template-page-templates-elementor-canvas .abs-lines,
.page-template-page-templates-elementor-canvas .abs-grain,
.page-template-page-templates-elementor-canvas .cg,
.page-template-page-templates-elementor-canvas .sp,
.page-template-page-templates-elementor-canvas .off-banner,
.page-template-page-templates-elementor-canvas .soc-share { display: none !important; }

/* Remove default WP margins that clash with the design */
body.elementor-editor-active .abs-bg,
body.elementor-editor-active .abs-lines,
body.elementor-editor-active .cg,
body.elementor-editor-active .sp { display: none !important; }
body.elementor-editor-active .soc-share { display: none !important; }

/* ============================================================
 * SCREEN READER / ACCESSIBILITY
 * ============================================================ */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: #fff;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 12px 20px;
	background: var(--accent);
	color: #fff;
	text-decoration: none;
	border-radius: 0 0 8px 0;
	font-size: 14px;
	font-weight: 600;
}
.skip-link:focus { left: 0; }

/* ============================================================
 * PAGINATION
 * ============================================================ */
.pagination,
.nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.pagination .page-numbers,
.nav-links .page-numbers,
.nav-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid var(--bdr);
	background: rgba(255, 255, 255, .6);
	color: var(--txt2);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	transition: all .2s;
}
.pagination .page-numbers:hover,
.nav-links a:hover {
	background: var(--accent);
	color: #fff;
	border-color: var(--accent);
}
.pagination .current,
.nav-links .current {
	background: var(--accent);
	color: #fff;
	border-color: var(--accent);
}

/* ============================================================
 * POST NAVIGATION (single)
 * ============================================================ */
.post-navigation a {
	text-decoration: none;
	color: var(--txt);
	display: block;
	line-height: 1.5;
}
.post-navigation a:hover { color: var(--accent); }

/* ============================================================
 * WIDGETS (sidebar / footer)
 * ============================================================ */
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li { padding: 6px 0; border-bottom: 1px solid var(--bdr); font-size: 13px; }
.widget ul li:last-child { border-bottom: none; }
.widget a { color: var(--txt2); text-decoration: none; transition: color .2s; }
.widget a:hover { color: var(--accent); }
.widget select { width: 100%; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--bdr); background: rgba(0,0,0,.02); }

/* ============================================================
 * COMMENTS
 * ============================================================ */
.comments-area { margin-top: 40px; }
.comments-list { list-style: none; padding: 0; }
.children { list-style: none; padding-left: 24px; }
.comment-form input,
.comment-form textarea {
	background: rgba(0,0,0,.02);
	border: 1px solid var(--bdr);
	border-radius: 12px;
}
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(184,148,46,.25);
	border-color: var(--accent);
}
.comment-reply-link {
	font-size: 11px;
	font-weight: 600;
	color: var(--accent);
	text-decoration: none;
}

/* ============================================================
 * MISC
 * ============================================================ */
/* Ensure page wrappers have top spacing so content isn't hidden under fixed nav */
.page-content,
.single-post,
.search-results,
.error404,
.comments-area { padding-top: 0; }

/* Selection colour */
::selection { background: rgba(184, 148, 46, .2); color: var(--txt); }

/* Smooth focus outline for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* Custom logo sizing */
.custom-logo { max-height: 40px; width: auto; border-radius: 50%; }
.li.custom-logo { width: 36px; height: 36px; }
