/*
Theme Name: Ovemo Theme
Theme URI: https://github.com/nickypn/nikterm-theme
Author: Ovemo EOOD
Description: Theme for websites of heating and air-conditioning companies. The company details, the home page slider and the page images are set in the Customizer. Templates for services, portfolio and blog, a contact form, light and dark mode. When Ovemo is installed on the site, the theme shows a "Log in" button to the portal and takes the company details from it. Built on the Highstarter theme by Atanas Yonkov (licence GPLv2 or later).
Requires at least: WordPress 4.4
Tested up to: WordPress 6.7
Requires PHP: 5.2.4
Version: 1.26.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Tags: portfolio, blog, one-column, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, theme-options, translation-ready
Text Domain: highstarter
Domain Path: /languages

Original theme "Highstarter" Copyright 2020-2022 Atanas Yonkov, licensed GPLv2 or later.
This fork ("Ovemo Theme") is likewise licensed under the GPL.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

Use it to make something cool, have fun,
and share what you've learned with others.
*/

/* ==========================================================================
   Colour themes - body class ovemo-palette-{sapphire|copper|graphite}
   (Customizer "Colour theme"); body.dark-mode switches to the night values.
   Without a class (block editor) the Sapphire values apply.
   ========================================================================== */

body {
  --ov-bg: #f5f5f5;
  --ov-surface: #ffffff;
  --ov-text: #333333;
  --ov-heading: #333333;
  --ov-muted: #5f6b76;
  --ov-line: #e2e6ee;
  --ov-header-bg: #ffffff;
  --ov-header-text: #181818;
  --ov-band: #eef1f6;
  --ov-band-hover: #dde4ef;
  --ov-link: #234982;
  --ov-link-hover: #1b3a6b;
  --ov-highlight: #678fd5;
  --ov-button: #234982;
  --ov-button-text: #ffffff;
  --ov-accent: #234982;
  --ov-accent-text: #ffffff;
  --ov-accent-soft: #cfe0f5;
  --ov-footer-bg: #1b3a6b;
  --ov-footer-text: #d7e0ef;
  --ov-footer-muted: #b7c3da;
  --ov-banner-tint: rgba(35, 73, 130, .55);
  --ov-shade: 20, 30, 48;
}

body.dark-mode {
  --ov-bg: #1b1d20;
  --ov-surface: #1b1d20;
  --ov-text: #d9dde2;
  --ov-heading: #f1f3f5;
  --ov-muted: #a3acb6;
  --ov-line: #3a3f45;
  --ov-header-bg: #262626;
  --ov-header-text: #f1f3f5;
  --ov-band: #262626;
  --ov-band-hover: #30343a;
  --ov-link: #678fd5;
  --ov-link-hover: #8fb0e6;
  --ov-highlight: #678fd5;
  --ov-button: #678fd5;
  --ov-button-text: #10151d;
  --ov-accent: #234982;
  --ov-accent-text: #ffffff;
  --ov-accent-soft: #cfe0f5;
  --ov-footer-bg: #111214;
  --ov-footer-text: #b7c3da;
  --ov-footer-muted: #8e9bb3;
}

body.ovemo-palette-copper {
  --ov-bg: #f5f5f5;
  --ov-surface: #ffffff;
  --ov-text: #2e2a27;
  --ov-heading: #1f1b18;
  --ov-muted: #6b5f57;
  --ov-line: #eadfd4;
  --ov-header-bg: #ffffff;
  --ov-header-text: #1f1b18;
  --ov-band: #f5efe9;
  --ov-band-hover: #eadfd4;
  --ov-link: #9b3b1c;
  --ov-link-hover: #7a2e15;
  --ov-highlight: #c0582f;
  --ov-button: #9b3b1c;
  --ov-button-text: #ffffff;
  --ov-accent: #9b3b1c;
  --ov-accent-text: #ffffff;
  --ov-accent-soft: #f6dccf;
  --ov-footer-bg: #2a211c;
  --ov-footer-text: #ecd9cc;
  --ov-footer-muted: #c9b4a6;
  --ov-banner-tint: rgba(155, 59, 28, .55);
  --ov-shade: 31, 24, 20;
}

body.ovemo-palette-copper.dark-mode {
  --ov-bg: #1d1a18;
  --ov-surface: #1d1a18;
  --ov-text: #e3dbd5;
  --ov-heading: #f4eee9;
  --ov-muted: #b3a69d;
  --ov-line: #3d342e;
  --ov-header-bg: #28221e;
  --ov-header-text: #f4eee9;
  --ov-band: #28221e;
  --ov-band-hover: #342c27;
  --ov-link: #e89a77;
  --ov-link-hover: #f2b79b;
  --ov-highlight: #e89a77;
  --ov-button: #e89a77;
  --ov-button-text: #1d1410;
  --ov-accent: #8a3518;
  --ov-accent-text: #ffffff;
  --ov-accent-soft: #f6dccf;
  --ov-footer-bg: #141110;
  --ov-footer-text: #cdb9ab;
  --ov-footer-muted: #a8968a;
}

body.ovemo-palette-graphite {
  --ov-bg: #f5f5f5;
  --ov-surface: #ffffff;
  --ov-text: #283034;
  --ov-heading: #161c1f;
  --ov-muted: #5a686c;
  --ov-line: #d9e3e3;
  --ov-header-bg: #1f2a2e;
  --ov-header-text: #f0f4f5;
  --ov-band: #ebf1f1;
  --ov-band-hover: #dbe6e6;
  --ov-link: #0f5f5b;
  --ov-link-hover: #0a4643;
  --ov-highlight: #1f8a83;
  --ov-button: #0f5f5b;
  --ov-button-text: #ffffff;
  --ov-accent: #0f5f5b;
  --ov-accent-text: #ffffff;
  --ov-accent-soft: #cdeae7;
  --ov-footer-bg: #1f2a2e;
  --ov-footer-text: #c6d5d6;
  --ov-footer-muted: #9fb4b6;
  --ov-banner-tint: rgba(15, 95, 91, .55);
  --ov-shade: 17, 26, 29;
}

body.ovemo-palette-graphite.dark-mode {
  --ov-bg: #171c1e;
  --ov-surface: #171c1e;
  --ov-text: #d6dfe1;
  --ov-heading: #eef3f4;
  --ov-muted: #9fb0b3;
  --ov-line: #2f3a3e;
  --ov-header-bg: #11171a;
  --ov-header-text: #eef3f4;
  --ov-band: #1f272a;
  --ov-band-hover: #29343a;
  --ov-link: #5cc0b8;
  --ov-link-hover: #86d3cc;
  --ov-highlight: #5cc0b8;
  --ov-button: #5cc0b8;
  --ov-button-text: #0d1716;
  --ov-accent: #0f5f5b;
  --ov-accent-text: #ffffff;
  --ov-accent-soft: #cdeae7;
  --ov-footer-bg: #0e1315;
  --ov-footer-text: #a9bfc1;
  --ov-footer-muted: #87a0a2;
}

.aligncenter, div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
  clear: both;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  padding: 5px 3px 10px;
  text-align: center
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  opacity: .8 !important;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important
}

.screen-reader-text:focus {
  background-color: rgba(255, 51, 51, 1);
  clip: auto !important;
  clip-path: none;
  color: #000;
  border-radius: 2px;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000
}

.gallery-caption,
.bypostauthor {
  padding: 5px
}

.sticky h2.entry-title::before {
  content: '\f109';
  font-family: dashicons;
  padding-right: 10px;
  font-size: 22px
}

/* Theme default styles */

*,
::after,
::before {
  box-sizing: border-box
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block
}

body {
  margin: 0;
  text-align: left;
  font-family: 'Manrope', sans-serif;
  font-weight: 300;
  font-size: 17px;
  line-height: 1.8;
  color: var(--ov-text);
  background-color: var(--ov-bg)
}

body a {
  color: var(--ov-link);
  -webkit-text-decoration-skip: objects;
  -webkit-transition: .3s all ease;
  background-color: transparent;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  text-decoration: none
}

body a:hover {
  color: var(--ov-link-hover);
  text-decoration: none
}

h1, h2, h3, h4, h5, h6, aside a, footer a {
  word-break: break-word
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

p {
  margin-top: 0;
  margin-bottom: 1rem
}

ul {
  padding-left:15px
}

blockquote {
  background: #f9f9f9;
  border-left: 5px solid var(--ov-link);
  padding: 1px 10px
}

.breadcrumb {
  padding-bottom: .45em;
  word-wrap: break-word;
  text-align: left
}

/* Заглавието на СТРАНИЦА (не на блог статия - .page класът идва от
   post_class() само за post_type=page) вече е центрирано, по изрична
   молба на потребителя. Breadcrumb-ът над него умишлено НЕ е пипан
   (остава text-align:left) - отделно решение, чакащо потвърждение. */
.page .entry-title {
  text-align: center;
}

img {
  border-style: none;
  vertical-align: middle
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2;
  font-family: "Manrope", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}

h1, h2, h3 {
  color: var(--ov-heading)
}

h1 {
  font-size: 2.5rem
}

h2 {
  font-size: 2rem
}

h3 {
  font-size: 1.75rem
}

h4 {
  font-size: 1.5rem
}

h5 {
  font-size: 1.25rem
}

h6 {
  font-size: 1rem
}

table, th, td {
  border: 1px solid #333
}

/* HVAC клиентски портал (плъгин hvac-crm-portal) рисува собствени
   application-style таблици с нулирани борд-стилове - общото правило
   по-горе им слага рязка рамка отвън, която не е предвидена. Скоупнато
   само за портала, за да не пипа таблиците другаде в сайта (напр. блог). */
.hvac-client-portal table,
.hvac-client-portal th,
.hvac-client-portal td {
  border: none;
}

strong {
  font-weight: 700;
}

.site-title {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
}

.site-logo-wrapper {
  float: left;
  min-height: 92px
}

@media (min-width: 40em){
  .site-logo-wrapper{
    max-width: 5em
  }
}

.custom-logo {
  height: 92px;
  width: auto;
  position: absolute;
  padding: 8px
}

.nav-links a {
  color: var(--ov-link);
  font-size: 16px
}

.nav-links a:hover {
  color: var(--ov-link-hover);
  text-decoration: underline
}

.nav-previous, .post-navigation .nav-previous {
  float: left;
  width: 50%
}

.nav-next, .post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%
}

