/*
 Theme Name: Blocksy Child
 Description: Blocksy Child theme
 Author: Creative Themes
 Template: blocksy
 Text Domain: blocksy
*/




/* ==========================================================================
   2. FORMS & BUTTONS
   ========================================================================== */

.ct-subscribe-form {
	--theme-form-field-height: 40px;
	--theme-form-field-padding: 0 25px;
	--theme-form-field-background-initial-color: rgba(119, 119, 119, 0.47);
	--theme-form-field-background-focus-color: rgba(0, 0, 0, 0.4);
	--theme-form-field-border-width: 0;
	--theme-text-color: #fff;
	
	--theme-button-min-height: 60px;
	--theme-button-background-initial-color: var(--theme-palette-color-1);
	--theme-button-text-initial-color: #fff;
}

.wpforms-container .wpforms-field,
.wp-core-ui div.wpforms-container .wpforms-field {
	padding: 10px 0;
	position: relative;
}

.wpforms-submit-container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 20px; 
}

.custom-wpform-btn,
.custom-wpform-btn:hover,
.custom-wpform-btn:focus,
.custom-wpform-btn:active {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: #ffffff !important;
	border: 1px solid currentColor !important;
	box-shadow: none !important;
}

/* ==========================================================================
   3. ANIMATIONS & HOVER EFFECTS
   ========================================================================== */

body.stk--anim-init .stk-img-wrapper img {
	transition: transform 0.6s ease !important;
}

body.stk--anim-init .stk-img-wrapper {
	transition: margin 0.6s ease !important;
}

@media (hover: hover) {
	[data-hover=zoom-in]>*:hover .has-hover-effect img {
		transform: scale(1.05) !important;
	}
}

/* Masonry Gallery Custom Shadows */
div[data-gallery-id="2d903078"] .pgcsimplygalleryblock-masonry-item-wrap {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35), 0 10px 20px rgba(0, 0, 0, 0.25);
	transition: box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

div[data-gallery-id="2d903078"] .pgcsimplygalleryblock-masonry-item-wrap img {
	transition: transform 0.4s ease;
}

div[data-gallery-id="2d903078"] .pgcsimplygalleryblock-masonry-item-wrap:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45), 0 16px 36px rgba(0, 0, 0, 0.35);
}

div[data-gallery-id="2d903078"] .pgcsimplygalleryblock-masonry-item-wrap:hover img {
	transform: scale(1.05);
}

/* ==========================================================================
   4. LAYOUT & TYPOGRAPHY
   ========================================================================== */

.ct-no-results {
	padding: 10rem 0rem !important; 
}

.ct-header-text .entry-content a {
	text-decoration: none !important;
}

p,
.wp-block-paragraph,
.stk-block-text,
.entry-content p {
	hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	word-break: normal;
}

.stk-block-posts__excerpt {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 1.5em;
}

.stk-block-posts__items :is([class*=stk-block-posts__], .stk-img-wrapper):not(.stk-block-posts__item) {
	margin: 10px 0; 
}

.stk-26e4d11 .stk-block-posts__title a {
	display: block !important;
}

.stk-26e4d11 .stk-block-posts__image-link {
	margin-bottom: 20px !important;
}

.pgcsimplygalleryblock-justified-content {
	padding: 0 !important;
}

/* Combined Entry Excerpt Rule */
.entry-card .entry-excerpt,
.entry-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 4; 
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: justify;
}

.entry-card .entry-excerpt p:nth-of-type(n+2) {
	display: none;
}

/* Header & Navigation Fixes */
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu > ul,
[data-header*="type-1"] .ct-header [data-id="menu"] ul.sub-menu {
	--dropdown-padding: 15px 0px 15px 10px;
	padding: 15px 0px 15px 10px !important;
}

.ct-panel-content-inner .site-branding {
	display: flex;
	justify-content: center;
	width: 100%;
}

.ct-panel-content-inner .site-branding .site-logo-container {
	margin-left: auto;
	margin-right: auto;
}

/* Global Content Links */
.entry-content a,
.entry-content :where(p, em, strong, ul, ol) a,
[data-link] :where(.entry-content :where(p, em, strong, ul, ol) a) {
	text-decoration: none !important;
	font-weight: bold !important;
	--theme-text-decoration: none;
	--has-link-decoration: none;
}

.entry-content a:hover,
.entry-content :where(p, em, strong, ul, ol) a:hover {
	text-decoration: none !important;
}

/* ==========================================================================
   5. RESPONSIVE BREAKPOINTS
   ========================================================================== */

/* Laptop / Desktop Map */
@media only screen and (max-width: 1024px) {
	.ct-map { height: 400px; }
}

/* Tablet Overrides */
@media screen and (max-width: 999px) {
	:is(.stk-block-heading, .stk-block-text) :is(.has-text-align-center-tablet, .stk-block-text__text.has-text-align-center-tablet) {
		text-align: center !important;
	}
	:is(.stk-block-heading, .stk-block-text) :is(.has-text-align-left-tablet, .stk-block-text__text.has-text-align-left-tablet) {
		text-align: left !important;
	}
	:is(.stk-block-heading, .stk-block-text) :is(.has-text-align-right-tablet, .stk-block-text__text.has-text-align-right-tablet) {
		text-align: right !important;
	}
}

/* Mobile Overrides */
@media screen and (max-width: 689px) {
	:is(.stk-block-heading, .stk-block-text) :is(.has-text-align-center-mobile, .stk-block-text__text.has-text-align-center-mobile) {
		text-align: center !important;
	}
	:is(.stk-block-heading, .stk-block-text) :is(.has-text-align-left-mobile, .stk-block-text__text.has-text-align-left-mobile) {
		text-align: left !important;
	}
	:is(.stk-block-heading, .stk-block-text) :is(.has-text-align-right-mobile, .stk-block-text__text.has-text-align-right-mobile) {
		text-align: right !important;
	}

	.ct-no-results {
		padding: 3rem 1rem !important;
	}

	.ct-no-results .page-title {
		font-size: 1.75rem !important;
		line-height: 1.25 !important;
		margin-bottom: 0rem !important;
	}

	.ct-no-results .page-description {
		font-size: 0.95rem !important;
		line-height: 1.4 !important;
		margin-bottom: 0rem !important;
	}

	.ct-no-results .ct-search-form {
		max-width: 100% !important;
		margin: 0 auto !important;
	}
}