/**
 * Axiron WordPress Integration Styles
 * Bridges the HTML template with WordPress-specific classes,
 * widgets, comments, pagination, accessibility, and Elementor.
 *
 * @package Axiron
 */

/* -----------------------------------------------------------------------
   WORDPRESS CORE ALIGNMENT CLASSES
----------------------------------------------------------------------- */
.alignleft  { float: left;  margin: 0.5em 1.5em 1em 0; max-width: 50%; }
.alignright { float: right; margin: 0.5em 0 1em 1.5em; max-width: 50%; }
.aligncenter, .alignnone { display: block; margin: 1em auto; }
.alignwide  { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.alignfull  { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: 0; }

/* -----------------------------------------------------------------------
   SCREEN READER TEXT (accessibility)
----------------------------------------------------------------------- */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0,0,0,0.6);
	clip: auto;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	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
----------------------------------------------------------------------- */
.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: -999;
}
.skip-link:focus {
	position: fixed;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	padding: 10px 20px;
	background: var(--axiron-primary, #e8a200);
	color: #fff;
	font-weight: 700;
	z-index: 99999;
}

/* -----------------------------------------------------------------------
   WORDPRESS CAPTION / GALLERY
----------------------------------------------------------------------- */
.wp-caption {
	max-width: 100%;
	margin-bottom: 1.5em;
}
.wp-caption img { display: block; width: 100%; }
.wp-caption-text {
	font-size: 0.85rem;
	color: #888;
	text-align: center;
	padding: 0.4em 0;
}
.gallery { display: flex; flex-wrap: wrap; gap: 10px; }
.gallery-item { flex: 1 0 calc(33.333% - 10px); }
.gallery-item img { width: 100%; height: auto; display: block; }

/* -----------------------------------------------------------------------
   BLOG / ARCHIVE LAYOUT
----------------------------------------------------------------------- */
.blog-post-item {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 40px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06);
	transition: box-shadow 0.3s ease;
}
.blog-post-item:hover { box-shadow: 0 8px 40px rgba(0,0,0,0.12); }
.blog-image figure { margin: 0; overflow: hidden; }
.blog-image figure img { width: 100%; height: 280px; object-fit: cover; transition: transform 0.5s ease; }
.blog-post-item:hover .blog-image figure img { transform: scale(1.04); }
.blog-post-content { padding: 30px; }
.blog-title { font-size: 1.5rem; margin: 12px 0; }
.blog-title a { text-decoration: none; color: inherit; }
.blog-title a:hover { color: var(--axiron-primary, #e8a200); }
.blog-excerpt { color: #666; line-height: 1.7; margin-bottom: 20px; }
.blog-read-more { display: flex; align-items: center; gap: 16px; }
.reading-time { font-size: 0.85rem; color: #999; }

/* -----------------------------------------------------------------------
   POST META
----------------------------------------------------------------------- */
.post-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font-size: 0.85rem;
	color: #888;
	margin-bottom: 14px;
}
.post-meta a { color: inherit; text-decoration: none; }
.post-meta a:hover { color: var(--axiron-primary, #e8a200); }
.post-meta i { margin-right: 4px; }

/* -----------------------------------------------------------------------
   SINGLE POST
----------------------------------------------------------------------- */
.blog-single-post { margin-bottom: 50px; }
.blog-single-image figure { margin: 0 0 30px; border-radius: 12px; overflow: hidden; }
.blog-single-image figure img { width: 100%; max-height: 480px; object-fit: cover; }
.blog-single-title { font-size: 2.2rem; margin-bottom: 20px; line-height: 1.2; }
.blog-single-body { font-size: 1.05rem; line-height: 1.85; color: #555; }
.blog-single-body p { margin-bottom: 1.4em; }
.blog-single-body h2, .blog-single-body h3 { margin: 2em 0 0.75em; }
.blog-single-body ul, .blog-single-body ol { padding-left: 1.6em; margin-bottom: 1.4em; }
.blog-single-body blockquote {
	border-left: 4px solid var(--axiron-primary, #e8a200);
	padding: 16px 24px;
	margin: 2em 0;
	background: #fafafa;
	font-style: italic;
}

/* Post tags & share */
.post-tags, .post-share { margin: 24px 0; }
.post-tags a, .post-share a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: #f0f0f0;
	color: #555;
	margin: 0 4px;
	text-decoration: none;
	transition: background 0.3s, color 0.3s;
}
.post-tags a:hover, .post-share a:hover {
	background: var(--axiron-primary, #e8a200);
	color: #fff;
}

/* Author box */
.post-author-box {
	display: flex;
	gap: 20px;
	padding: 28px;
	background: #f8f8f8;
	border-radius: 12px;
	margin: 40px 0;
}
.author-avatar .author-img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.author-name a { text-decoration: none; color: inherit; }
.author-name a:hover { color: var(--axiron-primary, #e8a200); }
.author-bio { color: #666; font-size: 0.93rem; margin: 0; }

/* Post navigation */
.post-nav-links { display: flex; justify-content: space-between; gap: 20px; margin: 40px 0; flex-wrap: wrap; }
.post-nav-prev, .post-nav-next { flex: 1; min-width: 200px; }
.post-nav-next { text-align: right; }
.post-nav-prev span, .post-nav-next span { display: block; font-size: 0.8rem; color: #999; margin-bottom: 4px; }
.post-nav-prev a, .post-nav-next a { font-weight: 600; text-decoration: none; color: inherit; }
.post-nav-prev a:hover, .post-nav-next a:hover { color: var(--axiron-primary, #e8a200); }

/* -----------------------------------------------------------------------
   PAGINATION
----------------------------------------------------------------------- */
.axiron-pagination { margin: 40px 0; display: flex; justify-content: center; }
.axiron-pagination .pagination { flex-wrap: wrap; gap: 6px; }
.axiron-pagination .page-item .page-link {
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50% !important;
	border: 2px solid #e0e0e0;
	color: #555;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	background: #fff;
}
.axiron-pagination .page-item .page-link:hover,
.axiron-pagination .page-item.active .page-link {
	background: var(--axiron-primary, #e8a200);
	border-color: var(--axiron-primary, #e8a200);
	color: #fff;
}

/* -----------------------------------------------------------------------
   BREADCRUMBS
----------------------------------------------------------------------- */
.breadcrumb-trail { margin-top: 12px; }
.breadcrumb-trail .breadcrumb {
	background: transparent;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.breadcrumb-trail .breadcrumb li { color: rgba(255,255,255,0.7); font-size: 0.9rem; }
.breadcrumb-trail .breadcrumb li::after { content: '/'; margin-left: 8px; opacity: 0.5; }
.breadcrumb-trail .breadcrumb li:last-child::after { display: none; }
.breadcrumb-trail .breadcrumb li a { color: rgba(255,255,255,0.9); text-decoration: none; }
.breadcrumb-trail .breadcrumb li a:hover { color: var(--axiron-primary, #e8a200); }
.breadcrumb-trail .breadcrumb li.active { color: var(--axiron-primary, #e8a200); }

/* -----------------------------------------------------------------------
   COMMENTS
----------------------------------------------------------------------- */
.comments-area { padding: 40px 0; }
.comments-title { font-size: 1.6rem; margin-bottom: 30px; }
.comment-list { list-style: none; padding: 0; margin: 0; }
.comment-list .comment { margin-bottom: 30px; padding: 24px; background: #fafafa; border-radius: 10px; }
.comment-list .comment.depth-2 { margin-left: 40px; }
.comment-author .avatar { border-radius: 50%; width: 52px; height: 52px; float: left; margin-right: 16px; }
.comment-meta { margin-bottom: 10px; }
.comment-author b { font-weight: 700; }
.comment-author a { text-decoration: none; color: inherit; }
.comment-metadata time { font-size: 0.82rem; color: #999; }
.comment-body { clear: both; }
.reply { margin-top: 10px; }
.reply a { font-size: 0.85rem; font-weight: 600; text-decoration: none; color: var(--axiron-primary, #e8a200); }
.comment-respond { margin-top: 40px; }
.comment-reply-title { font-size: 1.4rem; margin-bottom: 20px; }
.comment-form label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 0.9rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	font-size: 0.95rem;
	margin-bottom: 20px;
	transition: border-color 0.3s;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--axiron-primary, #e8a200); outline: none; }
.comment-form textarea { min-height: 140px; resize: vertical; }
.comment-form .form-submit input[type="submit"] {
	display: inline-block;
	padding: 12px 36px;
	background: var(--axiron-primary, #e8a200);
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.3s;
}
.comment-form .form-submit input[type="submit"]:hover { background: #c98e00; }

/* -----------------------------------------------------------------------
   WIDGETS (Sidebar + Footer)
----------------------------------------------------------------------- */
.widget { margin-bottom: 40px; }
.widget-title {
	font-size: 1.15rem;
	font-weight: 700;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--axiron-primary, #e8a200);
	position: relative;
}

/* Search widget */
.widget_search .search-form { display: flex; }
.widget_search .search-field {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid #ddd;
	border-right: none;
	border-radius: 6px 0 0 6px;
	font-size: 0.9rem;
}
.widget_search .search-submit {
	padding: 10px 16px;
	background: var(--axiron-primary, #e8a200);
	color: #fff;
	border: none;
	border-radius: 0 6px 6px 0;
	cursor: pointer;
}

/* Categories widget */
.widget_categories ul, .widget_pages ul, .widget_meta ul, .widget_recent_entries ul { list-style: none; padding: 0; margin: 0; }
.widget_categories li, .widget_pages li, .widget_meta li, .widget_recent_entries li {
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
	font-size: 0.93rem;
}
.widget_categories li a, .widget_pages li a, .widget_meta li a, .widget_recent_entries li a {
	text-decoration: none;
	color: #555;
	transition: color 0.3s;
}
.widget_categories li a:hover, .widget_pages li a:hover, .widget_meta li a:hover, .widget_recent_entries li a:hover {
	color: var(--axiron-primary, #e8a200);
	padding-left: 6px;
}

/* Tag cloud widget */
.widget_tag_cloud .tagcloud a {
	display: inline-block;
	padding: 4px 12px;
	margin: 4px 4px 0 0;
	border: 1px solid #ddd;
	border-radius: 20px;
	font-size: 0.82rem !important;
	text-decoration: none;
	color: #555;
	transition: all 0.3s;
}
.widget_tag_cloud .tagcloud a:hover {
	background: var(--axiron-primary, #e8a200);
	border-color: var(--axiron-primary, #e8a200);
	color: #fff;
}

/* Axiron custom widgets */
.axiron-recent-posts .recent-post-item {
	display: flex;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
}
.axiron-recent-posts .recent-post-item:last-child { border-bottom: none; }
.recent-post-thumb img { width: 70px; height: 60px; object-fit: cover; border-radius: 6px; }
.recent-post-title { font-size: 0.9rem; font-weight: 600; margin: 0 0 6px; line-height: 1.35; }
.recent-post-title a { text-decoration: none; color: inherit; }
.recent-post-title a:hover { color: var(--axiron-primary, #e8a200); }
.recent-post-date { font-size: 0.78rem; color: #999; }
.recent-post-date i { margin-right: 4px; }

.axiron-contact-info-list, .axiron-services-list { list-style: none; padding: 0; margin: 0; }
.axiron-contact-info-list li, .axiron-services-list li {
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
	font-size: 0.93rem;
	color: #555;
}
.axiron-contact-info-list li i { margin-right: 8px; color: var(--axiron-primary, #e8a200); }
.axiron-contact-info-list li a, .axiron-services-list li a { text-decoration: none; color: inherit; }
.axiron-contact-info-list li a:hover, .axiron-services-list li a:hover { color: var(--axiron-primary, #e8a200); }
.axiron-services-list li i { margin-right: 8px; font-size: 0.7rem; color: var(--axiron-primary, #e8a200); }

.axiron-social-links ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.axiron-social-links a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: #f0f0f0; color: #555;
	text-decoration: none; transition: all 0.3s;
}
.axiron-social-links a:hover { background: var(--axiron-primary, #e8a200); color: #fff; }

/* Footer widget overrides */
.main-footer .widget-title { color: #fff; border-bottom-color: var(--axiron-primary, #e8a200); }
.main-footer .widget { color: rgba(255,255,255,0.75); }
.main-footer .axiron-contact-info-list li { border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.75); }
.main-footer .axiron-services-list li { border-color: rgba(255,255,255,0.1); }
.main-footer .axiron-services-list li a { color: rgba(255,255,255,0.75); }
.main-footer .axiron-services-list li a:hover { color: var(--axiron-primary, #e8a200); }

/* -----------------------------------------------------------------------
   404 PAGE
----------------------------------------------------------------------- */
.error-404-section { padding: 100px 0; text-align: center; }
.error-404-title h1 { font-size: 10rem; font-weight: 900; line-height: 1; color: var(--axiron-primary, #e8a200); opacity: 0.15; }
.error-404-content h2 { font-size: 2rem; margin-bottom: 16px; }
.error-404-content p { color: #666; margin-bottom: 30px; }
.error-404-search { max-width: 480px; margin: 0 auto 30px; }
.error-404-btn { margin-top: 20px; }

/* -----------------------------------------------------------------------
   SEARCH RESULTS
----------------------------------------------------------------------- */
.search-results-section { padding: 80px 0; }
.search-result-item {
	display: flex;
	gap: 24px;
	padding: 24px 0;
	border-bottom: 1px solid #eee;
}
.search-result-item:last-child { border-bottom: none; }
.search-thumb img { width: 120px; height: 90px; object-fit: cover; border-radius: 8px; }
.search-result-content h2 { font-size: 1.2rem; margin: 0 0 8px; }
.search-result-content h2 a { text-decoration: none; color: inherit; }
.search-result-content h2 a:hover { color: var(--axiron-primary, #e8a200); }

/* -----------------------------------------------------------------------
   NEWSLETTER FORM RESPONSE
----------------------------------------------------------------------- */
.newsletter-response, .contact-response, .form-response {
	margin-top: 10px;
	padding: 8px 14px;
	border-radius: 6px;
	font-size: 0.9rem;
	display: none;
}
.newsletter-response.success, .contact-response.success, .form-response.success {
	display: block;
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}
.newsletter-response.error, .contact-response.error, .form-response.error {
	display: block;
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

/* -----------------------------------------------------------------------
   ELEMENTOR INTEGRATION
----------------------------------------------------------------------- */
/* Allow Elementor full-width sections to break out of container */
.elementor-section.elementor-section-full_width { width: 100%; }
.elementor-section.elementor-section-stretched { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }

/* Page content area for Elementor-edited pages */
.page-content-section { padding: 80px 0; }

/* -----------------------------------------------------------------------
   ARCHIVE / CPT PAGES
----------------------------------------------------------------------- */
.archive-section { padding: 80px 0; }
.archive-item {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
	margin-bottom: 30px;
	transition: box-shadow 0.3s;
}
.archive-item:hover { box-shadow: 0 8px 36px rgba(0,0,0,0.12); }
.archive-item figure img { width: 100%; height: 220px; object-fit: cover; }
.archive-item-content { padding: 24px; }
.archive-item-content h2 { font-size: 1.2rem; margin-bottom: 10px; }
.archive-item-content h2 a { text-decoration: none; color: inherit; }
.archive-item-content h2 a:hover { color: var(--axiron-primary, #e8a200); }
.archive-description { margin-bottom: 40px; font-size: 1.05rem; color: #555; }

/* -----------------------------------------------------------------------
   BLOG SIDEBAR
----------------------------------------------------------------------- */
.blog-sidebar { padding-left: 30px; }
@media (max-width: 991px) { .blog-sidebar { padding-left: 0; margin-top: 50px; } }

/* -----------------------------------------------------------------------
   NO RESULTS
----------------------------------------------------------------------- */
.no-posts-found, .no-results {
	text-align: center;
	padding: 60px 20px;
	background: #f9f9f9;
	border-radius: 12px;
}
.no-posts-found h2, .no-results h2 { margin-bottom: 16px; }

/* -----------------------------------------------------------------------
   RESPONSIVE TWEAKS (WP-specific)
----------------------------------------------------------------------- */
@media (max-width: 768px) {
	.blog-single-title { font-size: 1.6rem; }
	.post-nav-links { flex-direction: column; }
	.post-nav-next { text-align: left; }
	.search-result-item { flex-direction: column; }
	.post-author-box { flex-direction: column; }
	.error-404-title h1 { font-size: 6rem; }
}

/* -----------------------------------------------------------------------
   BUTTON UTILITY
----------------------------------------------------------------------- */
.btn-sm { padding: 8px 20px !important; font-size: 0.85rem !important; }
