/* Rentecore site polish: sticky header, icon motion, blog, forms. */

/* ---------------------------------------------------------------- Sticky header (header only, never the footer) */
.elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 990;
	transition: box-shadow .25s ease;
}
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 46px; } }
.elementor-location-header.rc-scrolled { box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .65); }
.elementor-location-header.rc-scrolled > .e-con { background-color: rgba(10, 18, 34, .97); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
/* anchors / in-page jumps land below the fixed bar */
html { scroll-padding-top: 96px; }

/* ---------------------------------------------------------------- Icon motion (subtle, GPU-only: opacity + transform) */
.rc-motion .rc-ico { opacity: 0; transform: translateY(14px) scale(.9); }
.rc-motion .rc-ico.rc-in {
	opacity: 1; transform: none;
	transition: opacity .6s ease var(--rc-d, 0ms), transform .7s cubic-bezier(.2, .8, .2, 1) var(--rc-d, 0ms);
}
.elementor-icon i, .elementor-icon svg, .elementor-icon-box-icon .elementor-icon,
.elementor-social-icon, .elementor-icon-list-icon i, .elementor-icon-list-icon svg {
	transition: transform .3s cubic-bezier(.2, .8, .2, 1), color .2s, background-color .2s;
}
.elementor-widget-icon:hover .elementor-icon i, .elementor-widget-icon:hover .elementor-icon svg,
.e-con:hover > .elementor-widget-icon .elementor-icon i, .e-con:hover > .elementor-widget-icon .elementor-icon svg,
.elementor-widget-icon-box:hover .elementor-icon { transform: translateY(-3px) scale(1.08); }
.elementor-social-icon:hover { transform: translateY(-3px); }
.elementor-icon-list-item:hover .elementor-icon-list-icon i, .elementor-icon-list-item:hover .elementor-icon-list-icon svg { transform: scale(1.15); }
/* one soft pulse on the WhatsApp/contact icons once they are in view */
@keyframes rc-pop { 0% { transform: scale(1); } 40% { transform: scale(1.14); } 100% { transform: scale(1); } }
.rc-motion .rc-ico.rc-in .elementor-icon i, .rc-motion .rc-ico.rc-in .elementor-icon svg { animation: rc-pop .7s ease calc(var(--rc-d, 0ms) + .35s) 1 both; }
@media (prefers-reduced-motion: reduce) {
	.rc-motion .rc-ico { opacity: 1; transform: none; }
	.rc-motion .rc-ico.rc-in .elementor-icon i, .rc-motion .rc-ico.rc-in .elementor-icon svg { animation: none; }
	.elementor-icon i, .elementor-icon svg, .elementor-social-icon { transition: none; }
}

/* ---------------------------------------------------------------- Request a Quote form */
.rc-quote-form { width: min(920px, 100%) !important; max-width: 920px; margin-left: auto !important; margin-right: auto !important; align-self: center; }
.rc-quote-form .elementor-form,
.rc-contact-form .elementor-form { font-family: inherit; }
.rc-quote-form .elementor-form {
	padding: 36px 36px 32px; border: 1px solid rgba(92, 132, 214, .32); border-radius: 16px;
	background: linear-gradient(180deg, rgba(16, 42, 92, .55), rgba(8, 20, 45, .55));
	box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .7);
}
.rc-quote-form .elementor-field-label,
.rc-contact-form .elementor-field-label { color: #e6ecf8 !important; font-size: 14px !important; font-weight: 600 !important; margin-bottom: 7px !important; }
.rc-quote-form .elementor-field-group .elementor-field-textual,
.rc-quote-form .elementor-field-group select,
.rc-contact-form .elementor-field-group .elementor-field-textual,
.rc-contact-form .elementor-field-group select {
	min-height: 48px; border-radius: 9px !important; border: 1px solid rgba(160, 182, 230, .28) !important;
	background-color: rgba(4, 14, 34, .85) !important; color: #fff !important; font-family: inherit !important; font-size: 15px !important;
	padding: 10px 14px !important; transition: border-color .15s, box-shadow .15s;
}
.rc-quote-form .elementor-field-group textarea.elementor-field-textual, .rc-contact-form .elementor-field-group textarea.elementor-field-textual { min-height: 110px; }
.rc-quote-form .elementor-field-textual::placeholder, .rc-contact-form .elementor-field-textual::placeholder { color: rgba(205, 216, 240, .5) !important; }
.rc-quote-form .elementor-field-textual:focus, .rc-quote-form select:focus,
.rc-contact-form .elementor-field-textual:focus, .rc-contact-form select:focus {
	outline: none; border-color: #f26a1b !important; box-shadow: 0 0 0 3px rgba(242, 106, 27, .22);
}
.rc-quote-form .elementor-select-wrapper::before, .rc-contact-form .elementor-select-wrapper::before { color: #fff; }
/* the select's wrapper collapsed to 3px inside the half-width column, pushing the select over the next row */
.rc-quote-form .elementor-field-type-select, .rc-contact-form .elementor-field-type-select { align-content: flex-start !important; align-items: flex-start !important; }
.rc-quote-form .elementor-select-wrapper, .rc-contact-form .elementor-select-wrapper { flex: 0 0 100% !important; min-height: 48px; }
.rc-quote-form select option, .rc-contact-form select option { color: #0b1530; background: #fff; }
.rc-quote-form .elementor-field-type-submit, .rc-contact-form .elementor-field-type-submit { margin-top: 8px; }
.rc-quote-form .elementor-button, .rc-contact-form .elementor-button {
	min-height: 52px; padding: 0 28px !important; border-radius: 10px !important; border: 0 !important;
	background: #f26a1b !important; color: #0b1530 !important; font-family: inherit !important; font-size: 16px !important; font-weight: 800 !important;
	white-space: nowrap; transition: background .15s, transform .15s;
}
.rc-contact-form .elementor-button { min-width: 180px; }
.rc-quote-form .elementor-button:hover, .rc-contact-form .elementor-button:hover { background: #ff7d30 !important; transform: translateY(-1px); }
.rc-quote-form .elementor-message, .rc-contact-form .elementor-message { margin-top: 14px; color: #fff; font-size: 15px; }
.rc-quote-form .elementor-message.elementor-message-success, .rc-contact-form .elementor-message.elementor-message-success { color: #6ee7a8; }
.rc-quote-form .elementor-message.elementor-message-danger, .rc-quote-form .elementor-error .elementor-message,
.rc-contact-form .elementor-message.elementor-message-danger { color: #ffb4a0; }
.rc-quote-form .rc-quote-note { margin-bottom: 22px; }
@media (max-width: 1024px) {
	.rc-quote-form { width: calc(100% - 48px) !important; }
}
@media (max-width: 767px) {
	.rc-quote-form { width: calc(100% - 32px) !important; }
	.rc-quote-form .elementor-form { padding: 24px 18px 22px; border-radius: 12px; }
}

/* Request a Quote hero heading: balanced spacing for "Tell us what your team needs." */
.elementor-113 .elementor-element-776c81e .elementor-heading-title { line-height: 1.08; letter-spacing: -.01em; text-wrap: balance; }
.elementor-113 .elementor-element-776c81e { margin-bottom: 18px; }
@media (max-width: 767px) { .elementor-113 .elementor-element-776c81e .elementor-heading-title { font-size: clamp(34px, 9vw, 44px); } }

/* Contact page: "Three steps to your quote." was dark-on-dark */
.elementor-266 .elementor-element-990e67c, .elementor-266 .elementor-element-990e67c * { color: #fff; }
.elementor-266 .elementor-element-990e67c span { color: #f26a1b; }

/* ---------------------------------------------------------------- Blog listing */
.rc-blog-head { max-width: 1180px; margin: 0 auto 40px; padding: 0 20px; }
.rc-blog-head__eyebrow { margin: 0 0 10px; color: #f26a1b; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rc-blog-head__title { margin: 0 0 12px; color: #fff; font-size: clamp(34px, 5vw, 52px); font-weight: 800; line-height: 1.08; }
.rc-blog-head__lead { max-width: 620px; margin: 0; color: rgba(225, 233, 250, .72); font-size: 17px; line-height: 1.6; }
html body.blog .site-main, html body.archive .site-main { max-width: 1220px !important; padding: 64px 0 96px !important; }
html body.blog .kadence-posts-list, html body.archive .kadence-posts-list {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; max-width: 1180px; margin: 0 auto !important; padding: 0 20px !important;
}
html body.blog .kadence-posts-list > .entry-list-item, html body.archive .kadence-posts-list > .entry-list-item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
html body.blog .entry-list-item > article, html body.archive .entry-list-item > article {
	display: flex !important; flex-direction: column; height: 100%; margin: 0 !important; border-radius: 14px; overflow: hidden;
	background: #061a32 !important; border: 1px solid rgba(255, 255, 255, .12) !important; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
html body.blog .entry-list-item > article:hover, html body.archive .entry-list-item > article:hover { transform: translateY(-4px); border-color: rgba(242, 106, 27, .7) !important; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .7); }
html body.blog article .entry-content-wrap, html body.archive article .entry-content-wrap { display: flex; flex-direction: column; flex: 1; padding: 0 0 22px !important; }
html body.blog article .entry-summary, html body.archive article .entry-summary { display: contents; }
html body.blog article .rentecore-card-image-wrap, html body.archive article .rentecore-card-image-wrap { order: -1; margin: 0 0 20px !important; padding: 0 !important; overflow: hidden; }
html body.blog article .rentecore-card-image-wrap img, html body.archive article .rentecore-card-image-wrap img {
	display: block; width: 100% !important; height: 220px !important; object-fit: cover; margin: 0 !important; border-radius: 0 !important; transition: transform .5s ease;
}
html body.blog article:hover .rentecore-card-image-wrap img, html body.archive article:hover .rentecore-card-image-wrap img { transform: scale(1.04); }
html body.blog article .entry-header, html body.archive article .entry-header { padding: 0 22px !important; margin: 0 !important; }
html body.blog article .entry-taxonomies, html body.archive article .entry-taxonomies { margin: 0 0 8px; }
html body.blog article .entry-taxonomies a, html body.archive article .entry-taxonomies a { color: #f26a1b !important; font-size: 12px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
html body.blog article .entry-title, html body.archive article .entry-title { margin: 0 0 10px !important; font-size: 20px !important; line-height: 1.35 !important; }
html body.blog article .entry-title a, html body.archive article .entry-title a { color: #fff !important; text-decoration: none; }
html body.blog article .entry-title a:hover, html body.archive article .entry-title a:hover { color: #f26a1b !important; }
html body.blog article .entry-meta, html body.archive article .entry-meta { color: rgba(205, 216, 240, .65) !important; font-size: 12px !important; letter-spacing: .04em; }
html body.blog article .entry-meta a, html body.archive article .entry-meta a { color: rgba(205, 216, 240, .85) !important; }
html body.blog article .rentecore-card-body, html body.archive article .rentecore-card-body { padding: 14px 22px 0 !important; color: #b4c2d6 !important; font-size: 15px !important; line-height: 1.65 !important; }
html body.blog article .entry-footer, html body.archive article .entry-footer { margin-top: auto !important; padding: 18px 22px 0 !important; }
html body.blog article .post-more-link, html body.archive article .post-more-link {
	display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; color: #f26a1b !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .08em; text-decoration: none;
}
html body.blog article .post-more-link:hover, html body.archive article .post-more-link:hover { color: #ff8a45 !important; }
html body.blog .pagination, html body.archive .pagination { max-width: 1180px; margin: 40px auto 0 !important; padding: 0 20px; }
@media (max-width: 1024px) {
	html body.blog .kadence-posts-list, html body.archive .kadence-posts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 680px) {
	html body.blog .site-main, html body.archive .site-main { padding: 44px 0 64px !important; }
	.rc-blog-head { margin-bottom: 28px; padding: 0 16px; }
	html body.blog .kadence-posts-list, html body.archive .kadence-posts-list { grid-template-columns: minmax(0, 1fr); padding: 0 16px !important; }
	html body.blog article .rentecore-card-image-wrap img, html body.archive article .rentecore-card-image-wrap img { height: 200px !important; }
}