/* Search */

.form-control {
  display: block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-group {
  margin-bottom: 1rem
}

label {
  display: inline-block;
  margin-bottom: .5rem
}

/* Site wrapper */

@media (min-width: 992px) {
  .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.row {
  width: 100%;
  max-width: 1100px
}

/* Footer */

.mb-5 {
  margin-bottom: 2.5rem !important
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

@media (min-width: 576px) {
  .container {
    max-width: 540px
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 980px
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px
  }
}

@media (min-width: 1620px) {
  .container {
    max-width: 1360px
  }
  .row {
    max-width: none
  }
  .wrapper .main-content {
    max-width: none
  }
}

/* Dark mode styles */

body.dark-mode header {
  background-color: var(--ov-header-bg)
}

/* Everything inside <main> takes the night background, except the blocks
   that paint their own (photos with a tint, coloured boxes, the footer) and
   everything inside them. :where() keeps the old low specificity. */
body.dark-mode main :where(:not(
  .hvac-hero, .hvac-hero *,
  .hvac-cta-banner, .hvac-cta-banner *,
  .hvac-service-card, .hvac-service-card *,
  .hvac-why-highlight, .hvac-why-highlight *,
  .hvac-about-hero, .hvac-about-hero *,
  .hvac-step, .hvac-step *,
  .hvac-stat-box, .hvac-stat-box *,
  .hvac-express-cta, .hvac-express-cta *,
  .hvac-team-section, .hvac-team-section *,
  .hvac-trust-icon, .hvac-faq-image-icon,
  .hvac-eyebrow, .hvac-eyebrow *,
  .hvac-faq-item, .hvac-faq-item *,
  .hvac-service-tabs, .hvac-service-tabs *,
  .hvac-contact-info, .hvac-contact-info *,
  .hvac-contact-field input, .hvac-contact-field textarea,
  .portfolio-card-thumbnail, .portfolio-category-tag,
  .ovemo-cta-box, .ovemo-cta-box *,
  .ovemo-part-card, .ovemo-part-card *,
  .ovemo-post-cta, .ovemo-post-cta *,
  .site-footer, .site-footer *,
  .button, .button *, .wp-block-button__link, .wp-block-button__link *,
  input[type="submit"], input[type="button"], input[type="reset"]
)) {
  background-color: var(--ov-bg)
}

body.dark-mode main .hentry,
body.dark-mode main .sidebar-box {
  background-color: var(--ov-surface)
}
O

/* Wrapper */

@media (min-width: 40.063em) {
  .dark-mode .hentry {
    padding: 1.5em 3.75em 0 0
  }
  .dark-mode #commentform, .dark-mode .comment-body {
    padding: 0 3rem 0 0
  }
  .dark-mode .navigation.post-navigation {
    padding-right: 3.75em
  }
}

@media (max-width: 40.062em) {
  .dark-mode .hentry {
      padding: 2em 0
  }
  .dark-mode .sidebar-box {
    padding: 1.675em 0
  }
  .dark-mode #commentform, .dark-mode .comment-body {
    padding: 1rem 0
  }
}

.dark-mode .comment-reply-link {
  border: 1px solid #f5f5f5;
  border-radius: 3px
}

.dark-mode .wp-block-latest-posts__post-author, .dark-mode .wp-block-latest-posts__post-date {
  color: var(--ov-muted);
}
O

/* Menu */

body.dark-mode .main-navigation a,
body.dark-mode .main-navigation a:hover,
body.dark-mode .main-navigation a:focus,
body.dark-mode .main-navigation a:visited{
  color: var(--ov-header-text)
}

body.dark-mode .main-navigation .menu-item-has-children > a::after {
  border-top: 4px solid var(--ov-header-text);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent
}

body.dark-mode .main-navigation .sub-menu .menu-item-has-children > a::after {
  border-left: 4px solid var(--ov-header-text);
  border-top: 4px solid transparent;
  border-right: 4px solid transparent
}

/* Headings */

.dark-mode h1, 
.dark-mode h2, 
.dark-mode h3 {
  color: var(--ov-heading)
}

/* Text */

.dark-mode, .dark-mode p, .dark-mode pre, .dark-mode blockquote * {
  color: var(--ov-text)
}

.dark-mode button, 
.dark-mode input, 
.dark-mode optgroup, 
.dark-mode select, 
.dark-mode textarea {
  color: var(--ov-text)
}

/* Links */

body.dark-mode a,
body.dark-mode a:focus,
body.dark-mode a:active {
  color: var(--ov-link)
}

body.dark-mode :is(.top-contact-bar, .hvac-express-cta, .hvac-team-section, .hvac-step, .hvac-stat-box-primary) a,
body.dark-mode a.portfolio-category-tag {
  color: var(--ov-accent-text)
}

body.dark-mode :is(.hvac-page-banner, .hvac-about-hero, .hvac-hero, .hvac-cta-banner, .hvac-why-highlight) a:not(.button) {
  color: rgba(255, 255, 255, .9)
}

/* Buttons - above the night link colour and the night background */

html body.dark-mode :is(a.button, button.button, .wp-block-button__link, input[type="submit"], input[type="button"], input[type="reset"]) {
  background-color: var(--ov-button);
  color: var(--ov-button-text)
}

body.dark-mode .search-form .form-group #s {
  background-color: var(--ov-band)
}
O

.dark-mode input {
  border-style: ridge
}

.dark-mode table, .dark-mode th, .dark-mode td {
  border: .5px solid #d3d3d3
}

/* Pagination */

.dark-mode .navigation.post-navigation a {
  color: var(--ov-link)
}
O

/* Sidebar */

.dark-mode .sidebar-box .heading{
  border-bottom: 1px solid var(--ov-line)
}

.dark-mode-logo {
  display: none;
}

.dark-mode .dark-mode-logo + .custom-logo-link {
  display: none;
}

.dark-mode .dark-mode-logo {
  display: block;
}

/* Dark Mode Switcher */

.wpnm-button {
  background-color: transparent !important
}
.wpnm-button {
  font-size: 16px
}

.wpnm-button-inner-left:before,
.wpnm-button-inner-left:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  -o-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
  outline: none
}
.wpnm-button .wpnm-button-inner,
.wpnm-button .wpnm-button-inner-left {
  display: inline-block;
  font-size: 0.875em;
  position: relative;
  padding: 0em;
  line-height: 1em;
  cursor: pointer;
  color: rgba(149, 149, 149, 0.51)
}
.wpnm-button .wpnm-button-inner-left:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  line-height: 2.125em;
  text-indent: 2.5em;
  height: 1em;
  width: 1em;
  margin: 0.25em;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  right: 1.625em;
  bottom: 0em;
  background: #FFB200;
  transform: rotate(-45deg);
  box-shadow: 0 0 0.625em #fff
}
.wpnm-button .wpnm-button-inner-left:after {
  content: "";
  display: inline-block;
  width: 2.5em;
  height: 1.5em;
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  border-radius: 1em;
  background: rgba(255, 255, 255, 0.15);
  vertical-align: middle;
  margin: 0 0.625em;
  border: 0.125em solid #FFB200
}
.wpnm-button.active .wpnm-button-inner-left:before {
  right: 1.0625em;
  box-shadow: 0.3125em 0.3125em 0 0 #eee;
  background: transparent
}
.wpnm-button.active .wpnm-button-inner-left:after {
  background: rgba(0, 0, 0, 0.15);
  border: 0.125em solid #fff
}
.wpnm-button .wpnm-button-inner-left {
  color: rgba(250, 250, 250, 0.51)
}
.wpnm-button.active .wpnm-button-inner-left {
  color: rgba(149, 149, 149, 0.51)
}
.wpnm-button.active .wpnm-button-inner-left + .wpnm-button-inner {
  color: rgba(250, 250, 250, 0.51)
}

.sidebar-wrapper {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px
}

.sidebar-box > ul {
  padding-left: 0
}

@media (min-width: 992px) {
  .sidebar-wrapper {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
}

fieldset {
  min-width: 0
}

header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  font-weight: 400;
  background: #fff;
}

pre{
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.428571429;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow-x: auto;
  overflow-y: auto;
  max-width: 500px
}

/* Site title */

.site-title a {
  color: #fff;
  font-size: 55px
}

