/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 * Version: 0.0.3
 */
 @font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/blocksy-child/fonts/Lato-Regular.woff2') format('woff2'),
       url('/wp-content/themes/blocksy-child/fonts/Lato-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0370-03FF; /* Latin + Greek */
}

@font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/blocksy-child/fonts/Lato-Bold.woff2') format('woff2'),
       url('/wp-content/themes/blocksy-child/fonts/Lato-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0370-03FF; /* Latin + Greek */
}

body, h1, h2, h3, h4, h5, h6, label, figcaption, .wp-block-quote, .wp-block-pullquote, .ct-label, .site-title, .entry-meta, .ct-menu-badge, .entry-excerpt, .ct-post-title, .ct-breadcrumbs, .ct-header-text, .ct-product-sku, .ct-product-title, .ct-woo-card-stock, .author-box-bio, .author-box-name, .ct-contact-info, .site-description, .page-description, .mobile-menu a, .menu .ct-menu-link, .comment-reply-title, .ct-footer-copyright, .ct-language-switcher, :where(pre,code,samp,kbd), .onsale, .out-of-stock-badge, [class*=ct-woo-badge-], :is(.entry-summary,[data-products],.ct-trending-block,.ct-added-to-cart-product) .price, .ct-waitlist-message, .woocommerce-tabs .tabs, .woocommerce-tabs .ct-accordion-heading, .woocommerce-result-count, .ct-header-account-dropdown, .ct-module-title:is(p,span), .related-entry-title:is(p,span), .woocommerce-loop-product__title:is(p,span), .woocommerce-loop-category__title:is(p,span), .ct-shortcuts-bar, .ct-widget>*, .ct-dynamic-data-layer, .ct-dynamic-filter, .ct-search-results, .tutor-ratings, .tutor-meta>*, .tutor-course-details-title, .tutor-course-details-actions>a, .ct-language-switcher ul[data-placement] {
  font-family: 'Lato', sans-serif;
}

.parent-pageid-1764 h1.page-title,
.page-id-2712 h1.page-title {
  text-align: center;
  font-size: 46px;
}

.parent-pageid-1764 h2,
.page-id-2712 h2 {
  font-size: 30px;
}

.elementor .elementor-widget-container .elementor-image-gallery .gallery figure.gallery-item {
  margin-bottom: 15px;
}

.googlereviews h3 {
  text-align: center;
}

#footer #block-1 p a {
  font-size: 16px;
  color: rgb(36, 65, 124);
}

#footer .footer-phones {
  margin-bottom: 15px;
  font-size: 16px;
}

#footer .footer-phones a {
  font-size: 16px;
  color: rgb(36, 65, 124);
}

#footer [data-column="widget-area-3"] .ct-widget {
  margin-top: 0;
}

.page-template-default .ct-container-full {
  padding-top: 20px;
}

.page-template-default .page-title {
  line-height: 1.15;
}

.page-template-default .elementor-image-box-title {
  line-height: 1.2;
}

