/*!
Consted — Visual Refresh
--------------------------------------------------------------
This stylesheet layers a more modern, polished look on top of
the theme's existing markup and classes. It is purely cosmetic:
no template, hook, or class name required by the theme's PHP is
changed or removed, so every existing feature keeps working.
Loaded after consted.css and style.css so these rules take
priority automatically (no !important needed for most of it).
--------------------------------------------------------------*/

/* ==========================================================
   0. Single post layout — STEP 1: no sidebar.
      Plain single-column content. Sidebar layout CSS will be
      added back in a later step once this is confirmed working.
   ========================================================== */

.consted-post-container {
  padding-top: 100px;
  padding-bottom: 60px;
}
@media (max-width: 991px) {
  .consted-post-container {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}

.consted-post-main--full {
  max-width: 900px;
  margin: 0 auto;
}



html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--secondary-color);
  color: #fff;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: var(--surface-tint);
}
::-webkit-scrollbar-thumb {
  background: var(--tertiary_color);
  border-radius: 10px;
  border: 2px solid var(--surface-tint);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--secondary-color);
}

a {
  transition: color 0.25s var(--ease), background-color 0.25s var(--ease), border-color 0.25s var(--ease), opacity 0.25s var(--ease), transform 0.25s var(--ease);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--secondary-color);
  outline-offset: 2px;
}

img {
  height: auto;
}

blockquote {
  position: relative;
  margin: 30px 0;
  padding: 28px 30px 28px 60px;
  background: var(--surface-tint);
  border-left: 4px solid var(--secondary-color);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--tertiary_color);
  box-shadow: var(--shadow-sm);
}
blockquote:before {
  content: "\201C";
  position: absolute;
  left: 18px;
  top: 8px;
  font-size: 46px;
  line-height: 1;
  font-family: Georgia, serif;
  color: var(--secondary-color);
  opacity: 0.55;
}
blockquote p:last-child { margin-bottom: 0; }

hr {
  border: none;
  border-top: 1px solid rgba(0, 33, 91, 0.1);
  margin: 34px 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
table th {
  background: var(--tertiary_color);
  color: #fff;
  text-align: left;
  padding: 12px 16px;
  font-weight: 600;
}
table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0, 33, 91, 0.08);
}
table tr:nth-child(even) td { background: var(--surface-tint); }

/* Core/Gutenberg form controls, WooCommerce-agnostic */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
textarea,
select {
  border: 1px solid rgba(0, 33, 91, 0.14) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 16px !important;
  transition: border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
  background: #fff;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  border-color: var(--secondary-color) !important;
  box-shadow: 0 0 0 4px rgba(244, 89, 5, 0.12);
  outline: none;
}

/* ==========================================================
   2. Buttons — CTAs across the theme
   ========================================================== */

.def-btn,
form.wpcf7-form input.def-btn,
.wp-block-button__link,
.comment-reply-link,
#wp-calendar caption {
  background: var(--gradient-accent) !important;
  border: none !important;
  box-shadow: 0 10px 24px rgba(244, 89, 5, 0.28);
  transition: transform 0.28s var(--ease), box-shadow 0.28s var(--ease), background 0.28s var(--ease);
}
.def-btn:hover,
.def-btn:focus,
form.wpcf7-form input.def-btn:hover,
form.wpcf7-form input.def-btn:focus,
.wp-block-button__link:hover,
.comment-reply-link:hover {
  background: var(--gradient-dark) !important;
  box-shadow: 0 14px 30px rgba(0, 33, 91, 0.28);
  transform: translateY(-3px);
}

input[type="submit"],
button[type="submit"],
.search-submit,
.comment-form input#submit {
  background: var(--gradient-accent);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 13px 28px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(244, 89, 5, 0.25);
  transition: transform 0.28s var(--ease), box-shadow 0.28s var(--ease), background 0.28s var(--ease);
}
input[type="submit"]:hover,
button[type="submit"]:hover,
.search-submit:hover,
.comment-form input#submit:hover {
  background: var(--gradient-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 33, 91, 0.25);
}

.scroll-to-top .container button {
  background: var(--gradient-accent) !important;
  border: none !important;
  box-shadow: var(--shadow-lg);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.scroll-to-top .container button:hover {
  background: var(--gradient-dark) !important;
  color: #fff !important;
  transform: translateY(-4px);
}

/* ==========================================================
   3. Header — top bar, main nav, mobile toggle
   ========================================================== */

.header .bottom-header {
  box-shadow: 0 4px 24px rgba(15, 25, 60, 0.06);
}

/* Nav link color/hover only — no position, no pseudo-elements, no
   animation, so Bootstrap/Popper's own dropdown positioning and the
   collapse toggle are left completely untouched. */
.ow-navigation .menubar > li > a,
.ow-navigation .navbar-nav > li > a {
  font-weight: 600;
}
.ow-navigation .menubar > li > a:hover,
.ow-navigation .menubar > li > a:focus,
.ow-navigation .menubar > li.current-menu-item > a,
.ow-navigation .navbar-nav > li > a:hover,
.ow-navigation .navbar-nav > li > a:focus {
  color: var(--secondary-color);
}

.ow-navigation .dropdown-menu .dropdown-item:hover,
.ow-navigation .dropdown-menu .dropdown-item:focus {
  background: var(--surface-tint);
  color: var(--secondary-color);
}

/* ==========================================================
   4. Hero / page banner + breadcrumb
   ========================================================== */

.site-hero-section .part-txt .page-title-text {
  animation: consted-fade-up 0.6s var(--ease) both;
}
.site-hero-section .part-txt .subtitle {
  animation: consted-fade-up 0.6s var(--ease) 0.1s both;
}

@keyframes consted-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

.site-hero-section .part-txt ul.breadcrumbs {
  animation: consted-fade-up 0.6s var(--ease) 0.2s both;
  background: rgba(255, 255, 255, 0.1);
  display: inline-flex;
  padding: 8px 20px;
  border-radius: 50px;
  backdrop-filter: blur(6px);
}

/* ==========================================================
   5. Blog list + single post content cards
   ========================================================== */

.blog-wrap .single-box,
.related-posts .single-box {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  transition: box-shadow 0.35s var(--ease), transform 0.35s var(--ease);
  background: #fff;
}
.blog-wrap .single-box:hover,
.related-posts .single-box:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}
.blog-wrap .single-box .part-img img,
.related-posts .single-box .part-img img {
  transition: transform 0.6s var(--ease);
}
.blog-wrap .single-box:hover .part-img img,
.related-posts .single-box:hover .part-img img {
  transform: scale(1.06);
}