.no-header-image .site-title a,
.no-header-image .site-description {
  color: #333
}

@media (max-width: 991.98px) {
  .site-title a {
    font-size: 48px
  }
}

/*Site Description */

.site-description {
  color: #fff;
  margin-top: .75em;
  margin-bottom: 1.5em
}

/* Mobile menu */

.menu-toggle {
  width: 3.9rem;
  cursor: pointer;
  display: block;
  position: absolute;
  top: -68px;
  right: 10px;
  z-index: 99999;
  background-color: transparent !important;
  padding: 0 0 0 .83em
}

/* Тази заявка трябва да идва СЛЕД безусловното правило по-горе, за да
   печели на десктоп ширина - преди беше преди него, затова по-късното
   "display: block" винаги го надвиваше и бутонът се виждаше навсякъде. */
@media (min-width: 65.063em) {
  .menu-toggle {
    display: none
  }
}

/* Target Chrome */
.menu-toggle:focus:not(*:root) {
    outline: 1px dotted #d3d3d3
}

.menu-toggle div {
  background-color: var(--ov-header-text);
  margin: 0.43rem .86rem 0.43rem 0;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .15s ease-in-out;
  transition: .15s ease-in-out;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  height: 0.32rem
}

.menu-toggle.open div:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.menu-toggle.open div:nth-child(2) {
  width: 0%;
  opacity: 0
}

.menu-toggle.open div:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

/* Main Navigation */

.main-navigation-container {
  width: 100%
}

@media (max-width: 65.063em) {
  .main-navigation-container {
    float: none;
    clear: both;
    z-index: 1;
    position: relative
  }
}

.main-navigation {
  display: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  position: relative
}

@media (min-width: 65.063em) {
  .main-navigation {
    display: table;
    margin: 0 auto
  }
}

.main-navigation.open {
  display: block;
  background-color: var(--ov-header-bg)
}

.main-navigation.open:before,
.main-navigation.open:after {
  content: " ";
  display: table
}

.main-navigation.open:after {
  clear: both
}

@media (min-width: 65.063em) {
  .main-navigation.open {
    background-color: transparent
  }
}

.main-navigation .menu-item-has-children {
  position: relative
}

.main-navigation ul {
  list-style: none;
  margin: 0
}

.main-navigation > ul {
  padding-left: 0
}

@media (max-width: 40em) {
  .main-navigation ul .open>.sub-menu {
    display: block
  }
}

.main-navigation ul ul {
  z-index: 99999;
  background-color: var(--ov-header-bg);
  border-radius: 6px;
  overflow: hidden;
}

@media (max-width: 40em) {
  .main-navigation ul ul {
    display: none
  }
}

.main-navigation.open ul ul {
  display: block
}

@media (min-width: 65.063em) {
  .main-navigation ul ul {
    position: absolute;
    left: -999em;
    -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12)
  }

  .main-navigation ul ul ul {
    left: -999em;
    top: 0
  }

  /* Keyboard navigation */
  .main-navigation ul ul li:hover>ul,
  .main-navigation ul ul li.focus>ul,
  .main-navigation ul ul li.highlight>ul {
    left: 100%
  }

  .main-navigation ul ul a {
    width: 200px;
    padding: .85em 1em;
    font-size: .875em;
    line-height: 1.3;
  }

  .main-navigation ul ul ul a {
    width: 180px
  }
}

/* Main navigation padding */

.main-navigation ul {
  padding: 0
}

@media (max-width: 65.062em){
  .main-navigation li li {
    text-indent: 1.25rem
  }

  .main-navigation li li li {
    text-indent: 2.5rem
  }
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul,
.main-navigation ul li.highlight>ul {
  left: auto;
  padding: 0
}

@media (min-width: 65.063em) {
  .main-navigation li {
    position: relative;
    float: left
  }
}

.main-navigation a {
  display: block;
  padding: 1.8em 1em;
  color: var(--ov-header-text);
  border-bottom: transparent 2px solid
}

@media (max-width: 40em) {
  .main-navigation a {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
    margin-left: 0;
    margin-right: 0;
    padding-left: 1em;
    padding-right: 1em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1)
  }
}

.main-navigation a:hover,
.main-navigation a:visited:hover,
.main-navigation a:focus {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--ov-header-text)
}

/* Add arrows for menu items that has children menu items */

.main-navigation .menu-item-has-children>a::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  right: 4px;
  top: 53%;
  border-top: 4px solid var(--ov-header-text);
  border-left: 4px solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: none
}

.main-navigation .sub-menu .menu-item-has-children>a::after {
  top: 50%;
  right: 10px;
  border-top: 4px solid transparent;
  border-left: 4px solid var(--ov-header-text);
  border-bottom: 4px solid transparent
}

@media (min-width: 65.063em) {

  .main-navigation .menu-item-has-children>a::after,
  .main-navigation .sub-menu .menu-item-has-children>a::after {
    display: inline
  }
}

.site-header-wrapper {
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .1)
}

/* Clear Fix */

.navigation:before,
.site-header-wrapper:before,
.site-content:before,
.featured-content,
.navigation:after,
.site-header-wrapper:after{
  content: " ";
  display: table;
  clear: both
}

@media (min-width: 600px) and (max-width: 992px) {
  .site-section {
    display: inline-block;
    width: 100%
  }
}

/* Header Image */

.site-branding {
  text-align: center
}

.hero-text {
  position: absolute;
  bottom: 1em;
  right: 0;
  left: 0
}

@media (max-width:520px) {
  .hero-text .site-title a {
    font-size: 35px
  }
}

/* Post loop */

.hentry {
  background-color: var(--ov-surface)
}

@media (min-width: 40.063em) {
  .hentry {
    margin: 0 0 1.5em;
    padding: 2.5em 3.375em;
    width: 100%
  }

  article, aside, details, figcaption, figure, footer, 
  header, main, menu, nav, section, summary {
    display: block
  }
}

@media (max-width: 40.062em) {
  .hentry {
    margin: 0 0 1.5em;
    padding: 2em 1.075em
  }
}

.post-thumbnail {
  margin-bottom: 20px
}

.post-thumbnail img {
  height: auto;
}

.post .entry-title {
  padding-bottom: 0 !important
}

/* Style post meta */

.entry-meta .posted-date::before {
  content: '\f508';
  top: 4px
}

.entry-meta .comments-number::before {
  content: '\f101'
}

.entry-meta .cat-links::before {
  content: '\f318'
}

.entry-meta .tags-links::before {
  content: '\f323'
}

.entry-meta.taxonomies span {
  display: block
}

.entry-meta.posted-on {
  padding-bottom: 10px
}

.entry-meta .posted-date::before,
.entry-meta .comments-number::before,
.entry-meta .cat-links::before,
.entry-meta .tags-links::before {
  position: relative;
  top: 3px;
  font-family: 'dashicons';
  font-size: 18px;
  padding-right: 2px
}

.entry-header,
.entry-footer {
  font-size: .85em
}

button,
button:hover,
button:active,
button:focus,
a.button,
a.button:hover,
a.button:active,
a.button:focus,
a.button:visited,
a.button:visited:hover,
a.button:visited:active,
a.button:visited:focus,
input[type="button"],
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"],
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"],
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
.wp-block-button__link {
  color: var(--ov-button-text)
}

button,
a.button,
a.button:visited,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link {
  display: inline-block;
  border: none;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  color: var(--ov-button-text);
  font-weight: 700;
  line-height: 1;
  margin-bottom: .5em;
  padding: .75em 1.25em;
  white-space: nowrap
}

button:hover,
a.button:hover,
a.button:visited,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
  cursor: pointer;
  opacity: .9
}

button, a.button, a.button:visited, input[type="button"], input[type="reset"], input[type="submit"], .wp-block-button__link {
  background-color: var(--ov-button);
}

/* Sidebar */

.sidebar-box {
  margin: 0 0 1.5em;
  padding: 1.675em 1.675em
}

.site-section {
  padding: 2em 0;
  position: relative;
  z-index: 0
}

.hvac-empty-state {
  text-align: center;
  font-size: 1.3em;
  font-weight: 700;
}

@media (max-width: 390px){
  .sidebar-box .search-form{
    font-size: .825em
  }
}

/* Homepage */

.post-title {
  margin-bottom: 1.5rem;
  padding-left: 15px
}

.post-title p {
  margin: 0
}

.home .search-form .form-group #s,
.site-footer .search-form .form-group #s {
  margin-top: -30px
}

img {
  max-width: 100%;
  height: auto
}

@media (max-width: 991.98px) {
  .sidebar {
    padding-left: 15px
  }
}

.sidebar-box {
  font-size: 15px;
  width: 100%;
  float: left;
  background: var(--ov-surface)
}

.recentcomments {
  padding-bottom: 15px
}

.sidebar-box *:last-child {
  margin-bottom: 0
}

.sidebar-box .heading {
  font-size: 18px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ov-line)
}

.site-footer section > ul, .site-footer section div > ul {
  padding-left: 0em
}

.heading {
  color: var(--ov-heading)
}

/* Comments */

form#commentform,
.comment-body {
  background-color: var(--ov-surface) !important
}

.comment-content {
  width: 100%;
  max-width: 1100px
}

.search-form label{
  width: 65%;
}

.site-footer .search-form label{
  width: 55%;
}

