/* ==========================================================================
   Silversand Agencies — custom responsive & design updates
   ========================================================================== */

/* Global safety net: nothing should ever overflow the viewport */
img { max-width: 100%; height: auto; }
* { box-sizing: border-box; }

/* --------------------------------------------------------------------
   /projects/ page — same double-border frame treatment on the three
   project photos, with the same mobile-clipping negative margins.
   Apply the same rounded-card redesign for consistency.
   -------------------------------------------------------------------- */
.elementor-element-4bbc9c2,
.elementor-element-96e4964,
.elementor-element-9b306dc {
	border-style: none !important;
	border-width: 0 !important;
}
/* These containers used Elementor's "offset image" trick: large mobile
   padding-bottom (160px) was meant to be filled by a negatively-margined
   photo creating a layered peek effect. Since the photo no longer has
   that negative margin, the leftover padding showed as a big blank gap
   under each photo on mobile — this removes it. */
@media (max-width: 1024px) {
	.elementor-element-4bbc9c2,
	.elementor-element-96e4964,
	.elementor-element-9b306dc {
		padding: 0 !important;
		margin: 16px 0 !important;
	}
}
.elementor-element-d4dc45d > .elementor-widget-container,
.elementor-element-27c907e > .elementor-widget-container,
.elementor-element-1195611 > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}
.elementor-element-d4dc45d img,
.elementor-element-27c907e img,
.elementor-element-1195611 img {
	border-style: solid !important;
	border-color: #ff5e14 !important;
	border-width: 6px !important;
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.4) !important;
	width: 100%;
	height: auto;
	display: block;
}
@media (max-width: 767px) {
	.elementor-element-d4dc45d img,
	.elementor-element-27c907e img,
	.elementor-element-1195611 img {
		border-width: 3px !important;
	}
}

/* Second project on /projects/ — remove the stray double-border box
   that wraps the whole image+text row (only this project had it) */
.elementor-element-454ceb8 {
	border-style: none !important;
	border-width: 0 !important;
}

/* --------------------------------------------------------------------
   Hero / intro photo — replace the heavy orange double-border frame
   with a soft rounded card + shadow, and fix the mobile negative
   margin that was clipping the image on small screens.
   -------------------------------------------------------------------- */
.elementor-element-84007ca {
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
}
.elementor-element-c85045a > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}
.elementor-element-c85045a img {
	border-style: solid !important;
	border-color: #ff5e14 !important;
	border-width: 6px !important;
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.4) !important;
	width: 100%;
	height: auto;
	display: block;
}
@media (max-width: 767px) {
	.elementor-element-c85045a img {
		border-width: 3px !important;
	}
}

/* --------------------------------------------------------------------
   "Some of our Projects" photo tiles — rounded corners, spacing
   between tiles, and much shorter panels on mobile so they don't
   dominate the screen or overflow.
   -------------------------------------------------------------------- */
.elementor-element-29d4c13,
.elementor-element-1dce8a4,
.elementor-element-1a906c3,
.elementor-element-d08d2d7 {
	border-style: solid !important;
	border-color: #ff5e14 !important;
	border-width: 5px !important;
	overflow: hidden;
	margin: 6px !important;
	box-shadow: 0 14px 34px -14px rgba(0, 0, 0, 0.35) !important;
	position: relative !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.elementor-element-29d4c13:hover,
.elementor-element-1dce8a4:hover,
.elementor-element-1a906c3:hover,
.elementor-element-d08d2d7:hover {
	box-shadow: 0 20px 44px -14px rgba(0, 0, 0, 0.45) !important;
	transform: translateY(-3px);
	border-color: #e04e0d !important;
}
.elementor-element-29d4c13:active,
.elementor-element-1dce8a4:active,
.elementor-element-1a906c3:active,
.elementor-element-d08d2d7:active {
	transform: translateY(0);
}
.project-tile-badge {
	position: absolute;
	right: 16px;
	bottom: 16px;
	background: #ff5e14;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
	padding: 8px 14px;
	border-radius: 30px;
	box-shadow: 0 8px 18px -6px rgba(0, 0, 0, 0.45);
	pointer-events: none;
	z-index: 2;
}
@media (max-width: 767px) {
	.project-tile-badge {
		right: 12px;
		bottom: 12px;
		font-size: 12px;
		padding: 6px 12px;
	}
}
.elementor-element-ee0a551,
.elementor-element-8170a87 {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0) 65%);
}
@media (max-width: 1024px) {
	.elementor-element-4f06cb1,
	.elementor-element-a027656 {
		flex-direction: column !important;
	}
	.elementor-element-29d4c13,
	.elementor-element-1dce8a4,
	.elementor-element-1a906c3,
	.elementor-element-d08d2d7 {
		width: 100% !important;
		margin: 6px 0 !important;
	}
}
@media (max-width: 767px) {
	.elementor-element-29d4c13,
	.elementor-element-1dce8a4,
	.elementor-element-1a906c3,
	.elementor-element-d08d2d7 {
		padding-top: 120px !important;
		padding-bottom: 90px !important;
		border-width: 3px !important;
	}
	.elementor-element-ee0a551 > .elementor-widget-container,
	.elementor-element-8170a87 > .elementor-widget-container {
		padding: 0 20px !important;
	}
}

/* Footer image card — no radius, matches flat-border look elsewhere */

/* --------------------------------------------------------------------
   Green Energy callout section (sits right after the intro)
   -------------------------------------------------------------------- */
.green-energy-section {
	background-color: #f0f7f0;
	padding: 60px 20px;
}
.green-energy-inner {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}
.green-energy-tag {
	display: inline-block;
	background: #1e5f3e;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 20px;
	margin-bottom: 20px;
}
.green-energy-heading {
	margin-bottom: 20px;
}
.green-energy-text {
	font-size: 19px;
	line-height: 1.7;
	color: #2b2b2b;
	text-align: left;
}
@media (max-width: 767px) {
	.green-energy-section {
		padding: 40px 20px;
	}
	.green-energy-text {
		font-size: 16px;
		line-height: 1.65;
	}
}