/* Multi-column blog grid: equal-height cards, uniform image size.
   Rules below are written to be unambiguous (explicit display/width on
   every level, from the row down to the <img>) rather than relying on
   defaults, since a mismatch anywhere in that chain is what makes card
   images render undersized. */
.blog-wrap .row,
.related-posts .row {
  display: flex;
  flex-wrap: wrap;
}
.blog-wrap .row > [class*="col-"],
.related-posts .row > [class*="col-"] {
  display: flex;
}
.blog-wrap .single-box,
.related-posts .single-box {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.blog-wrap .single-box .part-txt,
.related-posts .single-box .part-txt {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blog-wrap .single-box .part-img,
.related-posts .single-box .part-img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.blog-wrap .single-box .part-img a,
.related-posts .single-box .part-img a {
  display: block;
  width: 100%;
  height: 100%;
}
.blog-wrap .single-box .part-img img,
.related-posts .single-box .part-img img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: cover;
}

/* Keep card excerpts a consistent length regardless of how much text a
   post's excerpt field actually contains, so cards in the same row stay
   close in height instead of some being 3x taller than others. Only on
   the blog grid / related posts — single post body text is untouched. */
.blog-wrap .single-box .content-wrap,
.related-posts .single-box .content-wrap {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.blog-wrap .single-box .card-read-more,
.related-posts .single-box .card-read-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 14px;
  font-weight: 700;
  font-size: 14px;
  color: var(--secondary-color);
}
.blog-wrap .single-box .card-read-more i,
.related-posts .single-box .card-read-more i {
  transition: transform 0.25s var(--ease);
}
.blog-wrap .single-box .card-read-more:hover i,
.related-posts .single-box .card-read-more:hover i {
  transform: translateX(4px);
}

/* Neutralize style.css's original ul.post-meta rules (white-space:nowrap
   on the list, a content:"/" separator + margin-right on each li) — those
   were fighting the flex/wrap layout above and are what produced the
   stray "/" characters and the meta row overflowing the card. */
ul.post-meta,
.post-meta,
.meta-list,
ul.meta {
  white-space: normal !important;
}
ul.post-meta li,
.post-meta li,
.meta-list li,
ul.meta li {
  margin-right: 0 !important;
}
ul.post-meta li:after,
.post-meta li:after,
.meta-list li:after,
ul.meta li:after,
ul.post-meta li:last-child:after {
  content: none !important;
}

.entry-content,
.content-wrap,

.type-post .part-txt {
  line-height: 1.85;
  color: rgba(0, 33, 91, 0.82);
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.content-wrap h1,
.content-wrap h2,
.content-wrap h3,
.content-wrap h4 {
  color: var(--tertiary_color);
  font-family: var(--heading-font);
  margin-top: 1.4em;
  line-height: 1.35;
}
.entry-content p,
.content-wrap p {
  margin-bottom: 1.4em;
}
.entry-content ul,
.entry-content ol,
.content-wrap ul,
.content-wrap ol {
  margin-bottom: 1.4em;
  padding-left: 22px;
}
.entry-content a,
.content-wrap a {
  color: var(--secondary-color);
  text-decoration: underline;
  text-decoration-color: rgba(244, 89, 5, 0.35);
  text-underline-offset: 3px;
}
.entry-content a:hover,
.content-wrap a:hover {
  text-decoration-color: var(--secondary-color);
}
.entry-content img,
.content-wrap img,
.wp-caption img {
  max-width: 100%;
  height: auto;
}
.type-post .part-img img,
article .single-box .part-img img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.page-title-text,
.entry-title,
h1, h2, h3 {
  letter-spacing: -0.01em;
}

/* Meta row (author / date / category chips) */
.post-meta-wrap {
  width: 100%;
  box-sizing: border-box;
}
.meta-list,
.post-meta,
ul.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.meta-list li,
.post-meta li,
ul.meta li {
  background: var(--surface-tint);
  border-radius: 50px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--tertiary_color);
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
}
.meta-list li i,
.post-meta li i,
ul.meta li i {
  color: var(--secondary-color);
  margin-right: 6px;
}
.meta-list li a,
.post-meta li a,
ul.meta li a {
  color: inherit;
}

/* Narrow grid cards: smaller, tighter pills */
.blog-wrap .post-meta li,
.related-posts .post-meta li {
  padding: 4px 12px;
  font-size: 12px;
}

/* ==========================================================
   5b. Single post additions — reading time, share, author, related
   ========================================================== */

.reading-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--surface-tint);
  color: var(--tertiary_color);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 50px;
  margin: 4px 0 18px;
}
.reading-time i { color: var(--secondary-color); }

.share-links {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 30px;
}
.share-links .share-label {
  font-weight: 700;
  color: var(--tertiary_color);
  margin-right: 4px;
}
.share-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--surface-tint);
  color: var(--tertiary_color) !important;
  box-shadow: var(--shadow-sm);
  transition: all 0.25s var(--ease);
}
.share-links a:hover {
  background: var(--gradient-accent);
  color: #fff !important;
  transform: translateY(-3px);
}