.search-form input[type="search"]{
  width: 100%;
}

.search-form, .search-form input[type="submit"]{
  font-size: 15px;
}

.search-field ~ button {
  padding: .3em .7em;
}

.comment-content {
  font-size: 15px;
  padding-top: 1rem
}

.comment-content p {
  font-size: 17px
}

#commentform, .comment-body {
  padding: 1.25rem
}

@media (min-width: 992px){
  #commentform, .comment-body {
    padding: 3rem
  }
}

#commentform label {
  display: block
}

@media (max-width: 448px) {
  #commentform input {
    width: 100%
  }
}

.comment-form-wrap {
  clear: both
}

.comment-list {
  padding: 0;
  margin: 0
}

.comment-list .children {
  padding: 50px 0 0 40px;
  margin: 0;
  float: left;
  width: 100%
}

.comment-list li {
  padding: 0;
  margin: 0 0 30px 0;
  float: left;
  width: 100%;
  clear: both;
  list-style: none
}

.comment-list li .vcard img {
  border-radius: 50%;
  margin-right: 5px;
  margin-bottom: 5px;
  padding: 2px
}

.comment-list li .comment-body h3 {
  font-size: 20px
}

.comment-list li .comment-body .meta {
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: .1em;
  color: #ccc
}

.comment-body {
  background: #f8f9fa;
  font-size: .9em
}

.comment-list li .comment-body .reply {
  text-transform: uppercase;
  font-size: 12px
}

.comment-list li .comment-body .reply:hover {
  color: #000
}

.search-form .form-group {
  position: relative
}

.search-form .form-group #s {
  padding-right: 50px;
  background: #f7f7f7;
  padding: 15px 15px;
  border: none
}

.page-item.active .page-link {

  z-index: 1;
  color: var(--ov-button-text);
  background-color: var(--ov-button);
  border-color: var(--ov-button)

}

/* Submit forms */
html,
body {
  height: 100%
}

@media (min-width: 992px) {
  .submit-form {
    width: 100%;
    max-width: 25%;
    padding-top: 15px;
    padding-bottom: 15px;
    margin: auto
  }
}

.submit-form .checkbox {
  font-weight: 400
}

.submit-form .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 10px;
  font-size: 16px
}

.submit-form .form-control:focus {
  z-index: 2
}

.submit-form input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0
}

.submit-form input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0
}

/* Submit button*/
button, input, optgroup, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

input:focus, textarea:focus {
  border: 1px dotted
}

.form-control {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none !important;
  border-radius: 0
}

textarea.form-control {
  height: inherit
}

.post .wp-post-image {
  max-width: 100%;
  max-height: 100%;
  height: auto
}

.page .wp-post-image {
  padding-bottom: 15px
}

.post-meta {
  padding: 30px 0 0;
  text-align: left
}

.post .entry-title {
  padding-bottom: 10px
}

@media (max-width: 991px){
  .main-content{
    padding-bottom: 1.5em
  }
}

@media (min-width: 992px) {
  .main-content {
    -ms-flex: 0 0 66.667%;
    flex: 0 0 66.667%;
    max-width: 66.667%
  }
}

.main-content {
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

/* Sidebar */

.no-sidebar .main-content {
  flex: 1;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.no-sidebar .container {
  max-width: 1180px;
}

@media (min-width: 992px) {
  .main-content.main-content-full {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* HVAC-CRM порталите (клиент/техник/приемчик) - максимална широчина на
   устройството на таблет/лаптоп, вместо стандартния таван по-горе
   (980/1140/1360px). Скоупнато само с body клас "hvac-wide-portal"
   (nikterm_theme_add_hvac_portal_body_class() в functions.php) - засяга
   само тези 2 конкретни страници, останалият сайт (вкл. другите
   Full-width страници) остава непроменен. По-висока специфичност от
   body .container/.no-sidebar .container, печели независимо от реда. */
@media (min-width: 768px) {
  /* Скоупнато с #content (page.php/page-no-banner.php), за да НЕ засегне
     .hvac-page-banner .container (банерът е извън #content, в
     header.php) - иначе банерът на тези 2 страници губи центрирането си
     и breadcrumb+заглавието залепват в левия ръб. */
  body.hvac-wide-portal #content .container {
    max-width: 100%;
  }
  /* .container не е единственото ниво, което ограничава ширината -
     page.php слага съдържанието в .container > .row.blog-entries >
     .main-content > .row (два отделни елемента с клас "row", всеки с
     общия .row { max-width:1100px } таван) - без тази стъпка контейнерът
     се разширява, но реалното съдържание остава стиснато в 1100px, като
     оставя грозно голямо празно място отдясно. Скоупнато с #content, за
     да НЕ засегне .row.mb-5 във футъра (footer.php), който е извън тази
     секция и остава с обичайната си ширина навсякъде. */
  body.hvac-wide-portal #content .row {
    max-width: 100%;
  }
}

aside .wp-post-image, .default-image {
  width: 100px;
  min-height: 80px;
  object-fit: scale-down;
  margin-right: 5px
}

section[id*="recent-posts"] ul, section[id*="recent-comments"] ul {
  padding: 0
}

section[id*="recent-posts"] li {
  position: relative;
  list-style: none;
  padding: 7px 0;
  line-height: 1.4
}

aside li {
  list-style: none
}

section[id*="recent-comments"] li {
  padding: 7px 0
}

.fa-search::before {
  content: "\f002";
  color: rgb(108, 117, 125)
}

/* Single post Comments */

.comment-reply-link {
  background-color: rgb(227, 227, 227);
  padding: 5px 10px
}

/* Footer */

.site-footer {
  display: table;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background: var(--ov-footer-bg);
  color: var(--ov-footer-text)
}

.site-footer .form-group {
  background: var(--ov-footer-bg)
}

.site-footer a:hover {
  color: #fafafa
}

.site-footer .post-entry-sidebar ul li a h4 {
  color: #fff
}

.site-footer .footer-social li a>span {
  width: 30px
}

.site-footer a {
  color: #fff
}

.site-footer a:hover {
  opacity: .5
}

.site-footer h3,
.site-footer h2 {
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .2em
}

@media screen and (min-width: 400px){
  .footer-meta {
    margin-left: 15px;
    margin-right: -15px;
  }
}

.site-footer p {
  color: var(--ov-footer-muted);
  font-size: 14px
}

.site-footer ul>li a {
  font-size: .8em
}

.footer-credits {
  text-align: center;
  font-size: 16px;
  color: var(--ov-footer-muted)
}

.footer-meta {
  color: var(--ov-footer-muted);
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  padding-top: 3em
}

@media screen and (max-width: 993px) {
  .widget-column section {
    padding: 15px
  }
}

.site-footer .widget-column {
  padding-top: 1em
}

@media (min-width: 994px) {
  .site-footer .widget-column {
    padding: 0 15px 0
  }
  .site-footer .widget-column section {
    padding-top: 3em
  }
}

.site-footer a:hover {
  color: #fafafa !important
}

/* Pagination */
.navigation {
  margin: 1em 0;
  width: 100%
}

.navigation .page-numbers
.navigation .page-numbers:hover,
.navigation .page-numbers.current {
  text-decoration: none
}

.navigation .page-numbers {
  display: inline-block
}

.navigation .page-numbers {
  font-size: 14px
}

.navigation .page-numbers, .navigation .page-numbers:hover,
.navigation .page-numbers.current {
  display: inline-block;
  background-color: var(--ov-surface);
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  border: 1px solid rgba(0,0,0,0.1);
  margin-right: 2px;
  margin-bottom: 5px;
  font-size: .888em;
}

.navigation .page-numbers:hover,
.navigation .page-numbers.current {
  background-color: var(--ov-button);
  color: var(--ov-button-text);
  text-decoration: none
}

@media (max-width: 420px) {
  .navigation .page-numbers, .navigation .page-numbers:hover,
  .navigation .page-numbers.current {
    font-size: 14px;
    width: 30px;
    height: 30px;
    line-height: 28px;
    margin-right: 0
  }
}

/* ==========================================================================
   Header/Footer layout
   ========================================================================== */

/* Горна контактна лента */

/* Фиксирано меню - в началото прозрачно (върху снимката отдолу) със
   синя контактна лента отгоре, при скрол лентата се скрива и менюто
   става плътно бяло (assets/js/sticky-header.js превключва .is-scrolled). */

.site-header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

/* page-clean-no-banner.php има нито банер, нито собствен hero (за
   разлика от page-about.php) - съдържанието му е първият елемент в
   потока и без този отстъп се скрива зад плаващия хедър. */
.hvac-clean-no-banner {
  padding-top: 160px;
}
@media (max-width: 767px) {
  .hvac-clean-no-banner {
    padding-top: 120px;
  }
}

body.admin-bar .site-header-fixed {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .site-header-fixed {
    top: 46px;
  }
}

.top-contact-bar {
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
  font-size: .8125em;
  max-height: 3em;
  overflow: hidden;
  transition: max-height .3s ease, opacity .3s ease;
}

.site-header-fixed.is-scrolled .top-contact-bar {
  max-height: 0;
  opacity: 0;
}

.top-contact-bar-inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: .5em 1.25em;
  display: flex;
  align-items: center;
  gap: 1.5em;
  flex-wrap: wrap;
}

.top-contact-item,
.top-contact-item:visited {
  color: var(--ov-accent-text);
  display: inline-flex;
  align-items: center;
  gap: .3em;
  text-decoration: none;
}

.top-contact-item:hover {
  color: var(--ov-accent-soft);
}

.top-contact-hours {
  margin-left: auto;
}

.top-contact-social,
.top-contact-social:visited {
  color: var(--ov-accent-text);
  text-decoration: none;
  display: inline-flex;
}

@media (max-width: 65.063em) {
  .top-contact-hours {
    display: none;
  }
}

/* Главна навигация - flex layout, sticky */

.site-header {
  background-color: transparent;
  transition: background-color .3s ease, box-shadow .3s ease;
}

.site-header-fixed.is-scrolled .site-header {
  background-color: var(--ov-header-bg);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
}

.site-header-fixed:not(.is-scrolled) .site-header-wrapper {
  box-shadow: none;
}

@media (min-width: 65.063em) {
  .site-header-fixed:not(.is-scrolled) .main-navigation .menu-primary-container > li > a {
    color: #fff;
  }

  .site-header-fixed:not(.is-scrolled) .main-navigation .menu-primary-container > li > a:hover,
  .site-header-fixed:not(.is-scrolled) .main-navigation .menu-primary-container > li > a:focus {
    color: #fff;
    background-color: rgba(255, 255, 255, .15);
  }
}

.header-cta {
  margin-left: 1em;
  white-space: nowrap;
}

.site-header-wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: .5em 1.25em;
  max-width: 1360px;
  margin: 0 auto;
}