.custom-top-bar {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #ffffff;
    padding: 10px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.ct-header-trigger .ct-icon[data-type=type-3] rect:nth-child(1) {
  x: 0;
}

.ct-header-trigger .ct-icon[data-type=type-3] rect:nth-child(1), .ct-header-trigger .ct-icon[data-type=type-3] rect:nth-child(3) {
  width: 18px;
}

.ct-header-trigger svg.ct-icon[data-type] {
  width: 24px;
  height: 20px;
}

.elementor-565 .elementor-element.elementor-element-89441c2 .elementor-wrapper,
.elementor-565 .elementor-element.elementor-element-6b7295e .elementor-wrapper, 
.elementor-565 .elementor-element.elementor-element-0c5a95c .elementor-wrapper {
  --video-aspect-ratio: 0.5 !important;
}

.top-bar {
  background: #3399CC;
  position: relative;
  z-index: 50;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.elementor-1761 .elementor-element.elementor-element-561c044 .elementor-button,
.elementor-1761 .elementor-element.elementor-element-70125ef .elementor-button,
.elementor-2084 .elementor-element.elementor-element-743f6ded .elementor-button,
.elementor-2084 .elementor-element.elementor-element-755a39f .elementor-button,
.elementor-2134 .elementor-element.elementor-element-53b284c4 .elementor-button,
.elementor-2134 .elementor-element.elementor-element-b2176b2 .elementor-button,
.elementor-2217 .elementor-element.elementor-element-1df0e1da .elementor-button,
.elementor-2217 .elementor-element.elementor-element-540a13b .elementor-button,
.elementor-2228 .elementor-element.elementor-element-16b1d7f .elementor-button,
.elementor-2228 .elementor-element.elementor-element-7a4878c .elementor-button,
.elementor-2234 .elementor-element.elementor-element-c47f852 .elementor-button,
.elementor-2234 .elementor-element.elementor-element-e2f5292 .elementor-button,
.elementor-2249 .elementor-element.elementor-element-3563faf0 .elementor-button,
.elementor-2249 .elementor-element.elementor-element-07a60e2 .elementor-button,
.elementor-2240 .elementor-element.elementor-element-5f9c867e .elementor-button,
.elementor-2240 .elementor-element.elementor-element-2093910 .elementor-button,
.elementor-2257 .elementor-element.elementor-element-1af7c1bb .elementor-button,
.elementor-2257 .elementor-element.elementor-element-022b2ed .elementor-button,
.elementor-2263 .elementor-element.elementor-element-33a665c2 .elementor-button,
.elementor-2263 .elementor-element.elementor-element-bf09dc9 .elementor-button,
.elementor-4078 .elementor-element.elementor-element-765f07d5 .elementor-button,
.elementor-4078 .elementor-element.elementor-element-1bc31d1f .elementor-button {
  background-color: #3399CC !important;
}

/* Sticky behavior for top-bar */
.top-bar[data-sticky*='yes'],
.top-bar[data-sticky*='fixed'] {
  position: fixed;
  /* Place above the header */
  z-index: 60;
  top: calc(var(--admin-bar, 0px) + var(--theme-frame-size, 0px));
  left: var(--theme-frame-size, 0px);
  right: calc(var(--theme-frame-size, 0px) + var(--scrollbar-width, 0px));
  /* iOS Safari fix - prevent hiding when scrolling */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* iOS Safari specific fix for sticky top bar */
@supports (-webkit-touch-callout: none) {
  .top-bar[data-sticky*='yes'],
  .top-bar[data-sticky*='fixed'] {
    /* Add offset to prevent hiding when scrolling down in iOS Safari */
    /* Account for safe area insets (including dynamic island) and add compensation */
    /* Dynamic island devices have larger safe-area-inset-top (around 59px), so we add 10px extra */
    top: calc(var(--admin-bar, 0px) + var(--theme-frame-size, 0px) + env(safe-area-inset-top, 0px) + 10px);
  }
}

/* No transitions for instant positioning */
.top-bar-spacer {
  transition: none;
}

/* Minimal transitions for instant movement */
[data-sticky] {
  transition: box-shadow 0.05s cubic-bezier(0.455, 0.03, 0.515, 0.955),
              background-color 0.05s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/* Optional spacer element if needed */
.top-bar-spacer{display:block;height:var(--top-bar-height,0)}

/* Keep original sizes when sticky - no shrink effect */
.top-bar[data-sticky*='yes'] .ct-sticky-container {
  transition: none;
  transform: none !important;
}

.top-bar[data-sticky*='yes'] .ct-header-text .is-layout-flow {
  transition: none;
  /* Keep original padding and font size */
  padding: 15px 0 !important;
  font-size: 17px !important;
}

/* Prevent any shrink effect when sticky class is applied */
.top-bar.is-sticky .ct-sticky-container {
  transform: none !important;
}

.top-bar.is-sticky .ct-header-text .is-layout-flow {
  /* Keep original padding and font size */
  padding: 15px 0 !important;
  font-size: 17px !important;
}

.top-bar .ct-header-text .is-layout-flow {
    text-align: right;
    padding: 15px 0;
    font-weight: 700;
    font-size: 17px;
    color: #fff;
}

/* Desktop version - show by default */
.top-bar .desktop-version {
    display: block;
}

.top-bar .mobile-version {
    display: none;
}

.breadcrumbs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  font-size: 0.95rem;
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  color: #555;
}

.breadcrumbs li:not(:last-child)::after {
  content: "›";
  margin: 0 0.5rem;
  color: #999;
}

.breadcrumbs a {
  color: rgb(36, 65, 124);
  text-decoration: none;
  transition: color 0.2s ease;
}

.breadcrumbs a:hover {
  color: #004d80;
  text-decoration: underline;
}

.breadcrumbs li:last-child {
  color: #333;
  font-weight: 500;
}

#footer #block-7 p {
  margin-bottom: 6px !important;
}

.page-id-3506 h1,
.page-id-3097 h1 {
  text-align: center;
}

/* Container Styling */
.usp-section {
    padding: 25px 20px 30px;
    text-align: center;
}

.usp-section .usp-item img {
  max-width: 85px;
}

.usp-icon.icon1 {
  width: 75px; 
  height: 75px;
  display: inline-block;
  background-image: url('/wp-content/themes/blocksy-child/img/license-svgrepo-com2.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.usp-icon.icon2 {
/* Set dimensions to match your other icons */
  width: 85px; 
  height: 85px;
  display: inline-block;
  background-image: url('/wp-content/themes/blocksy-child/img/checkmark-shield-svgrepo-com.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.monades-container .usp-section h3 {
  background: none;
  padding: 0px 15px 20px;
}

/* Flexbox Setup */
.usp-container {
    display: flex;
    justify-content: center; /* Centers items horizontally */
    align-items: flex-end;
    gap: 60px; /* Space between items */
    flex-wrap: wrap; /* Allows items to stack on mobile */
    margin: 0 auto;
}

/* Individual USP Item Styling */
.usp-item {
    flex: 1; /* Makes items equal width */
    min-width: 250px; /* Prevents them from getting too small */
    max-width: 350px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Icon Styling */
.usp-icon {
    font-size: 40px; /* Size of the icons */
    color: #0056b3; /* Change this color to match your brand */
    margin-bottom: 20px;
    height: 80px; /* Fixed height for alignment */
    display: flex;
    align-items: center;
}

/* Specific styling for the logo image */
.usp-icon img {
    height: 100%;
    width: auto;
    object-fit: contain;
}

.usp-item p {
    font-size: 18px;
    font-weight: bold;
    color: #444;
    line-height: 1.4;
}

.usp-container .usp-item.item3 .usp-icon {
  display: block;
}

.parent-pageid-1764 .e-con.e-flex>.e-con-inner {
  padding-top: 0;
}

.page-id-565 .elementor-element-94880d6 .e-con.e-flex>.e-con-inner {
  align-items: flex-start;
}

.elementor-2712 .elementor-element.elementor-element-a163b13 {
  margin-bottom: 23px;
}

.post-2712 .hero-section {
  margin-bottom: 20px;
}

.page-id-2851 .elementor-widget-n-accordion .e-n-accordion-item-title-text {
  font-size: 21px;
  font-weight: bold;
}

.page-id-2851 .elementor-widget-n-accordion .e-n-accordion-item-title {
  border-top: 0 none;
  border-left: 0 none;
  border-right: 0 none;
  border-bottom: 1px solid #cdcccc;
  padding-top: 16px;
  padding-bottom: 16px;
}

.page-id-2851 .elementor-widget-n-accordion .elementor-element.e-con.e-child {
  padding-bottom: 20px;
  border: 0 none;
}

.page-id-2851 .e-n-accordion-item-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-id-2851 .e-n-accordion-item-title-icon {
  background: .3s;
  border: .3s;
  border-radius: .3s;
  box-shadow: .3s;
  transform: var(--e-transform-transition-duration,.4s);
  margin-left: auto;
  margin-right: 0;
}

.page-id-2851 .e-n-accordion-item-title-icon svg,
.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg,
.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg {
  font-size: 2rem !important;
  height: 2rem !important;
  transition: transform .2s;
  transform-origin: center center;
}

.map-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #C0CFE6;
  color: #1D5AAA;
  border-radius: 22px;
  text-decoration: none;
  font-size: 22px;
  font-weight: 600;
  transition: background 0.25s ease;
}

.map-cta:hover {
  background: #b4c3dd;
}

.page-id-2851 .e-n-accordion-item-title-icon .e-opened svg {
  transform: rotate(45deg);
}

.monades-container .e-con>.e-con-inner {
  padding: 20px 0 0;  
}

.monades-container .e-con>.e-con-inner h2 {
  margin-bottom: 3px;
}

.monades-container h3 {
  background: #dae6ff;
  padding: 7px 15px;
  border-radius: 20px;
}

.map-svg {
  width: 22px;
  height: 22px;
  vertical-align: text-bottom;
  display: inline-block;
  margin-right: 3px;
}

/* Mobile version - show on small screens */
@media (max-width: 767.98px) {
  .usp-container {
    gap: 0;
  }
  .mobile-menu .ct-menu-link {
    padding: 7px 0;
  }
  .parent-pageid-1764 h1.page-title,
  .page-id-2712 h1.page-title {
    text-align: center;
    font-size: 36px;
  }

  /* Keep original mobile padding when sticky - no shrink */
  .top-bar[data-sticky*='yes'] .ct-header-text .is-layout-flow {
    padding: 10px 0 !important;
  }

  .top-bar .desktop-version {
      display: none !important;
      pointer-events: none;       /* just in case */
  }
  
  .top-bar .mobile-version {
      display: block;
  }
  
  .top-bar .mobile-top-bar-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      text-align: left;
  }
  
  .top-bar .mobile-version .telephones {
      font-weight: 700;
      font-size: 17px;
      color: #fff;
      text-align: center;
      padding-left: 0;
  }

  ol.breadcrumbs li span {
    font-size: 13px;
  }

  .breadcrumbs li:not(:last-child)::after {
    margin: 0 0 0 3px;
  }

  .breadcrumbs {
    gap: 3px;
    font-size: 13px;
  }

  .hero-section[data-type=type-1] {
    margin-bottom: 25px;
  }
  
  .top-bar .mobile-version .maplink {
      margin-left: 0;
      padding: 5px 12px 5px 11px;
      background: #c0cfe6;
      border-radius: 60px;
      border: 1px solid #1D5AAA;
      transition: all 0.3s ease-out;
      background-size: 16px;
      background-position-x: 11px;
      font-size: 14px;
      white-space: nowrap;
  }

  .map-svg {
    vertical-align: middle;
  }
  
  /* Mobile positioning handled by JavaScript for dynamic admin bar */
  
  /* Adjust header offset for mobile */
  .top-bar .mobile-version .is-layout-flow {
      padding: 10px 0; /* Slightly reduced padding for mobile */
  }
}

/* Match site container width and side padding for top-bar */
.top-bar .ct-header > [data-column="middle"] {
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 35px;
  padding-right: 35px;
}

@media (max-width: 575.98px) {
  .top-bar .ct-header > [data-column="middle"] {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .top-bar .ct-header > [data-column="middle"] {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}

.top-bar .col-md-12 {
    text-align: right;
    padding: 15px 0;
    font-weight: 700;
    font-size: 17px;
    color: #000;
}

.top-bar a.tel {
    font-weight: 600;
    padding-left: 3px;
    font-family: arial;
    color: white;
}

.top-bar .maplink {
    margin-left: 10px;
    padding: 5px 12px 5px 11px;
    background: #c0cfe6;
    border-radius: 60px;
    border: 1px solid #1D5AAA;
    transition: all 0.3s ease-out;
    background-size: 16px;
    background-position-x: 11px;
}

.animated-submenu-block[data-submenu=right]>.sub-menu {
  left: 43px;
}