.other-info .tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.other-info .tags span {
  font-weight: 700;
  color: var(--tertiary_color);
  margin-right: 4px;
}
.other-info .tags a {
  font-size: 13px;
  background: var(--surface-tint);
  border: 1px solid rgba(0, 33, 91, 0.1);
  padding: 6px 14px 6px 10px;
  border-radius: 50px;
  color: var(--tertiary_color);
  transition: all 0.25s var(--ease);
}
.other-info .tags i { margin-right: 5px; color: var(--secondary-color); }
.other-info .tags a:hover {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  color: #fff;
}
.other-info .tags a:hover i { color: #fff; }

.author-box {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  background: var(--surface-tint);
  border-radius: var(--radius-lg);
  padding: 28px;
  margin: 36px 0;
  box-shadow: var(--shadow-sm);
}
.author-box .author-avatar img {
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: var(--shadow-sm);
}
.author-box .author-label {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--secondary-color);
}
.author-box .author-name {
  margin: 4px 0 10px;
  color: var(--tertiary_color);
}
.author-box .author-name a { color: inherit; }
.author-box .author-bio {
  color: rgba(0, 33, 91, 0.75);
  margin-bottom: 14px;
}
.author-box .author-links {
  display: flex;
  align-items: center;
  gap: 14px;
}
.author-box .author-more-posts {
  font-weight: 600;
  color: var(--secondary-color);
}
.author-box .author-website {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  color: var(--tertiary_color);
  box-shadow: var(--shadow-sm);
}
.author-box .author-website:hover {
  background: var(--secondary-color);
  color: #fff;
}

.single-prev-next {
  margin: 36px 0;
  padding: 24px 0;
  border-top: 1px solid rgba(0, 33, 91, 0.1);
  border-bottom: 1px solid rgba(0, 33, 91, 0.1);
}
.single-prev-next h5 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--secondary-color);
  margin-bottom: 6px;
}
.single-prev-next span {
  font-weight: 600;
  color: var(--tertiary_color);
}
.single-prev-next .align-right { text-align: right; }

.related-posts {
  margin-top: 46px;
}
.related-posts-title {
  color: var(--tertiary_color);
  font-weight: 700;
  position: relative;
  padding-bottom: 14px;
  margin-bottom: 26px;
}
.related-posts-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 3px;
  border-radius: 3px;
  background: var(--secondary-color);
}
.related-posts .related-post-card {
  height: 100%;
  margin-bottom: 24px;
}
.related-posts .related-post-card .part-txt {
  padding: 18px 20px 22px;
}
.related-posts .related-post-card .post-meta {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  padding: 0;
}
.related-posts .related-post-card .post-meta li {
  list-style: none;
  font-size: 12px;
  color: rgba(0, 33, 91, 0.55);
}
.related-posts .related-post-card .entry-title {
  font-size: 17px;
  line-height: 1.4;
  margin: 0;
}
.related-posts .related-post-card .entry-title a {
  color: var(--tertiary_color);
}
.related-posts .related-post-card .entry-title a:hover {
  color: var(--secondary-color);
}

/* ==========================================================
   6. Pagination
   ========================================================== */

.pagination .page-numbers,
.nav-links .page-numbers,
.pagination ul li a,
.pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  margin: 0 4px 8px;
  border-radius: 50px;
  background: #fff;
  color: var(--tertiary_color);
  box-shadow: var(--shadow-sm);
  font-weight: 600;
  transition: all 0.25s var(--ease);
}
.pagination .page-numbers:hover,
.nav-links .page-numbers:hover,
.pagination ul li a:hover {
  background: var(--gradient-accent);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(244, 89, 5, 0.25);
}
.pagination .page-numbers.current,
.nav-links .page-numbers.current,
.pagination ul li span.current,
.pagination ul li a.current {
  background: var(--gradient-dark);
  color: #fff;
  box-shadow: 0 10px 20px rgba(0, 33, 91, 0.25);
}

/* ==========================================================
   7. Sidebar widgets (off-canvas "Fly Sidebar" + inline)
   ========================================================== */

.main-sidebar {
  background: #fff;
  box-shadow: -20px 0 60px rgba(15, 25, 60, 0.18);
}

.main-sidebar .widget,
#secondary .widget,
.widget-area .widget,
.consted-sidebar .widget,
.consted-post-sidebar .widget,
.consted-post-sidebar .widget_block,
#blog-sidebar .widget {
  background: var(--surface-tint);
  border-radius: var(--radius-md);
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: var(--shadow-sm);
}

.widget-title,
.widget-title span {
  color: var(--tertiary_color);
  font-weight: 700;
  position: relative;
  padding-bottom: 14px;
  margin-bottom: 18px;
  display: inline-block;
}
.widget-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 46px;
  height: 3px;
  border-radius: 3px;
  background: var(--secondary-color);
}

.widget ul li,
.widget_categories ul li,
.widget_archive ul li,
.widget_pages ul li,
.widget_meta ul li,
.widget_recent_entries ul li,
.widget_recent_comments ul li,
.widget_nav_menu ul li {
  list-style: none;
  border-bottom: 1px dashed rgba(0, 33, 91, 0.12);
  padding: 10px 0;
  transition: padding-left 0.25s var(--ease);
}
.widget ul li:last-child { border-bottom: none; }
.widget ul li:hover {
  padding-left: 6px;
}
.widget ul li a {
  color: var(--tertiary_color);
  font-weight: 500;
}
.widget ul li a:hover {
  color: var(--secondary-color);
}