.site-logo-wrapper {
  margin-right: 1.5em;
}

.main-navigation-container {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

@media (min-width: 65.063em) {
  .main-navigation-container {
    width: auto;
  }
}

@media (max-width: 65.063em) {
  /* На телефон бутонът стои на реда на логото, вляво от бургера (който е
     absolute на същия ред) - иначе пада на отделен ред под него.
     Родителят в селектора е нужен: a.button (елемент + клас) тежи повече
     от .header-cta сам. */
  .main-navigation-container .header-cta {
    position: absolute;
    top: -62px;
    right: 80px;
    z-index: 2;
    margin: 0;
    padding: .45em .9em;
    font-size: .9em;
  }

  /* Дългият етикет „Запазете час сега“ (когато плъгинът не е активен и
     бутонът не е „Вход“) влиза върху логото на 360–412 px - на телефон се
     показва краткият „Запази час“. */
  .header-cta-full {
    display: none;
  }
}

/* Най-тесните телефони (до 380 px): дори краткият етикет опира в логото -
   бутонът още малко по-дребен, логото малко по-малко. */
@media (max-width: 23.75em) {
  .main-navigation-container .header-cta {
    font-size: .8em;
    padding: .35em .6em;
    right: 70px;
  }

  .custom-logo {
    max-width: 84px;
    height: auto;
  }
}

@media (min-width: 65.064em) {
  .header-cta-short {
    display: none;
  }
}

/* Мобилно меню - off-canvas панел, чрез CSS върху съществуващия
   .open toggle (assets/js/navigation.js, непроменен). */

@media (max-width: 65.063em) {
  .main-navigation {
    display: block;
    position: fixed;
    top: 0;
    right: -320px;
    width: 300px;
    max-width: 85vw;
    height: 100vh;
    overflow-y: auto;
    background-color: var(--ov-header-bg);
    border-top: none;
    box-shadow: -2px 0 12px rgba(0, 0, 0, .2);
    transition: right .3s ease;
    z-index: 100000;
    padding: 4em 1.5em 2em;
  }

  .main-navigation.open {
    right: 0;
  }

  /* Overlay-ят е на .menu-toggle, не на .main-navigation - последният има
     overflow-y:auto, което изрязва fixed-позициониран потомък до
     собствената си 300px кутия. */
  .menu-toggle.open::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, .5);
    z-index: 99998;
  }
}

/* Footer - 4 колони */

.site-footer {
  background-color: var(--ov-footer-bg);
  color: var(--ov-footer-text);
}

.site-footer .footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em;
  width: 100%;
  padding: 3em 0 2em;
}

@media (max-width: 65.063em) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 40em) {
  .site-footer .footer-grid {
    grid-template-columns: 1fr;
  }
}

.site-footer .widget-title {
  color: #fff;
  font-size: 1.1em;
  margin-bottom: 1em;
}

.site-footer .footer-col-about .footer-logo {
  display: inline-block;
  position: relative;
  min-height: 60px;
  margin-bottom: 1em;
}

.site-footer .footer-col-about .footer-logo .custom-logo {
  position: static;
  height: 60px;
  padding: 0;
}

.site-footer .footer-col-about p {
  color: var(--ov-footer-muted);
  font-size: .9375em;
}

.site-footer .footer-social {
  color: #fff;
  font-size: 1.25em;
  display: inline-flex;
}

.site-footer .footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .footer-menu li {
  margin-bottom: .6em;
}

.site-footer .footer-menu a,
.site-footer .footer-menu a:visited {
  color: var(--ov-footer-text);
  text-decoration: none;
}

.site-footer .footer-menu a:hover {
  color: #fff;
}

.site-footer .footer-col-contact .footer-phone {
  display: block;
  color: #fff;
  font-size: 1.5em;
  font-weight: 700;
  margin-bottom: .6em;
}

.site-footer .footer-col-contact p {
  color: var(--ov-footer-muted);
  font-size: .9375em;
}

.site-footer .footer-col-contact a,
.site-footer .footer-col-contact a:visited {
  color: var(--ov-footer-text);
}

.site-footer .footer-meta {
  border-top: 1px solid rgba(255, 255, 255, .15);
  padding-top: 1.25em;
  padding-bottom: 1.25em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  row-gap: .5em;
  column-gap: 1.5em;
}

.site-footer .footer-meta-col {
  margin: 0;
}

.site-footer .footer-meta-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}

.site-footer .footer-copyright {
  color: var(--ov-footer-muted);
  margin: 0;
}

.dark-mode-switch {
  display: flex;
  align-items: center;
  gap: .6em;
}

.site-footer .dark-mode-switch-label {
  color: var(--ov-footer-text);
  font-size: .9375em;
}

/* Единен font-size за обикновения footer текст; .widget-title и
   .footer-phone остават нарочно по-едри. */
.site-footer .footer-col-about p,
.site-footer .footer-menu a,
.site-footer .footer-col-contact p,
.site-footer .footer-copyright {
  font-size: .9375em;
}

/* Portfolio (nikterm-portfolio плъгин) */

.portfolio-categories {
  margin: .75em 0;
}

.portfolio-category-tag {
  display: inline-block;
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
  font-size: .8125em;
  padding: .3em .9em;
  border-radius: 999px;
  margin: 0 .5em .5em 0;
  text-decoration: none;
}

.portfolio-category-tag:hover {
  background-color: var(--ov-link-hover);
}

.portfolio-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  margin: 0 0 2em;
  padding: 1.25em 0;
  border-top: 1px solid var(--ov-line);
  border-bottom: 1px solid var(--ov-line);
}

.portfolio-fact-label {
  display: block;
  font-size: .8em;
  color: var(--ov-muted);
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-bottom: .25em;
}

.portfolio-fact-value {
  font-weight: 600;
}

/* Старото съдържание повтаря заглавието на проекта като вътрешен <h1> -
   вече излишно, .entry-title (извън .entry-content) го показва веднъж. */
.portfolio-single .entry-content h1 {
  display: none;
}

/* Галерия: portfolio-gallery.js замества суровите снимки в .entry-content
   (стар формат - един <p> с IMG/BR; нов формат - wp:gallery блок) с това
   markup - начална снимка + миниатюри + lightbox с навигация. */
.portfolio-gallery {
  margin: 0 0 2em;
}

.portfolio-gallery-main {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: none;
  cursor: zoom-in;
  margin: 0 0 .75em;
}

.portfolio-gallery-main img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.portfolio-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .5em;
}

.portfolio-gallery-thumb {
  border: 2px solid transparent;
  padding: 0;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  background: none;
  aspect-ratio: 1;
}

.portfolio-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.portfolio-gallery-thumb.is-active {
  border-color: var(--ov-link);
}

@media (max-width: 40em) {
  .portfolio-gallery-thumbs {
    grid-template-columns: repeat(4, 1fr);
  }
}

.portfolio-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .9);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.portfolio-lightbox.is-open {
  display: flex;
}

body.portfolio-lightbox-open {
  overflow: hidden;
}

.portfolio-lightbox-img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
}

.portfolio-lightbox-close,
.portfolio-lightbox-prev,
.portfolio-lightbox-next {
  position: absolute;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border: 0;
  cursor: pointer;
  font-size: 1.5em;
  line-height: 1;
  padding: .5em .75em;
  border-radius: 50%;
}

.portfolio-lightbox-close {
  top: 1em;
  right: 1em;
}

.portfolio-lightbox-prev {
  left: 1em;
  top: 50%;
  transform: translateY(-50%);
}

.portfolio-lightbox-next {
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
  margin: 2em 0;
}

@media (max-width: 65.063em) {
  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 40em) {
  .portfolio-grid {
    grid-template-columns: 1fr;
  }
}

.portfolio-card {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .1);
  transition: transform .2s ease, box-shadow .2s ease;
}

