/*
 * Hostily – WordPress / Elementor compatibility.
 * Only covers classes that WordPress or Elementor add and that do not exist in the
 * original template. Template styles are untouched in hostily-main.css.
 */

/* 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-color: var(--white);
	clip: auto !important;
	clip-path: none;
	color: var(--heading-color);
	display: block;
	height: auto;
	left: 5px;
	padding: 15px 23px 14px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Alignment / captions / galleries (post content) */
.alignleft { float: left; margin: 0 30px 20px 0; }
.alignright { float: right; margin: 0 0 20px 30px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; margin-bottom: 25px; }
.wp-caption-text, .wp-element-caption { font-size: 14px; color: var(--color-1); padding-top: 8px; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 25px; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.bypostauthor, .sticky { display: block; }
.entry-content ul, .entry-content ol { padding-left: 20px; margin-bottom: 25px; }
.entry-content blockquote { border-left: 3px solid var(--primary-color); padding: 10px 0 10px 25px; margin: 0 0 25px; font-style: italic; }
.entry-content table { width: 100%; margin-bottom: 25px; border-collapse: collapse; }
.entry-content table td, .entry-content table th { border: 1px solid var(--border-color-2); padding: 10px; }
.page-links { margin-top: 30px; }
.page-links a, .page-links > span { margin: 0 5px; }

/* Sticky header below the admin bar */
.admin-bar .header__sticky-sticky-menu { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .header__sticky-sticky-menu { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .header__sticky-sticky-menu { top: 0; }
}

/* Comments */
.blog__details-left-comment .children { list-style: none; padding: 0; }
.comment-form .comment-form-cookies-consent { display: flex; gap: 10px; align-items: center; margin: 0; }
.comment-form .comment-form-cookies-consent input { width: auto; height: auto; }
.comment-respond .comment-reply-title small { font-size: 14px; margin-left: 15px; }

/* Core widgets inside the template sidebar */
.all__sidebar-item ul { padding: 0; margin: 0; list-style: none; }
.all__sidebar-item .children { padding-left: 15px; }
.all__sidebar-item-category ul li a .post-date { display: block; }
.all__sidebar-item select { width: 100%; }
.all__sidebar-item .tagcloud ul, .all__sidebar-item-tag .wp-tag-cloud { padding: 0; margin: 0; }

/* Elementor: Hostily widgets render full sections – no extra spacing around them */
.elementor-widget[class*="elementor-widget-hostily-"] { margin-bottom: 0; }
.elementor-widget[class*="elementor-widget-hostily-"] > .elementor-widget-container { margin: 0; padding: 0; }
.elementor-section.hostily-section-reset > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }
.hostily-hf-template .elementor-widget-wrap,
.hostily-hf-template .e-con,
.hostily-hf-template .e-con-inner { padding: 0 !important; }

/* Empty-state in the editor for widgets without items */
.hostily-editor-notice { padding: 20px; text-align: center; border: 1px dashed var(--border-color-2); }

/* Header/footer templates: Elementor columns/containers get min-height:1px; the header must not take space (it overlays the banner like the original). */
.hostily-hf-template .elementor-column,
.hostily-hf-template .elementor-widget-wrap { min-height: 0; }
.hostily-hf-template .e-con { --min-height: 0; min-height: 0; }

/* Contact Form 7 inside the template form markup */
.contact__area-form .wpcf7-form-control-wrap { display: block; }
.contact__area-form .wpcf7-not-valid-tip { font-size: 13px; margin-top: 5px; }
.contact__area-form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 10px 15px !important; font-size: 14px; }
.contact__area-form .wpcf7-spinner { margin: 0 0 0 15px; vertical-align: middle; }