.widget_search .search-form,
.search-form {
  display: flex;
  gap: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.widget_search .search-form .search-field,
.search-form .search-field {
  flex: 1;
  border: 1px solid rgba(0, 33, 91, 0.14) !important;
  border-right: none !important;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
}
.widget_search .search-form .search-submit,
.search-form .search-submit {
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 0 20px;
}

.widget_tag_cloud .tagcloud,
.tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.widget_tag_cloud .tagcloud a,
.tagcloud a {
  font-size: 13px !important;
  background: #fff;
  border: 1px solid rgba(0, 33, 91, 0.12);
  padding: 6px 14px;
  border-radius: 50px;
  color: var(--tertiary_color);
  transition: all 0.25s var(--ease);
}
.widget_tag_cloud .tagcloud a:hover,
.tagcloud a:hover {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  color: #fff;
}

.widget_calendar table caption {
  background: var(--tertiary_color);
  color: #fff;
  padding: 10px;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.widget_calendar table {
  box-shadow: none;
}
.widget_calendar #today {
  background: var(--secondary-color);
  color: #fff;
  border-radius: 4px;
}

/* ==========================================================
   8. Comments
   ========================================================== */

.comments-area {
  margin-top: 40px;
}
.comments-title {
  color: var(--tertiary_color);
  font-weight: 700;
}
.comment-list .comment-body,
.comment-list article {
  background: var(--surface-tint);
  border-radius: var(--radius-md);
  padding: 24px;
  margin-bottom: 18px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.3s var(--ease);
}
.comment-list .comment-body:hover {
  box-shadow: var(--shadow-md);
}
.comment-list .avatar {
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: var(--shadow-sm);
}
.comment-list .comment-metadata a {
  color: var(--tertiary_color);
  opacity: 0.65;
}
.comment-reply-link {
  display: inline-block;
  padding: 6px 18px;
  font-size: 12px;
  border-radius: 50px;
  color: #fff !important;
}

#respond {
  margin-top: 30px;
}
#respond .comment-reply-title {
  color: var(--tertiary_color);
  font-weight: 700;
}

/* ==========================================================
   9. Footer
   ========================================================== */

.footer {
  background: var(--gradient-dark);
  position: relative;
}

.footer .main-footer .widget_nav_menu ul li,
.footer .main-footer ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.footer .main-footer ul li a {
  color: rgba(255, 255, 255, 0.75);
  transition: color 0.25s var(--ease), padding-left 0.25s var(--ease);
}
.footer .main-footer ul li a:hover {
  color: var(--secondary-color);
  padding-left: 6px;
}

.footer .main-footer .site-info .social a {
  transition: transform 0.25s var(--ease), background 0.25s var(--ease);
}
.footer .main-footer .site-info .social a:hover {
  transform: translateY(-4px);
  background: var(--secondary-color) !important;
}