.portfolio-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .15);
  color: inherit;
}

.portfolio-card-thumbnail {
  aspect-ratio: 4 / 3;
  background-color: var(--ov-band);
}

.portfolio-card-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portfolio-card-body {
  padding: 1em 1.25em;
}

.portfolio-card-title {
  font-size: 1.1em;
  margin: 0 0 .35em;
}

.portfolio-card-location,
.portfolio-card-date {
  color: var(--ov-muted);
  font-size: .875em;
  display: flex;
  align-items: center;
  gap: .35em;
  margin: 0;
}

.portfolio-card-location + .portfolio-card-date {
  margin-top: .35em;
}

.portfolio-intro {
  max-width: 640px;
  margin: 0 auto 2em;
  text-align: center;
  font-size: 1.05em;
  color: var(--ov-muted);
}

/* ==========================================================================
   HVAC Home (page-hvac-home.php)
   ========================================================================== */

.hvac-eyebrow {
  display: inline-block;
  background-color: var(--ov-band);
  color: var(--ov-link);
  font-size: .8125em;
  font-weight: 700;
  padding: .35em 1em;
  border-radius: 999px;
  margin-bottom: 1em;
}

.hvac-section-heading {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 2.5em;
}

.hvac-section-heading h2 {
  margin-bottom: .5em;
}

/* Hero carousel (4 слайда) */

.hvac-hero {
  position: relative;
  overflow: hidden;
  min-height: 760px;
}

@media (max-width: 65.063em) {
  .hvac-hero {
    min-height: 900px;
  }
}

@media (max-width: 40em) {
  .hvac-hero {
    min-height: 820px;
  }
}

/* Всички слайдове са absolute, застъпени един над друг - .hvac-hero носи
   височината (min-height по-горе), затова смяната между слайдове е чисто
   opacity crossfade, без position/visibility скокове по средата. */
.hvac-hero-slide {
  background-size: cover;
  background-position: left top;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
  pointer-events: none;
}

.hvac-hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.hvac-hero-overlay {
  background-color: rgba(var(--ov-shade), .55);
  height: 100%;
  display: flex;
  align-items: center;
  padding: 8em 0 6em;
  box-sizing: border-box;
}

.hvac-hero-overlay > .container {
  width: 100%;
}

.hvac-hero-content {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}

.hvac-eyebrow-dark {
  background-color: rgba(255, 255, 255, .15);
  color: #fff;
}

.hvac-hero-content h1 {
  color: #fff;
  font-size: 2.25rem;
  margin-bottom: .75em;
}

.hvac-hero-trust-grid {
  margin-top: 3em;
  gap: 1.5em;
}

.hvac-hero-trust-grid .hvac-trust-icon {
  background-color: rgba(255, 255, 255, .15);
}

.hvac-hero-trust-grid .hvac-trust-item h3 {
  color: #fff;
}

.hvac-hero-trust-grid .hvac-trust-item p {
  color: rgba(255, 255, 255, .75);
}

.hvac-hero-cta {
  display: inline-block;
}

/* На телефон съдържанието на слайда (заглавие + бутон + трите блока) е
   по-високо от фиксираната височина на .hvac-hero - центрирането го
   избутваше нагоре под плаващия хедър. Активният слайд става част от
   потока и носи височината си, неактивните остават отгоре само за
   crossfade; отстъпът отгоре е за хедъра (лента с контакти + лого). */
@media (max-width: 65.063em) {
  .hvac-hero {
    min-height: 0;
  }

  .hvac-hero-slide.is-active {
    position: relative;
    height: auto;
  }

  .hvac-hero-overlay {
    height: auto;
    min-height: 100%;
    align-items: flex-start;
    padding: 180px 0 5em;
  }
}

.hvac-hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: rgba(255, 255, 255, .15);
  color: #fff;
  border: none;
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1em;
  transition: background-color .2s ease;
}

.hvac-hero-arrow:hover {
  background-color: rgba(255, 255, 255, .3);
}

.hvac-hero-prev {
  left: 1.5em;
}

.hvac-hero-next {
  right: 1.5em;
}

.hvac-hero-dots {
  position: absolute;
  bottom: 1.5em;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: .6em;
}

.hvac-hero-dot {
  width: .65em;
  height: .65em;
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, .4);
  cursor: pointer;
  padding: 0;
  transition: background-color .2s ease, transform .2s ease;
}

.hvac-hero-dot.is-active {
  background-color: #fff;
  transform: scale(1.2);
}

@media (max-width: 40em) {
  .hvac-hero-arrow {
    display: none;
  }
}

/* Trust icons */

.hvac-trust-icons {
  padding: 3em 0;
}

.hvac-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em;
}

@media (max-width: 65.063em) {
  .hvac-trust-grid {
    grid-template-columns: 1fr;
  }
}

.hvac-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 1em;
}

.hvac-trust-icon {
  flex: 0 0 auto;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  text-align: center;
  font-size: 1.5em;
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
  border-radius: 50%;
  transition: transform .25s ease;
}

.hvac-trust-item:hover .hvac-trust-icon {
  transform: scale(1.1);
}

.hvac-trust-item h3 {
  font-size: 1.05em;
  margin: 0 0 .3em;
}

.hvac-trust-item p {
  color: var(--ov-muted);
  font-size: .9375em;
  margin: 0;
}

/* Intro split */

.hvac-intro-split {
  padding: 3em 0;
}

.hvac-intro-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3em;
  align-items: stretch;
}

@media (max-width: 65.063em) {
  .hvac-intro-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-intro-image,
.hvac-intro-content {
  min-width: 0;
  width: 100%;
}

.hvac-intro-image {
  min-height: 320px;
}

.hvac-intro-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 65.063em) {
  .hvac-intro-image {
    min-height: 260px;
  }
}

/* Services */

.hvac-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
}

@media (max-width: 65.063em) {
  .hvac-services-grid {
    grid-template-columns: 1fr;
  }
}

.hvac-service-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 260px;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease;
}

.hvac-service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 24px rgba(var(--ov-shade), .25);
}

.hvac-service-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(var(--ov-shade), .75), rgba(var(--ov-shade), 0) 60%);
}

.hvac-service-card-title {
  position: relative;
  color: #fff;
  font-weight: 700;
  font-size: 1.25em;
  padding: 1.25em;
}

/* CTA banner */

.hvac-cta-banner {
  background-size: cover;
  background-position: center;
  margin: 3em 0;
}

.hvac-cta-banner-overlay {
  background-color: rgba(var(--ov-shade), .65);
  padding: 4em 0;
  text-align: center;
}

.hvac-cta-banner h2 {
  color: #fff;
  max-width: 640px;
  margin: 0 auto 1.25em;
}

/* How we work */

.hvac-steps-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5em;
}

@media (max-width: 65.063em) {
  .hvac-steps-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 40em) {
  .hvac-steps-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-step {
  position: relative;
  background-color: var(--ov-accent);
  border-radius: 8px;
  padding: 1.5em;
  text-align: center;
}

@media (min-width: 65.063em) {
  .hvac-step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -1.4em;
    width: .7em;
    height: .7em;
    border-top: 2px solid var(--ov-accent);
    border-right: 2px solid var(--ov-accent);
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
  }
}

.hvac-step-number {
  display: inline-block;
  color: rgba(255, 255, 255, .75);
  font-weight: 700;
  font-size: .8125em;
  margin-bottom: .5em;
}

.hvac-step h3 {
  font-size: 1em;
  color: var(--ov-accent-text);
  margin: 0;
}

/* Testimonials */

.hvac-testimonials .container .wp-block-group__inner-container > div:last-child {
  max-width: 720px !important;
  margin: 0 auto;
}

/* Brands */

.hvac-brands-row > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3em;
}

.hvac-brand-logo img {
  max-height: 40px;
  max-width: 170px;
  width: auto;
  transition: transform .2s ease;
}

.hvac-brand-logo:hover img {
  transform: scale(1.08);
}

/* Why us */

.hvac-why-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em 2.5em;
}

@media (max-width: 65.063em) {
  .hvac-why-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 40em) {
  .hvac-why-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-why-highlight {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  padding: 3em 2em;
  overflow: hidden;
  isolation: isolate;
}

.hvac-why-highlight::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(var(--ov-shade), .72);
  z-index: -1;
}

.hvac-why-highlight > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 2.5em;
  align-items: center;
}

@media (max-width: 65.063em) {
  .hvac-why-highlight > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-why-highlight-text .hvac-eyebrow {
  background-color: rgba(255, 255, 255, .15);
  color: #fff;
}

.hvac-why-highlight-text p,
.hvac-why-highlight-text h2,
.hvac-why-highlight-text h3 {
  color: #fff;
}

.hvac-why-highlight-photo {
  background-color: var(--ov-band);
  border-radius: 12px;
  padding: 1em 1em .75em;
  text-align: center;
  margin: 0;
}

.hvac-why-highlight-photo img {
  width: 100%;
  border-radius: 8px;
  display: block;
}

.hvac-why-highlight-photo figcaption {
  display: flex;
  flex-direction: column;
  margin-top: .75em;
}

.hvac-why-name {
  font-weight: 700;
  color: var(--ov-heading);
}

.hvac-why-title {
  color: var(--ov-muted);
  font-size: .875em;
}

/* FAQ */

.hvac-faq-layout > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: .8fr 1fr;
  gap: 3em;
  align-items: center;
}