.copyright {
  background: rgba(0, 0, 0, 0.18);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.copyright a {
  color: var(--secondary-color);
}

/* ==========================================================
   10. 404 / search results
   ========================================================== */

.error-404 .page-content,
.no-results {
  text-align: center;
}
.search-no-results .page-content .def-btn {
  margin-top: 10px;
}

/* ==========================================================
   11. Small responsive polish
   ========================================================== */

@media (max-width: 991px) {
  .site-hero-section .part-txt { min-height: 40vh; }
  .blog-wrap .single-box:hover,
  .related-posts .single-box:hover { transform: none; }
  #blog-sidebar.consted-sidebar { margin-top: 30px; }
}

@media (max-width: 575px) {
  .author-box { flex-direction: column; text-align: center; }
  .author-box .author-links { justify-content: center; }
  .single-prev-next .align-right { text-align: left; }
  .share-links { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Sticky / fixed header polish (desktop) */
@media (min-width: 992px) {
  .header .bottom-header.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: var(--tertiary_color);
    box-shadow: 0 8px 28px rgba(15, 25, 60, 0.18);
    transition: box-shadow 0.25s ease;
  }
  .header .bottom-header.fixed-header .logo {
    top: 0;
    padding: 8px 12px;
    height: auto;
  }
  .consted-header-spacer {
    width: 100%;
  }
}
/* Never sticky on mobile — keep normal flow */
@media (max-width: 991px) {
  .header .bottom-header.fixed-header {
    position: relative !important;
    box-shadow: none;
  }
  .consted-header-spacer {
    display: none !important;
    height: 0 !important;
  }
}

/* ==========================================================
   HOMEPAGE PREMIUM POLISH (additive — no elements removed)
   ========================================================== */

/* --- Vertical rhythm for builder sections --- */
body.home .home-main > .elementor > .elementor-section,
body.home .home-main > .elementor-section,
body.front-page .home-main > .elementor > .elementor-section,
body.home .home-main > section {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

body.home .elementor-section .elementor-container {
  max-width: 1140px;
}

/* Subtle alternating surface (only when section has no own background image) */
body.home .elementor-top-section:nth-child(even):not(.elementor-section-boxed) {
  /* keep builder control — only apply if transparent-looking */
}

/* --- Typography hierarchy --- */
body.home,
body.front-page {
  font-size: 1.0625rem;
  line-height: 1.7;
}

body.home h1,
body.home .elementor-heading-title.elementor-size-xxl,
body.front-page h1 {
  font-family: var(--heading-font);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
}

body.home h2,
body.home .elementor-heading-title.elementor-size-xl,
body.front-page h2 {
  font-family: var(--heading-font);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
}

body.home h3,
body.front-page h3 {
  font-family: var(--heading-font);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  line-height: 1.35;
}

/* Body text: do not force color — let Elementor / theme control contrast */
body.home .home-main,
body.front-page .home-main {
  color: inherit;
}

/* --- Cards / feature boxes --- */
body.home .elementor-widget-icon-box,
body.home .elementor-widget-image-box,
body.home .single-box {
  border-radius: var(--radius-md);
  transition: box-shadow 0.3s var(--ease), transform 0.3s var(--ease);
}

body.home .elementor-icon-box-wrapper,
body.home .elementor-image-box-wrapper {
  padding: 0.25rem;
}

body.home .elementor-icon-box-icon,
body.home .elementor-view-stacked .elementor-icon {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

body.home .elementor-icon-box-wrapper:hover .elementor-icon,
body.home .elementor-view-stacked:hover .elementor-icon {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

/* --- Buttons / CTAs --- */
body.home .elementor-button,
body.home .def-btn,
body.front-page .elementor-button {
  border-radius: 50px;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background 0.25s var(--ease);
  box-shadow: 0 8px 20px rgba(244, 89, 5, 0.22);
}

body.home .elementor-button:hover,
body.home .def-btn:hover,
body.front-page .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(244, 89, 5, 0.3);
}

/* --- Partner / logo strips only (do NOT shrink content images) --- */
body.home .partner-slider .owl-item img,
body.home .elementor-widget-image-carousel img,
body.home .clients-logo img,
body.home .brand-logo img {
  max-height: 72px;
  width: auto;
  opacity: 0.9;
  transition: opacity 0.25s ease;
}
body.home .partner-slider .owl-item img:hover,
body.home .clients-logo img:hover,
body.home .brand-logo img:hover {
  opacity: 1;
}

/* Restore full size for industry / project / gallery / content images */
body.home .elementor-widget-image img,
body.home .elementor-image img,
body.home .elementor-widget-image-box img,
body.home .elementor-cta img {
  max-height: none !important;
  width: auto;
  max-width: 100%;
  height: auto;
  opacity: 1;
}

/* --- Header polish --- */
.header .top-header {
  font-size: 0.9rem;
}

.header .bottom-header {
  box-shadow: 0 4px 24px rgba(15, 25, 60, 0.06);
}

@media (min-width: 992px) {
  .header .bottom-header.fixed-header {
    z-index: 1000;
    box-shadow: 0 8px 28px rgba(15, 25, 60, 0.18);
  }
}

/* --- Mobile nav touch targets --- */
@media (max-width: 991px) {
  .ow-navigation .navbar-nav > li > a,
  .ow-navigation .nav.navbar-nav li > a {
    padding: 14px 16px !important;
    font-size: 1rem;
    min-height: 44px;
  }
  .header .navbar-toggle,
  .header .nav-close {
    min-width: 44px;
    min-height: 44px;
  }
}

/* --- Footer premium polish --- */
.footer#colophon,
#colophon.footer {
  color: rgba(255, 255, 255, 0.88);
}

.footer .main-footer {
  padding: clamp(2.5rem, 4vw, 4rem) 0;
}

.footer .main-footer .widget-title,
.footer .main-footer h3.title,
.footer .main-footer .title {
  color: #fff !important;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  background: none;
}

.footer .main-footer .widget-title span,
.footer .main-footer h3.title span {
  background: none !important;
  color: #fff !important;
  padding: 0 !important;
}

.footer .main-footer a {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer .main-footer a:hover,
.footer .main-footer a:focus {
  color: var(--secondary-color);
}

.footer .copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 1.25rem 0;
  font-size: 0.9rem;
}

.footer .copyright a {
  color: rgba(255, 255, 255, 0.9);
}

.footer .copyright a:hover {
  color: var(--secondary-color);
}

/* --- Accessibility focus --- */
a:focus-visible,
button:focus-visible,
.ow-navigation a:focus-visible,
.elementor-button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--secondary-color);
  outline-offset: 3px;
}

/* Skip link visible on focus */
.screen-reader-text:focus,
.skip-link:focus {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 12px 18px;
  background: var(--tertiary_color);
  color: #fff;
  clip: auto !important;
  clip-path: none;
  border-radius: var(--radius-sm);
  text-decoration: none;
  box-shadow: var(--shadow-md);
}

/* --- Slider / hero on homepage --- */
body.home .banner .slider .banner-txt h1,
body.home .banner .slider .banner-txt .title {
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.2;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

body.home .banner .slider .banner-txt .def-btn {
  border-radius: 50px;
  margin-top: 0.5rem;
}

/* ==========================================================
   FOOTER SEO COLUMNS + modern polish
   ========================================================== */
.consted-footer-seo {
  padding: clamp(2.5rem, 4vw, 3.5rem) 0 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.consted-footer-seo .widget-title,
.consted-footer-seo h3.widget-title {
  color: #fff !important;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 1.1rem;
  background: none;
}
.consted-footer-seo .widget-title span {
  background: none !important;
  color: #fff !important;
  padding: 0 !important;
}
.consted-footer-seo p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.95rem;
  line-height: 1.65;
  margin-bottom: 0;
}
.consted-footer-seo .footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.consted-footer-seo .footer-menu li {
  margin-bottom: 0.55rem;
}
.consted-footer-seo .footer-menu a,
.consted-footer-seo .footer-contact-list a {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.2s ease, padding-left 0.2s ease;
}
.consted-footer-seo .footer-menu a:hover,
.consted-footer-seo .footer-contact-list a:hover {
  color: var(--secondary-color);
  padding-left: 4px;
}
.consted-footer-seo .footer-contact-list {
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(255, 255, 255, 0.82);
}
.consted-footer-seo .footer-contact-list li {
  margin-bottom: 0.55rem;
  font-size: 0.95rem;
  line-height: 1.5;
}
.footer .copyright .footer-seo-tagline {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.85rem;
  text-align: center;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .footer .copyright .footer-seo-tagline {
    text-align: right;
    margin-top: 0;
  }
}

/* Industry / content image grids — ensure natural size */
body.home .elementor-widget-image-box .elementor-image-box-img img,
body.home .elementor-widget-image .elementor-widget-container img {
  max-height: none !important;
  height: auto !important;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* ==========================================================
   v24 — Modern sleek homepage refinement
   Creative polish without removing any content
   ========================================================== */

/* Section titles — accent underline bar */
body.home .elementor-heading-title,
body.home .home-main h2 {
  position: relative;
}
body.home .elementor-section .elementor-widget-heading .elementor-heading-title {
  display: inline-block;
}
body.home .elementor-section .elementor-widget-heading {
  text-align: center;
}

/* Soft section separators / breathing room */
body.home .elementor-top-section + .elementor-top-section {
  position: relative;
}

/* Industry / image-box cards — modern elevated cards */
body.home .elementor-widget-image-box .elementor-image-box-wrapper,
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: #fff;
  border-radius: 14px;
  padding: 1.25rem 1rem 1.5rem;
  border: 1px solid rgba(15, 25, 60, 0.06);
  box-shadow: 0 4px 18px rgba(15, 25, 60, 0.04);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s var(--ease);
  height: 100%;
}
body.home .elementor-widget-image-box .elementor-image-box-wrapper:hover,
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15, 25, 60, 0.12);
  border-color: rgba(244, 89, 5, 0.25);
}
body.home .elementor-image-box-img img {
  border-radius: 10px;
  transition: transform 0.5s var(--ease);
}
body.home .elementor-image-box-wrapper:hover .elementor-image-box-img img {
  transform: scale(1.03);
}
body.home .elementor-image-box-title,
body.home .elementor-icon-box-title {
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  margin-top: 0.85rem !important;
}

/* Stats / counter row */
body.home .elementor-widget-counter,
body.home .elementor-counter {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem 1rem;
  box-shadow: 0 8px 28px rgba(15, 25, 60, 0.08);
  border-top: 3px solid var(--secondary-color);
}

/* CTA primary buttons — premium */
body.home .elementor-button-wrapper .elementor-button {
  border-radius: 50px !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem !important;
  box-shadow: 0 10px 24px rgba(244, 89, 5, 0.28);
  transition: transform 0.28s var(--ease), box-shadow 0.28s var(--ease) !important;
}
body.home .elementor-button-wrapper .elementor-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(244, 89, 5, 0.38);
}

/* Blog post cards on homepage */
body.home .elementor-widget-posts .elementor-post,
body.home .elementor-posts-container article {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(15, 25, 60, 0.06);
  box-shadow: 0 4px 18px rgba(15, 25, 60, 0.05);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
  background: #fff;
}
body.home .elementor-widget-posts .elementor-post:hover,
body.home .elementor-posts-container article:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 36px rgba(15, 25, 60, 0.12);
}
body.home .elementor-post__thumbnail img {
  transition: transform 0.5s var(--ease);
}
body.home .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.05);
}

/* Partner logos row — subtle, not tiny content images */
body.home .elementor-widget-image-carousel .swiper-slide img,
body.home .partner-slider img {
  filter: grayscale(20%);
  opacity: 0.85;
  transition: filter 0.3s ease, opacity 0.3s ease;
  max-height: 64px;
  width: auto;
  margin: 0 auto;
}
body.home .elementor-widget-image-carousel .swiper-slide img:hover,
body.home .partner-slider img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* Intro / about text column readability */
body.home .elementor-widget-text-editor {
  line-height: 1.75;
}
body.home .elementor-widget-text-editor p {
  margin-bottom: 1rem;
}

/* Furnace display carousel captions */
body.home .elementor-widget-image-carousel .elementor-carousel-image-overlay,
body.home .swiper-slide-contents {
  font-weight: 600;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}

/* Footer modern */
.footer#colophon {
  background: linear-gradient(180deg, #001a47 0%, #000d24 100%);
}
.consted-footer-seo {
  padding-top: 3rem;
}
.footer .copyright {
  background: rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer .dev_info a {
  color: var(--secondary-color);
  font-weight: 600;
  text-decoration: none;
}
.footer .dev_info a:hover {
  text-decoration: underline;
}

/* Sticky header glass-like refinement */
@media (min-width: 992px) {
  .header .bottom-header.fixed-header {
    background: rgba(0, 33, 91, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* ==========================================================
   Confur footer — modern industrial
   ========================================================== */
.confur-footer,
.footer.confur-footer {
  background: linear-gradient(165deg, #001a47 0%, #000b1f 55%, #000814 100%);
  color: rgba(255, 255, 255, 0.88);
}
.confur-footer-main {
  padding: clamp(2.75rem, 5vw, 4rem) 0 2rem;
}
.confur-footer-col {
  margin-bottom: 2rem;
}
.confur-footer-title {
  color: #fff !important;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 1.15rem;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid rgba(244, 89, 5, 0.55);
  background: none !important;
}
.confur-footer-title span {
  background: none !important;
  color: inherit !important;
  padding: 0 !important;
}
.confur-footer-role {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--secondary-color);
  margin: 0 0 1rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(244, 89, 5, 0.4);
  border-radius: 4px;
}
.confur-footer-address,
.confur-footer-phone,
.confur-footer-email {
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0 0 0.75rem;
  color: rgba(255, 255, 255, 0.82);
}
.confur-footer-icon {
  margin-right: 0.4rem;
  opacity: 0.9;
}
.confur-footer-phone a,
.confur-footer-email a {
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  transition: color 0.2s ease;
}
.confur-footer-phone a:hover,
.confur-footer-email a:hover {
  color: var(--secondary-color);
}

/* Social */
.confur-footer-social {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
.confur-footer-social-label {
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  width: 100%;
  margin-bottom: 0.15rem;
}
.confur-social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.9rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff !important;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.confur-social-link:hover {
  background: #0a66c2;
  border-color: #0a66c2;
  color: #fff !important;
  transform: translateY(-2px);
}
.confur-social-link svg {
  flex-shrink: 0;
}

/* Menus & posts */
.confur-footer-menu,
.confur-footer-posts {
  list-style: none;
  margin: 0;
  padding: 0;
}
.confur-footer-menu li,
.confur-footer-posts li {
  margin: 0 0 0.55rem;
}
.confur-footer-menu a,
.confur-footer-posts a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  font-size: 0.92rem;
  line-height: 1.4;
  transition: color 0.2s ease, padding-left 0.2s ease;
  display: inline-block;
}
.confur-footer-menu a:hover,
.confur-footer-posts a:hover {
  color: var(--secondary-color);
  padding-left: 4px;
}
.confur-footer-posts a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Copyright bar */
.confur-copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.25);
  padding: 1.15rem 0;
}
.confur-copy-text,
.confur-credit {
  margin: 0;
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.65);
}
.confur-credit a {
  color: var(--secondary-color);
  font-weight: 600;
  text-decoration: none;
}
.confur-credit a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .confur-credit {
    margin-top: 0.5rem;
  }
  .text-md-right {
    text-align: left !important;
  }
}