@media (max-width: 65.063em) {
  .hvac-faq-layout > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-faq-image {
  position: relative;
  min-height: 360px;
  border-radius: 12px;
  overflow: hidden;
}

.hvac-faq-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hvac-faq-image-icon {
  position: absolute;
  top: 1.25em;
  left: 1.25em;
  width: 3em;
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(var(--ov-shade), .3);
}

.hvac-faq-list {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.hvac-faq-item {
  background-color: var(--ov-band);
  border-radius: 8px;
  padding: 1.1em 1.5em;
}

.hvac-faq-item summary {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
  position: relative;
  padding-right: 2em;
}

.hvac-faq-item summary::-webkit-details-marker {
  display: none;
}

.hvac-faq-item summary::after {
  content: '';
  position: absolute;
  top: .35em;
  right: 0;
  width: .6em;
  height: .6em;
  border-right: 2px solid var(--ov-link);
  border-bottom: 2px solid var(--ov-link);
  transform: rotate(45deg);
  transition: transform .2s ease;
}

.hvac-faq-item[open] summary::after {
  transform: rotate(-135deg);
}

.hvac-faq-item p {
  margin: .75em 0 0;
  color: var(--ov-muted);
}

/* Stats - "Нашата специализация" */

.hvac-stats-layout > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 3em;
  align-items: center;
}

@media (max-width: 65.063em) {
  .hvac-stats-layout > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5em;
}

@media (max-width: 40em) {
  .hvac-stats-grid {
    grid-template-columns: 1fr;
  }
}

.hvac-stat-box {
  background-color: var(--ov-band);
  border-radius: 12px;
  padding: 2em 1.5em;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hvac-stat-image {
  border-radius: 12px;
  overflow: hidden;
  min-height: 140px;
}

.hvac-stat-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hvac-stat-box-primary {
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
}

.hvac-stat-number {
  font-size: 2.75em;
  font-weight: 700;
  line-height: 1;
}

.hvac-stat-suffix {
  font-size: 1.75em;
  font-weight: 700;
}

.hvac-stat-box p {
  margin: .5em 0 0;
}

.hvac-stat-box:not(.hvac-stat-box-primary) p {
  color: var(--ov-muted);
}

/* Blog - последна публикация */

.hvac-latest-post {
  display: block;
  max-width: 640px;
  margin: 0 auto;
  background-color: var(--ov-surface);
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 20px rgba(var(--ov-shade), .1);
  transition: transform .3s ease, box-shadow .3s ease;
}

.hvac-latest-post:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(var(--ov-shade), .18);
}

.hvac-latest-post-image img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.hvac-latest-post-content {
  padding: 1.75em;
}

.hvac-latest-post-category {
  display: inline-block;
  color: var(--ov-link);
  font-weight: 700;
  font-size: .75em;
  letter-spacing: .04em;
  margin-bottom: .5em;
}

.hvac-latest-post-content h3 {
  margin: 0 0 .5em;
}

.hvac-latest-post-content p {
  color: var(--ov-muted);
  margin: 0 0 1em;
}

.hvac-latest-post-link {
  color: var(--ov-link);
  font-weight: 700;
}

/* Page banner - вътрешни страници (template-parts/header/site-branding.php) */

.hvac-page-banner {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 9em 0 3em;
  overflow: hidden;
  isolation: isolate;
}

.hvac-page-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--ov-banner-tint);
  z-index: -1;
}

.hvac-page-banner-breadcrumb {
  color: rgba(255, 255, 255, .7);
  font-size: .875em;
  margin-bottom: .5em;
}

.hvac-page-banner-breadcrumb a {
  color: rgba(255, 255, 255, .9);
}

.hvac-page-banner-breadcrumb a:hover {
  color: #fff;
}

.hvac-page-banner-title {
  color: #fff;
  margin: 0;
}

@media (max-width: 40em) {
  .hvac-page-banner {
    padding: 8em 0 2.5em;
  }
}

/* About Us - custom hero (по-голям от общия .hvac-page-banner, само за
   тази страница - виж template-parts/about/hero.php) */

.hvac-about-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  isolation: isolate;
}

.hvac-about-hero-overlay {
  background-color: rgba(var(--ov-shade), .6);
  padding: 10em 0 5em;
}

.hvac-about-hero h1 {
  color: #fff;
  margin: .25em 0;
}

.hvac-about-hero-breadcrumb,
.hvac-about-hero-breadcrumb a {
  color: rgba(255, 255, 255, .8);
  font-size: .875em;
}

.hvac-about-hero-breadcrumb a:hover {
  color: #fff;
}

.hvac-about-hero-badge {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  width: 3.5em;
  height: 3.5em;
  border-radius: 50%;
  background-color: var(--ov-accent);
  border: 4px solid #fff;
  color: var(--ov-accent-text);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

@media (max-width: 40em) {
  .hvac-about-hero-overlay {
    padding: 8em 0 4em;
  }
}

/* About Us - екип */

.hvac-team-section {
  background-color: var(--ov-accent);
  border-radius: 12px;
  padding: 4em 1.5em;
  text-align: center;
  margin: 5em 0 3em;
}

.hvac-team-section .hvac-eyebrow {
  background-color: rgba(255, 255, 255, .15);
  color: #fff;
}

.hvac-team-section h2 {
  color: #fff;
  margin-bottom: 2em;
}

.hvac-team-card {
  max-width: 220px;
  margin: 0 auto;
}

/* Детайлна страница на услуга (Инсталация/Поддръжка/Ремонт/Зона на
   обслужване) - 3 колони: sticky таб-навигация, текст, галерия снимки. */

.hvac-service-layout > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 220px 1fr 340px;
  gap: 2.5em;
  align-items: start;
}

@media (max-width: 65.063em) {
  .hvac-service-layout > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

/* Страници услуги без галерия снимки (напр. Поддръжка) - 2 колони. */
.hvac-service-layout-no-gallery > .wp-block-group__inner-container {
  grid-template-columns: 220px 1fr;
}

/* Номериран списък проблеми (напр. "Ремонт" - "Срещнахте ли някой от
   проблемите по-долу:"). */
.hvac-problem-list {
  list-style: none;
  margin: 1.5em 0;
  padding: 0;
  counter-reset: hvac-problem;
}

.hvac-problem-list li {
  counter-increment: hvac-problem;
  display: flex;
  align-items: center;
  gap: .75em;
  padding: .6em 0;
}

.hvac-problem-list li::before {
  content: counter(hvac-problem);
  flex: 0 0 auto;
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  background-color: var(--ov-band);
  color: var(--ov-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .875em;
}

/* "Зона на обслужване" - мрежа от линкове към Google Maps (по региони),
   без таб-навигацията/trailer-а на другите 3 страници услуги - тази
   страница има съвсем различна структура. */
.hvac-area-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5em;
  margin: 1em 0 3em;
}

@media (max-width: 65.063em) {
  .hvac-area-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 40em) {
  .hvac-area-grid {
    grid-template-columns: 1fr;
  }
}

.hvac-area-item {
  display: flex;
  align-items: center;
  gap: 1em;
  padding: 1.5em 1.75em;
  border: 1px solid var(--ov-line);
  border-radius: 8px;
  color: var(--ov-heading);
  font-weight: 700;
  font-size: 1.125em;
  text-decoration: none;
}

.hvac-area-item:hover {
  border-color: var(--ov-link);
}

.hvac-area-item-icon {
  flex: 0 0 auto;
  display: flex;
}

.hvac-area-item-icon svg {
  width: 2em;
  height: 2em;
  color: var(--ov-link);
}

/* .hvac-service-tabs е самото <ul> на wp_nav_menu() (Appearance > Menus >
   "Странична лента - Услуги", `service-sidebar` в functions.php) - виж
   highstarter_hvac_service_tabs() за fallback-а, ако меню все още не е
   присвоено на тази позиция. */
.hvac-service-tabs {
  position: sticky;
  top: 6.5em;
  display: flex;
  flex-direction: column;
  gap: .75em;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 65.063em) {
  .hvac-service-tabs {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.hvac-service-tabs li {
  margin: 0;
}

.hvac-service-tabs a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5em;
  background-color: var(--ov-band);
  color: var(--ov-heading);
  font-weight: 700;
  padding: 1em 1.25em;
  border-radius: 8px;
  text-decoration: none;
}

.hvac-service-tabs a:hover {
  background-color: var(--ov-band-hover);
}

.hvac-service-tabs li.current-menu-item > a,
.hvac-service-tabs li.current_page_item > a {
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
}

.hvac-service-tabs li.current-menu-item > a::after,
.hvac-service-tabs li.current_page_item > a::after {
  content: '\2192';
}

.hvac-highlight {
  color: var(--ov-highlight);
}

.hvac-service-gallery {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.hvac-service-gallery img {
  width: 100%;
  border-radius: 12px;
  display: block;
}

/* Контакт - форма (ляво) + инфо колона със снимка на офиса (дясно). */

.hvac-contact-layout > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 3em;
  align-items: start;
}

@media (max-width: 65.063em) {
  .hvac-contact-layout > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

.hvac-contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.25em;
  margin-top: 1.5em;
}

.hvac-contact-field {
  margin: 0;
}

.hvac-contact-field label {
  display: block;
  font-weight: 700;
  margin-bottom: .4em;
}

.hvac-contact-field input,
.hvac-contact-field textarea {
  width: 100%;
  padding: .85em 1em;
  border: 1px solid var(--ov-line);
  border-radius: 8px;
  background-color: var(--ov-band);
  font-family: inherit;
  font-size: 1em;
  box-sizing: border-box;
}

.hvac-contact-field textarea {
  resize: vertical;
}

.hvac-contact-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.hvac-contact-form .button {
  align-self: flex-start;
  border: none;
  cursor: pointer;
}

.hvac-contact-feedback {
  padding: 1em 1.25em;
  border-radius: 8px;
  font-weight: 700;
}

.hvac-contact-feedback.is-success {
  background-color: #e7f5ec;
  color: #1c7c3f;
}

.hvac-contact-feedback.is-error {
  background-color: #fbe9e9;
  color: #b3261e;
}

/* Заместители на HVAC CRM шорткодовете, когато плъгинът не е активен (inc/hvac-fallbacks.php) */

.hvac-fallback-notice {
  max-width: 40em;
  margin: 2em auto;
  padding: 1.5em 1.75em;
  border: 1px solid var(--ov-line);
  border-radius: 8px;
  text-align: center;
}

.hvac-fallback-notice p {
  margin: 0 0 1em;
}

.hvac-fallback-reviews {
  text-align: center;
  font-style: italic;
}

.hvac-contact-info {
  background-color: var(--ov-band);
  border-radius: 12px;
  overflow: hidden;
}

.hvac-contact-info-image img {
  width: 100%;
  display: block;
}

.hvac-contact-info-body {
  padding: 2em;
}

.hvac-contact-info-body h3 {
  margin-top: 0;
}

.hvac-contact-info-row {
  display: flex;
  align-items: flex-start;
  gap: .75em;
  margin-top: 1.5em;
}

.hvac-contact-info-row svg {
  flex: 0 0 auto;
  color: var(--ov-link);
  margin-top: .2em;
}

.hvac-contact-info-row strong {
  display: block;
  margin-bottom: .2em;
}

.hvac-contact-info-row a,
.hvac-contact-info-row p {
  color: var(--ov-muted);
  margin: 0;
}

/* 404 страница - заглавието идва от .hvac-page-banner, тук само кратко
   съобщение + бутон + търсачка. */
.hvac-404 {
  padding: 4em 0;
  text-align: center;
}

.hvac-404-content {
  max-width: 480px;
  margin: 0 auto;
}

.hvac-404-code {
  font-size: 5em;
  font-weight: 700;
  color: var(--ov-link);
  line-height: 1;
  margin: 0 0 .25em;
}

.hvac-404-content .button {
  display: inline-block;
  margin: .5em 0 1.5em;
}

/* Express service banner */

.hvac-express-banner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 20px;
  overflow: hidden;
}

@media (max-width: 40em) {
  .hvac-express-banner {
    grid-template-columns: 1fr;
  }
}

.hvac-express-photo {
  min-height: 260px;
}

.hvac-express-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hvac-express-cta {
  background-color: var(--ov-accent);
  color: var(--ov-accent-text);
  text-align: center;
  padding: 2.5em 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hvac-express-label {
  display: inline-block;
  background-color: rgba(255, 255, 255, .15);
  border-radius: 999px;
  padding: .35em 1em;
  font-size: .8125em;
  font-weight: 700;
  margin-bottom: 1em;
}

.hvac-express-phone {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  color: var(--ov-accent-text);
  font-size: 1.75em;
  font-weight: 700;
  text-decoration: none;
}

/* "Need a technician?" box ([ovemo_need_technician]) and the card under each post */

.ovemo-cta-box {
  background-color: var(--ov-band);
  border-radius: 12px;
  padding: 1.5em;
}

.ovemo-cta-box .ovemo-cta-box-title {
  color: var(--ov-heading);
  font-size: 1.2em;
  font-weight: 700;
  margin: 0 0 .75em;
}

.ovemo-cta-box .ovemo-cta-box-row {
  margin: 0 0 .6em;
}

.ovemo-cta-box .ovemo-cta-box-row:last-child {
  margin-bottom: 0;
}

.ovemo-cta-box .ovemo-cta-box-phone,
.ovemo-cta-box .ovemo-cta-box-phone:visited {
  color: var(--ov-link);
  font-size: 1.25em;
  font-weight: 700;
}

.ovemo-cta-box .ovemo-cta-box-hours {
  color: var(--ov-muted);
}

.ovemo-cta-box .button {
  margin: .4em 0 0;
}

.ovemo-post-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1em 1.5em;
  margin: 0 0 1.5em;
  padding: 1.5em 1.75em;
  background-color: var(--ov-band);
  border-left: 4px solid var(--ov-accent);
  border-radius: 12px;
}

.ovemo-post-cta .ovemo-post-cta-text {
  margin: 0;
  color: var(--ov-heading);
  font-size: 1.15em;
  font-weight: 700;
}

.ovemo-post-cta .button {
  margin: 0;
}

/* Blog column widgets and the theme's "Latest projects" part */

.sidebar-box h2,
.sidebar-box .wp-block-heading {
  font-size: 18px;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ov-line);
}

.sidebar-box ul,
.ovemo-part .ovemo-part-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-box li,
.ovemo-part .ovemo-part-list li {
  margin: 0;
  padding: .5em 0;
  border-bottom: 1px solid var(--ov-line);
}

.sidebar-box li:first-child,
.ovemo-part .ovemo-part-list li:first-child {
  padding-top: 0;
}

.sidebar-box li:last-child,
.ovemo-part .ovemo-part-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sidebar-box ul ul {
  margin-top: .5em;
  padding-left: 1em;
}

.sidebar-box li a,
.ovemo-part-list a {
  color: var(--ov-link);
  text-decoration: none;
}

.sidebar-box li a:hover,
.sidebar-box li a:focus,
.ovemo-part-list a:hover,
.ovemo-part-list a:focus {
  color: var(--ov-link-hover);
  text-decoration: underline;
}

.sidebar-box .post-date,
.sidebar-box .wp-block-latest-posts__post-date {
  display: block;
  font-size: .85em;
  color: var(--ov-muted);
}

.ovemo-projects-list a {
  display: flex;
  align-items: center;
  gap: .75em;
}

.ovemo-projects-list .ovemo-project-thumb {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  margin: 0;
  object-fit: cover;
  border-radius: 8px;
}

.ovemo-projects-list .ovemo-project-title {
  line-height: 1.35;
}

.ovemo-part {
  margin: 0 0 1.5em;
}

.ovemo-part .ovemo-part-title {
  color: var(--ov-heading);
  font-size: 1.2em;
  font-weight: 700;
  margin: 0 0 .75em;
}

.ovemo-part-card {
  background-color: var(--ov-band);
  border-radius: 12px;
  padding: 1.5em;
}

body .sidebar-box.widget_ovemo_need_technician,
body.dark-mode main .sidebar-box.widget_ovemo_need_technician {
  padding: 0;
  background-color: transparent;
}

.sidebar-box .search-form,
.sidebar-box .wp-block-search__inside-wrapper {
  display: flex;
  gap: .5em;
  align-items: stretch;
}

.sidebar-box .search-form label {
  flex: 1 1 auto;
  width: auto;
  margin: 0;
}

.sidebar-box .search-form .search-field,
.sidebar-box .wp-block-search__input {
  width: 100%;
  padding: .55em .8em;
  border: 1px solid var(--ov-line);
  border-radius: 6px;
  background-color: var(--ov-surface);
  color: var(--ov-text);
}

.sidebar-box .search-form .search-submit,
.sidebar-box .wp-block-search__button {
  flex: 0 0 auto;
  margin: 0;
  padding: .55em 1em;
  border: 0;
  border-radius: 6px;
  background-color: var(--ov-button);
  color: var(--ov-button-text);
  cursor: pointer;
}

/* Scroll-reveal анимации (assets/js/scroll-reveal.js) - плавно изместено
   появяване на елементите в решетка (stagger), по ред на позицията. */

.hvac-steps-grid .hvac-step:nth-child(1) { transition-delay: 0s; }
.hvac-steps-grid .hvac-step:nth-child(2) { transition-delay: .2s; }
.hvac-steps-grid .hvac-step:nth-child(3) { transition-delay: .4s; }
.hvac-steps-grid .hvac-step:nth-child(4) { transition-delay: .6s; }

.hvac-brands-row .hvac-brand-logo:nth-child(1) { transition-delay: 0s; }
.hvac-brands-row .hvac-brand-logo:nth-child(2) { transition-delay: .15s; }
.hvac-brands-row .hvac-brand-logo:nth-child(3) { transition-delay: .3s; }
.hvac-brands-row .hvac-brand-logo:nth-child(4) { transition-delay: .45s; }
.hvac-brands-row .hvac-brand-logo:nth-child(5) { transition-delay: .6s; }

.reveal {
  opacity: 0;
  transition: opacity 1.3s ease, transform 1.3s ease;
}

.reveal.in-view {
  opacity: 1;
  transform: none !important;
}

.reveal-up {
  transform: translateY(28px);
}

.reveal-left {
  transform: translateX(-28px);
}

.reveal-scale {
  transform: scale(.92);
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}