/* ==========================================================
   Confur footer redesign — full structure
   Top: Brand | Contact · Middle: 3 cols · Bottom: © | Credit
   ========================================================== */

.confur-site-footer,
.site-footer.confur-site-footer {
  background: linear-gradient(180deg, #121212 0%, #0a0a0a 100%);
  color: #cccccc;
  font-size: 14px;
  line-height: 1.6;
  padding: 0;
  border: none;
}
.confur-footer-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 50px 24px 20px;
}
.confur-site-footer a {
  color: #cccccc;
  text-decoration: none;
  transition: color 0.25s ease;
}
.confur-site-footer a:hover {
  color: #ffffff;
}

/* --- TOP --- */
.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid #2a2a2a;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.footer-brand {
  flex: 1 1 240px;
  min-width: 200px;
}
.footer-brand-name {
  color: #ffffff !important;
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: var(--heading-font), system-ui, sans-serif;
  background: none !important;
}
.footer-tagline {
  color: #aaaaaa;
  font-size: 0.95rem;
  margin: 0 0 8px;
}
.footer-since {
  color: #f45905;
  font-size: 0.9rem;
  margin: 0;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer-contact {
  flex: 1 1 280px;
  max-width: 420px;
  text-align: right;
}
.footer-address,
.footer-phone,
.footer-email {
  margin: 0 0 8px;
  color: #cccccc;
  font-size: 0.92rem;
  line-height: 1.55;
}
.footer-address-indent {
  padding-left: 1.4em;
  display: inline-block;
}
.footer-ico {
  margin-right: 6px;
}
.footer-phone a,
.footer-email a {
  color: #e0e0e0;
  font-weight: 500;
}
.footer-phone a:hover,
.footer-email a:hover {
  color: #f45905;
}
.footer-social {
  margin-top: 16px;
}
.footer-social-label {
  margin: 0 0 8px;
  font-size: 0.72rem;
  color: #888;
  letter-spacing: 0.12em;
  font-weight: 700;
}
.footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e8e8e8 !important;
  font-size: 0.9rem;
  font-weight: 600;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.footer-social-link:hover {
  background: #0a66c2;
  border-color: #0a66c2;
  color: #fff !important;
  transform: translateY(-2px);
}
.footer-social-link svg {
  flex-shrink: 0;
}

/* --- MIDDLE --- */
.footer-middle {
  display: flex;
  justify-content: space-between;
  gap: 36px;
  padding-bottom: 32px;
  border-bottom: 1px solid #2a2a2a;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.footer-col {
  flex: 1 1 160px;
  min-width: 160px;
}
.footer-col-blog {
  flex: 1.4 1 220px;
}
.footer-col h4 {
  color: #ffffff !important;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 16px;
  text-transform: uppercase;
  background: none !important;
  padding: 0 !important;
  border: none !important;
}
.footer-menu,
.footer-blog-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-menu li {
  margin-bottom: 8px;
}
.footer-menu a {
  font-size: 0.88rem;
  color: #c0c0c0;
}
.footer-menu a:hover {
  color: #f45905;
}
.footer-blog-list li {
  margin-bottom: 12px;
}
.footer-blog-list a {
  font-size: 0.88rem;
  line-height: 1.45;
  color: #c8c8c8;
  display: block;
}
.footer-blog-list a:hover {
  color: #ffffff;
}
.footer-view-all {
  display: inline-block;
  margin-top: 10px;
  color: #f45905 !important;
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.02em;
}
.footer-view-all:hover {
  color: #ffffff !important;
}

/* --- BOTTOM --- */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 4px;
}
.footer-copyright {
  font-size: 0.78rem;
  color: #777;
  margin: 0;
  flex: 1 1 240px;
}
.footer-credit {
  text-align: right;
  font-size: 0.78rem;
  color: #666;
  line-height: 1.35;
  flex-shrink: 0;
}
.footer-credit p {
  margin: 0;
}
.footer-credit-name {
  margin-top: 2px !important;
}
.footer-credit-name a {
  color: #b0b0b0;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}
.footer-credit-name a:hover {
  color: #f45905;
}

.footer-widgets-extra {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #2a2a2a;
}

/* Hide legacy copyright blocks if any theme CSS injects them */
.confur-site-footer .copyright:not(.footer-bottom) {
  display: none;
}

/* --- Mobile --- */
@media (max-width: 767px) {
  .confur-footer-inner {
    padding: 36px 18px 16px;
  }
  .footer-top {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer-contact {
    text-align: center;
    max-width: 100%;
  }
  .footer-address-indent {
    padding-left: 0;
  }
  .footer-middle {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 28px;
  }
  .footer-col {
    width: 100%;
    max-width: 400px;
  }
  .footer-bottom {
    flex-direction: column-reverse;
    text-align: center;
  }
  .footer-credit {
    text-align: center;
  }
  .footer-copyright {
    text-align: center;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .footer-contact {
    text-align: left;
  }
}

/* ==========================================================
   Confur utility bar (top header)
   ========================================================== */
.confur-utility-bar,
.top-header.confur-utility-bar {
  background: #0d1b2a;
  color: #b8c0cc;
  font-size: 13px;
  line-height: 1.4;
  padding: 0;
}
.confur-utility-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  min-height: 36px;
  padding: 6px 0;
}
.confur-utility-left,
.confur-utility-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
}
.confur-utility-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #c5cdd8;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
}
a.confur-utility-item:hover {
  color: #ffffff;
  text-decoration: none;
}
.confur-utility-ico {
  font-size: 12px;
  opacity: 0.9;
}
.confur-utility-social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.confur-social-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: #c5cdd8 !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.confur-social-ico:hover {
  background: #f45905;
  color: #fff !important;
  transform: translateY(-1px);
}
.confur-utility-divider {
  color: #3a4a5c;
  margin: 0 4px;
}

/* Language switcher (plugin output) */
.language-switcher {
  display: inline-flex;
  align-items: center;
}
.language-switcher ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
}
.language-switcher ul li a {
  color: #aab4c0;
  text-decoration: none;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 3px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}
.language-switcher ul li a:hover {
  color: #fff;
  border-color: #445;
}
.language-switcher ul li.active a,
.language-switcher ul li.current-lang a {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: #555;
}
.language-switcher.gtranslate select {
  background: transparent;
  border: 1px solid #445;
  color: #aab4c0;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  height: 26px;
  cursor: pointer;
}

@media (max-width: 767px) {
  .confur-utility-inner {
    justify-content: center;
    text-align: center;
  }
  .confur-utility-left,
  .confur-utility-right {
    justify-content: center;
    width: 100%;
  }
  .language-switcher {
    /* keep visible on mobile if present — plugins often need it */
  }
}

/* ==========================================================
   Physics palette application + conversions (beta.4)
   ========================================================== */

/* Utility bar */
.confur-utility-bar,
.top-header.confur-utility-bar {
  background: var(--utility-bg, #1a1a1a) !important;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
}
.confur-utility-bar.is-scrolled {
  opacity: 0.92;
}

/* Main header / sticky uses deep navy */
.header .bottom-header {
  background: var(--color-primary-dark, #0a1628) !important;
}
@media (min-width: 992px) {
  .header .bottom-header.fixed-header {
    background: rgba(10, 22, 40, 0.97) !important;
    backdrop-filter: blur(12px);
  }
}

/* Nav hover accent */
.ow-navigation .menubar > li > a:hover,
.ow-navigation .menubar > li.current-menu-item > a,
.ow-navigation .navbar-nav > li > a:hover {
  color: var(--color-primary-accent, #e94560) !important;
}

/* Theme buttons / submit */
input[type="submit"],
button[type="submit"],
.search-submit,
.comment-form input#submit,
.def-btn {
  background: var(--gradient-heat) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 50px !important;
  box-shadow: 0 8px 22px rgba(233, 69, 96, 0.28);
}
input[type="submit"]:hover,
button[type="submit"]:hover,
.def-btn:hover {
  background: var(--cta-bg-hover) !important;
  transform: translateY(-2px);
}

/* Elementor primary-ish buttons on home */
body.home .elementor-button,
body.front-page .elementor-button {
  background-image: var(--gradient-heat) !important;
  border: none !important;
  border-radius: 50px !important;
  box-shadow: 0 10px 24px rgba(233, 69, 96, 0.3);
}
body.home .elementor-button:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
}

/* Section titles accent */
body.home h2.elementor-heading-title,
body.home .elementor-widget-heading h2 {
  color: var(--color-text-dark, #1a1a2e);
}

/* Footer uses primary dark */
.confur-site-footer,
.site-footer.confur-site-footer {
  background: linear-gradient(180deg, var(--color-primary-dark) 0%, #050b14 100%) !important;
}
.footer-since,
.footer-view-all,
.confur-site-footer .footer-view-all {
  color: var(--color-secondary-gold, #f39c12) !important;
}
.footer-credit-name a:hover,
.footer-menu a:hover {
  color: var(--color-primary-accent, #e94560) !important;
}

/* Floating mobile call CTA */
.confur-float-call {
  position: fixed;
  right: 16px;
  bottom: 20px;
  z-index: 9999;
  display: none;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 50px;
  background: var(--gradient-heat);
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(233, 69, 96, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.confur-float-call:hover {
  transform: translateY(-3px);
  color: #fff !important;
  box-shadow: 0 14px 32px rgba(233, 69, 96, 0.55);
}
@media (max-width: 991px) {
  .confur-float-call {
    display: inline-flex;
  }
}
@media (min-width: 992px) {
  .confur-float-call {
    display: none !important;
  }
}

/* Homepage card hover accent uses new red */
body.home .elementor-widget-image-box .elementor-image-box-wrapper:hover,
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  border-color: rgba(233, 69, 96, 0.35);
}

/* Stats gold numbers if present */
body.home .elementor-counter-number,
body.home .elementor-widget-counter .elementor-counter-number {
  color: var(--color-secondary-gold, #f39c12);
}

/* Scroll-to-top uses heat gradient */
.scroll-to-top .container button {
  background: var(--gradient-heat) !important;
}
