/*!
Theme Name: Hadjiyiannis Child
Theme URI: https://redwolfogilvy.cy
Description: Hadjiyiannis by Redwolf Ogilvy [MT]
Author: Redwolf Ogilvy LTD
Author URI: https://redwolfogilvy.cy
Template: hadjiyiannis
Version: 1.0.0
Text Domain: hadjiyiannis
*/

 /* Add your custom style here */



/*
#view-hover-wrapper #view-hover {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none; 
}

#view-hover-wrapper:hover #view-hover {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto; 
}
*/

/* ================================
   Hidden State (Default)
================================ */

/* Hidden State */
#view-hover-wrapper #view-hover {
    max-height: 0;
    overflow: hidden;

    opacity: 0;
    transform: translateY(30px);

    transition: 
        max-height 0.5s ease-in-out,
        opacity 0.5s ease 0.15s,
        transform 0.5s ease 0.15s;

    pointer-events: none;
}


/* Hover State */
#view-hover-wrapper:hover #view-hover {
    max-height: 300px;

    opacity: 1;
    transform: translateY(0);

    pointer-events: auto;
}



.elementor-pagination .page-numbers.current {
    color: var( --e-global-color-uicore_accent );
    border: 1px solid var( --e-global-color-uicore_accent );
    border-radius: 50px;
    padding: 5px 10px 5px 10px;
    line-height: 16px;
    display: inline-block;
    margin-top: 2px;
}







.rw-subcat-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: repeat(var(--rw-cols, 1), minmax(0, 1fr));
  gap: 10px 20px;
}
.rw-subcat-item a{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.rw-subcat-thumb{
  width:40px;
  height:40px;
  object-fit:cover;
}
.rw-subcat-count{ opacity:.7; margin-left:6px; }





li.rw-hy-mega-menu ul.dropdown-menu {
    background: transparent!important;
}



/* Force-align anchors inside nav/mega menu contexts */
.nav .rw-catmega .rw-catmega__title a{
  text-align: var(--rw-title-align, left)!important;
}

.nav .rw-catmega .rw-catmega__subcats a.rw-catmega__subcat{
  text-align: var(--rw-subcats-text-align, left)!important;
}





.plus-navigation-wrap .plus-navigation-inner .navbar-nav>li.menu-item.menu-item-has-children:hover a:before {
    border-width: 1px!important;
    width: 100%;
    bottom: 0px;
}



#view-hover .neutral-link span.elementor-icon-list-text a {
    color: inherit;
}



/*
.bg-zoom {
    overflow: hidden;
    position: relative;
}

.bg-zoom::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.6s ease;
    z-index: 0;
    pointer-events: none;
}

.bg-zoom > * {
    position: relative;
    z-index: 1;
}

.bg-zoom:hover::before {
    transform: scale(1.08);
}


*/



/* Triple class to beat Elementor's 3-class specificity; !important as safety net.
   This sets up the card as the clipping window and a dedicated zoomable layer. */
.bg-zoom.bg-zoom.bg-zoom {
  overflow: hidden !important;
  position: relative;
  background-color: #191919 !important;   /* matches the dark section behind the cards, kills the corner halo */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;    /* extra insurance against subpixel GPU bleed */
}

.bg-zoom.bg-zoom.bg-zoom::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;                 /* rounded clip on the transformed layer */
  background-image: inherit;              /* pulls the DCE-dynamic Featured Image */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  z-index: 0;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.bg-zoom.bg-zoom.bg-zoom:hover::after {
  transform: scale(1.08);
}

.bg-zoom.bg-zoom.bg-zoom::before {
  z-index: 1 !important;                  /* keep the existing gradient overlay above the image */
}

.bg-zoom.bg-zoom.bg-zoom > * {
  position: relative;
  z-index: 2;                             /* keep titles/meta above everything */
}










.zoom-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    isolation: isolate;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.zoom-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: inherit;
    background-size: inherit;
    background-position: inherit;
    background-repeat: inherit;
    transform: scale(1);
    transition: transform 0.5s ease;
    z-index: 0;
    border-radius: inherit;
}

.zoom-card:hover::before {
    transform: scale(1.08);
}

.zoom-card > * {
    position: relative;
    z-index: 1;
}



/*

#view-hover-wrapper .before-view-hover {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
  will-change: transform;
}

#view-hover-wrapper:hover .before-view-hover {
  transform: translateY(-30px);
}




.elementor-26727 .elementor-element.elementor-element-fcbab20 .dce-transforms > :first-child {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.1s;
  will-change: transform;
}

#view-hover-wrapper:hover .elementor-element-fcbab20 .dce-transforms > :first-child {
  transform: rotateZ(0deg) rotateX(0deg) rotateY(0deg) scale(1)
             translateX(144px) translateY(83px) translateZ(0px);
}


*/

/* Smooth H3 reveal without touching Elementor's DCE transform 
#view-hover-wrapper .dce-transforms {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.1s;
  will-change: transform;
}

#view-hover-wrapper:hover .dce-transforms {
  transform: translateY(-30px);
}
*/

/* Give the h3's wrapper a stacking context so the blur sits behind the text */
#view-hover-wrapper .before-view-hover {
  position: relative;
  z-index: 1;
  isolation: isolate; /* keeps the blur contained */
}

/* The gradient blur pseudo-element, hidden by default */

/*
#view-hover-wrapper .before-view-hover::before {
  content: "";
  position: absolute;
  inset: -20px -30px;           
  z-index: -1;                  
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    rgba(0, 120, 200, 0.55) 0%,
    rgba(140, 0, 200, 0.45) 50%,
    rgba(0, 200, 170, 0.40) 100%
  );
  filter: blur(24px);
  opacity: 0;
  transform: scale(0.92);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
}*/


#view-hover-wrapper .before-view-hover.news::before {
    content: "";
    position: absolute;
    inset: -140px -90px;
    z-index: -1;
    border-radius: 20px;
    background: linear-gradient(
180deg, rgb(36 36 36 / 0%) 0%, rgb(12 36 36 / 50%) 50%, rgb(36 36 36 / 40%) 85%);
    filter: blur(10px);
    opacity: 0;
    transform: scale(0.92);
    transition: opacity .35s ease, transform .35s ease;
    pointer-events: none;
}

/* Reveal on hover of the whole card wrapper */
#view-hover-wrapper:hover .before-view-hover.news::before {
  opacity: 1;
  transform: scale(1);
}



/* ================================
   PROJECTS FILTERS \u2014 Filter Everything PRO (dropdown view)
   Scope: .elementor-widget-filter-everything-filters on the Projects filter widget
================================ */
/* BEGIN hy-filters */
/* SCOPE: .elementor-widget-filter-everything-filters is generated by Elementor
   from the widget TYPE, so it cannot be lost when the page is saved in the
   editor. Do not re-scope this to a hand-added CSS class - a manual class was
   wiped by an Elementor save on 2026-07-27 and silently killed every rule. */
/* ============================================================================
   HADJIYIANNIS — Projects filters (Filter Everything PRO, Dropdown view)
   Scope: widget 4a5183b via .elementor-widget-filter-everything-filters

   DOM (verified against filter-everything-pro/src/Admin/Widgets/FiltersWidget.php):
     .wpc-filters-main-wrap.wpc-filter-set-{id}
       .wpc-filters-widget-content
         .wpc-filters-widget-containers-wrapper
           .wpc-filters-widget-top-container > .wpc-inner-widget-chips-wrapper
           .wpc-filters-scroll-container
             .wpc-filters-widget-wrapper        <-- direct parent of the filters
               .wpc-posts-found
               .wpc-filters-section.wpc-filter-layout-dropdown
                 .wpc-filter-header > .widget-title.wpc-filter-title
                 .wpc-filter-content > select.wpc-filters-widget-select

   Select2 is initialised with dropdownCssClass 'wpc-filter-everything-dropdown'
   and dropdownParent = .wpc-filters-widget-content, so the panel renders INSIDE
   the widget and is scoped with everything else. No `theme` option is passed,
   so the container class is .select2-container--default.
   ========================================================================== */

.elementor-widget-filter-everything-filters {
  --f-bg:      var(--e-global-color-74297fc, #181C1F);
  --f-border:  var(--e-global-color-2ff8ba5, #4A4E55);
  --f-value:   var(--e-global-color-80e8e70, #C7C7C7);
  --f-muted:   var(--e-global-color-uicore_body, #8F9CA7);
  --f-label:   var(--e-global-color-uicore_white, #FFFFFF);
  --f-accent:  var(--e-global-color-uicore_primary, #BE1E2D);
  --f-hover:   var(--e-global-color-uicore_accent, #FB2238);
  --f-radius:  20px;
  --f-gap:     20px;
  --f-h:       52px;
  --f-face:    var(--e-global-typography-uicore_text-font-family, "Syne"), sans-serif;
  --f-face-ui: var(--e-global-typography-uicore_primary-font-family, "Geologica"), sans-serif;
}

/* --- 1. Filters side by side --------------------------------------------
   .wpc-filters-widget-wrapper is the direct parent of .wpc-filters-section.
   Anything else that lands in there (posts-found, apply button, search)
   is forced onto its own full-width row.                                  */

.elementor-widget-filter-everything-filters .wpc-filters-widget-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--f-gap);
  align-items: end;
}

.elementor-widget-filter-everything-filters .wpc-filters-widget-wrapper > *:not(.wpc-filters-section) {
  grid-column: 1 / -1;
}

.elementor-widget-filter-everything-filters .wpc-filters-section {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

@media (max-width: 767px) {
  .elementor-widget-filter-everything-filters .wpc-filters-widget-wrapper {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* --- 2. Filter label ---------------------------------------------------- */

.elementor-widget-filter-everything-filters .wpc-filter-header {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
}

.elementor-widget-filter-everything-filters .wpc-filter-header .widget-title.wpc-filter-title {
  display: block;
  margin: 0;
  padding: 0;
  font-family: var(--f-face-ui);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--f-label);
  background: none;
  border: 0;
}

/* --- 3. Native select (pre-JS fallback, and if Select2 is ever disabled) - */

.elementor-widget-filter-everything-filters select.wpc-filters-widget-select {
  width: 100%;
  height: var(--f-h);
  padding: 0 40px 0 16px;
  font-family: var(--f-face);
  font-size: 15px;
  color: var(--f-value);
  background-color: var(--f-bg);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23C7C7C7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5L6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  border: 1px solid var(--f-border);
  border-radius: var(--f-radius);
  appearance: none;
  -webkit-appearance: none;
}

/* --- 4. Select2 closed control ------------------------------------------- */

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection {
  display: flex;
  align-items: center;
  height: var(--f-h);
  min-height: var(--f-h);
  line-height: normal;
  padding: 0 18px;
  background-color: var(--f-bg);
  border: 1px solid var(--f-border);
  border-radius: var(--f-radius);
  transition: border-color .18s ease;
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection:hover {
  border-color: var(--f-muted);
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default.select2-container--open .select2-selection--single.select2-selection {
  border-color: var(--f-accent);
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection .select2-selection__rendered {
  padding: 0;
  font-family: var(--f-face);
  font-size: 15px;
  line-height: normal;
  color: var(--f-value);
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection .select2-selection__placeholder {
  color: var(--f-muted);
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection .select2-selection__arrow {
  top: 0;
  right: 14px;
  width: 12px;
  height: var(--f-h);
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23C7C7C7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5L6 6.5l5-5'/%3E%3C/svg%3E") no-repeat center / 12px 8px;
  transition: transform .18s ease;
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection .select2-selection__arrow b {
  display: none;
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default.select2-container--open .select2-selection__arrow {
  transform: rotate(180deg);
}

.elementor-widget-filter-everything-filters .select2-container.select2-container--default .select2-selection--single.select2-selection:focus-visible {
  outline: 2px solid var(--f-accent);
  outline-offset: 2px;
}

/* --- 5. Select2 open panel (renders inside the widget) ------------------- */

.elementor-widget-filter-everything-filters .wpc-filters-widget-content .select2-dropdown.wpc-filter-everything-dropdown {
  overflow: hidden;
  background-color: var(--f-bg);
  border: 1px solid var(--f-border);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .45);
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__options {
  padding: 6px;
  max-height: 320px;
  scrollbar-width: thin;
  scrollbar-color: var(--f-border) transparent;
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__option {
  padding: 10px 12px;
  font-family: var(--f-face);
  font-size: 14px;
  line-height: 1.4;
  color: var(--f-value);
  background: transparent;
  border-radius: 8px;
}

.elementor-widget-filter-everything-filters .select2-container--default .wpc-filter-everything-dropdown .select2-results__option--highlighted[aria-selected] {
  color: #FFFFFF;
  background: rgba(190, 30, 45, .18);
}

.elementor-widget-filter-everything-filters .select2-container--default .wpc-filter-everything-dropdown .select2-results__option[aria-selected="true"] {
  color: #FFFFFF;
  background: var(--f-accent);
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-search--dropdown {
  padding: 6px;
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-search--dropdown .select2-search__field {
  padding: 9px 12px;
  font-family: var(--f-face);
  font-size: 14px;
  color: var(--f-value);
  background: var(--e-global-color-1dc505c, #14171C);
  border: 1px solid var(--f-border);
  border-radius: 8px;
  outline: none;
}

/* --- 6. Chips row (ul.wpc-filter-chips-list > li.wpc-filter-chip) -------- */

.elementor-widget-filter-everything-filters .wpc-filter-chips-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.elementor-widget-filter-everything-filters .wpc-inner-widget-chips-wrapper:not(:empty) {
  margin-bottom: 18px;
}

.elementor-widget-filter-everything-filters li.wpc-filter-chip {
  margin: 0;
  padding: 0;
  list-style: none;
}

.elementor-widget-filter-everything-filters .wpc-chip-content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  font-family: var(--f-face);
  font-size: 13px;
  line-height: 1.2;
  color: var(--f-value);
  background-color: var(--f-bg);
  border: 1px solid var(--f-border);
  border-radius: 999px;
  transition: border-color .18s ease, color .18s ease;
}

.elementor-widget-filter-everything-filters .wpc-chip-content:hover {
  color: #FFFFFF;
  border-color: var(--f-hover);
}

.elementor-widget-filter-everything-filters .wpc-chip-remove-icon {
  display: inline-flex;
  color: var(--f-muted);
  transition: color .18s ease;
}

.elementor-widget-filter-everything-filters .wpc-chip-content:hover .wpc-chip-remove-icon {
  color: var(--f-hover);
}

/* --- 7. Results count + reset ------------------------------------------- */

.elementor-widget-filter-everything-filters .wpc-posts-found {
  margin: 0 0 4px;
  font-family: var(--f-face);
  font-size: 13px;
  color: var(--f-muted);
}

.elementor-widget-filter-everything-filters .wpc-posts-found-number {
  color: var(--f-value);
  font-variant-numeric: tabular-nums;
}

.elementor-widget-filter-everything-filters .wpc-filters-reset-button {
  font-family: var(--f-face-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--f-accent);
  border-bottom: 1px solid currentColor;
  text-decoration: none;
}

.elementor-widget-filter-everything-filters .wpc-filters-reset-button:hover {
  color: var(--f-hover);
}

/* --- 8. Housekeeping ---------------------------------------------------- */

.elementor-widget-filter-everything-filters .wpc-debug-message {
  font-family: var(--f-face);
  font-size: 13px;
  color: var(--f-muted);
}

.elementor-widget-filter-everything-filters :focus-visible {
  outline: 2px solid var(--f-accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-filter-everything-filters,
  .elementor-widget-filter-everything-filters * {
    transition: none !important;
  }
}

/* --- REFINEMENTS ------------------------------------------------------
   Appended deliberately: these come last in the cascade so they win ties
   against the rules above without needing extra specificity.
   -------------------------------------------------------------------- */

/* 1. Dropdown hover + selected.
   Filter Everything forces `color: inherit !important` and
   `background-color: unset !important` on --highlighted and
   [aria-selected=true]. So: set the colour these INHERIT from on the
   results list, and match its !important only for the backgrounds. */
.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown,
.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results,
.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__options {
  color: var(--f-value);
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__option--highlighted,
.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__option--highlighted[aria-selected] {
  color: #FFFFFF !important;
  background-color: rgba(190, 30, 45, .22) !important;
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__option[aria-selected="true"],
.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__option[data-selected="true"] {
  color: #FFFFFF !important;
  background-color: rgba(190, 30, 45, .35) !important;
}

.elementor-widget-filter-everything-filters .wpc-filter-everything-dropdown .select2-results__option[aria-disabled="true"] {
  color: var(--f-muted) !important;
  background-color: transparent !important;
}

/* 2. Chips: FE already styles the <a> as the pill (1px #d8d8d8, radius 50px)
   and paints li.wpc-chip-reset-all a with #cc8181. Style that <a> instead of
   nesting a second pill inside it. */
.elementor-widget-filter-everything-filters .wpc-filter-chips-list a,
.elementor-widget-filter-everything-filters .wpc-filter-chips-list span[data-wpc-span-link],
.elementor-widget-filter-everything-filters .wpc-filter-chips-list span.wpc-apply-button-chip {
  padding: 7px 14px;
  font-family: var(--f-face);
  font-size: 13px;
  line-height: 1.2;
  color: var(--f-value);
  background-color: var(--f-bg);
  border: 1px solid var(--f-border);
  border-radius: 999px;
  transition: color .18s ease, border-color .18s ease;
}

/* clears FE's #cc8181 on the reset chip (its selector is 0,2,3; this is 0,3,2) */
.elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-chip-reset-all a,
.elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-chip-reset-all span.wpc-apply-button-chips-reset {
  color: var(--f-value);
  border-color: var(--f-border);
}

.elementor-widget-filter-everything-filters .wpc-filter-chips-list a:hover,
.elementor-widget-filter-everything-filters .wpc-filter-chips-list span[data-wpc-span-link]:hover,
.elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-chip-reset-all a:hover {
  color: #FFFFFF;
  border-color: var(--f-hover);
}

/* the inner span must no longer draw its own pill */
.elementor-widget-filter-everything-filters .wpc-chip-content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  color: inherit;
  background: none;
  border: 0;
  border-radius: 0;
}

/* 3. Kill the rule above the widget. Scoped, so it can only remove borders
   inside this filter widget. */
.elementor-widget-filter-everything-filters,
.elementor-widget-filter-everything-filters > .elementor-widget-container,
.elementor-widget-filter-everything-filters .wpc-filters-main-wrap,
.elementor-widget-filter-everything-filters .wpc-filters-widget-content,
.elementor-widget-filter-everything-filters .wpc-filters-widget-containers-wrapper,
.elementor-widget-filter-everything-filters .wpc-filters-widget-top-container,
.elementor-widget-filter-everything-filters .wpc-widget-top-inside,
.elementor-widget-filter-everything-filters .wpc-inner-widget-chips-wrapper,
.elementor-widget-filter-everything-filters .wpc-custom-selected-terms,
.elementor-widget-filter-everything-filters .wpc-filters-scroll-container,
.elementor-widget-filter-everything-filters .wpc-filters-widget-wrapper,
.elementor-widget-filter-everything-filters ul.wpc-filter-chips-list {
  border: 0;
  box-shadow: none;
}

/* 4. The white rule above the widget is a pseudo-element, not a border:
   Filter Everything sets .wpc-filters-widget-top-container:before to a 1px
   #fff block. Its selector is 0,1,1; this is 0,2,1, so no !important needed. */
.elementor-widget-filter-everything-filters .wpc-filters-widget-top-container::before {
  display: none;
  content: none;
  height: 0;
}
/* END hy-filters */






.tp-search-area.style-1 {
    z-index: 99999;
}

.tp-search-bar .tp-search-form .tp-search-input {
	color: var( --e-global-color-uicore_primary );
}


blockquote {
    border-radius: 20px;
    color: var( --e-global-color-uicore_primary )!important;
}


.woocommerce ul.products li.product a img {
    transition: all 0.3s ease;
}

.woocommerce ul.products li.product a:hover img {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transition: all 0.3s ease;
}



li.rw-hy-mega-menu li.menu-item.back {
    display: none;
}

/* =========================================================
   RWO – Our Company pages (Oct 2026)
   Sticky intro column next to long lists (e.g. Milestones).
   Opt-in via container CSS class .rwo-oc-sticky; desktop only.
   ========================================================= */
@media (min-width: 1025px) {
  .e-con.rwo-oc-sticky {
    position: sticky;
    top: 140px;
    align-self: flex-start;
  }
}
/* Straddling card (About Us counters): a zero-height wrapper between two sections;
   the card's centre sits exactly on the colour change whatever its height. */
.e-con.rwo-oc-straddle {
  min-height: 0;
  height: 0;
}
.e-con.rwo-oc-straddle > .e-con-inner {
  position: relative;
  height: 0;
}
.e-con.rwo-oc-straddle > .e-con-inner > .e-con {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}
/* END rwo-oc */

/* rwo-fe-term-chips
 * Selected-term chips on the Projects / Inspiration filters showed dark #333 text on the dark pill.
 * FE paints it with body .wpc-filter-chips-list li.wpc-filter-chip a (0,2,3), which beat the
 * (0,2,1) chip rule above; the Reset all chip was fine because its rule is (0,3,2). These are (0,3,3)+.
 */
body .elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-filter-chip a,
body .elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-filter-chip span[data-wpc-span-link],
body .elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-filter-chip > span.wpc-apply-button-chip {
  color: var(--f-value);
}

body .elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-filter-chip a:hover,
body .elementor-widget-filter-everything-filters .wpc-filter-chips-list li.wpc-filter-chip span[data-wpc-span-link]:hover {
  color: #FFFFFF;
}
/* END rwo-fe-term-chips */

/* rwo-mega-tab-desc
 * Products mega menu (Plus Tabs, CSS ID #tab-nav), MOBILE ONLY (up to 767px): the active tab's "View all →" link sits
 * at the right end of the tab's own row, out of the flow, so showing or hiding it never moves the rows. Plus still
 * hides it on inactive tabs. (1,4,0) beats Plus's (0,5,0) rules and Elementor's generated margin.
 * Tablet and up use the "View all <category> →" link at the top of each panel instead (.rwo-mm-viewall, hidden on mobile).
 */
@media (max-width: 767px) {
  #tab-nav .theplus-tabs-wrapper .plus-tab-header .tp-tab-title-description {
    position: absolute;
    top: 50%;
    right: 9px; /* matches the row's 9px side padding */
    transform: translateY(-50%);
    margin: 0;
    max-width: none;
    white-space: nowrap;
  }
}
@media (min-width: 768px) {
  #tab-nav .theplus-tabs-wrapper .plus-tab-header .tp-tab-title-description {
    display: none;
  }
}
/* END rwo-mega-tab-desc */

/* rwo-news-16x9
 * Inspiration (News) loop card, template 26727: the image area follows the featured images' 16:9 ratio
 * instead of a fixed 350px height, so the graphics are no longer cropped at the sides. The card can still
 * grow taller if a long title needs the room (min-height stays auto).
 */
.e-con.rwo-news-16x9 {
  aspect-ratio: 16 / 9;
}
/* END rwo-news-16x9 */




h2.woocommerce-loop-category__title mark.count {
    background: transparent;
    color: #be1e2d;
    font-size: small;
}

/* rwo-header-mobile-padding
 * UiCore global custom CSS zeroes the vertical padding of the EN main menu bar (div#main-menu-wrapper .e-con-inner)
 * at every size. Keep that on desktop/laptop, but on tablet + mobile restore the container padding so the EN bar
 * matches the EL header. */
@media (max-width: 1024px) {
	body div#main-menu-wrapper .e-con-inner {
		padding-block-start: var(--padding-block-start);
		padding-block-end: var(--padding-block-end);
	}
}
/* END rwo-header-mobile-padding */

/* rwo-cta-photo-mobile
 * CTA team photo (Hadjiyiannis-CTA-Team) uses an Elementor entrance animation, which keeps it hidden
 * (.elementor-invisible) until a scroll observer fires. On some phones that never happens and the photo's
 * space stays empty. On mobile the animation is set to none and the photo is always visible. */
@media (max-width: 767px) {
	.elementor-widget-image.elementor-invisible:has(img[src*="Hadjiyiannis-CTA-Team"]) {
		visibility: visible;
	}
}
/* END rwo-cta-photo-mobile */


/* rwo-brand-logo-tile
 * Product pages: brand logos sit on a dark background, so black/dark logos disappeared.
 * Every logo now sits on the same white rounded tile (the widget's existing box, recoloured).
 * Logo files are untouched; to revert, delete this block. */
.elementor-widget-rwo_brand_logo .rwo-brand-logo__img {
	background-color: #fff !important;
	border-color: #fff !important;
}
/* END rwo-brand-logo-tile */

/* rwo-single-project-h1: single project hero - project name is the H1 (Post Title dynamic tag before/after), label above is a div. Keeps the original look. */
.rwo-single-hero .service-desc h1.rwo-single-title {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	word-spacing: inherit;
	margin: 0;
	padding: 0;
}
.rwo-single-hero .pt_plus_info_box .service-title {
	letter-spacing: 0.05px;
}
/* END rwo-single-project-h1 */

/* rwo-heading-tag-look: heading tags changed for SEO (one H1 per page); keep the previous look at every breakpoint by
 * mapping UiCore's global heading variables back. Revert = delete this block and set the tags back in Elementor. */
/* Homepage hero title: H2 -> H1, keeps the H2 look */
.elementor-element-89b1f27 h1.heading-title {
	--uicore-typography--h1-c: var(--uicore-typography--h2-c);
	--uicore-typography--h1-f: var(--uicore-typography--h2-f);
	--uicore-typography--h1-s: var(--uicore-typography--h2-s);
	--uicore-typography--h1-st: var(--uicore-typography--h2-st);
	--uicore-typography--h1-w: var(--uicore-typography--h2-w);
	--uicore-typography--h1-ls: var(--uicore-typography--h2-ls);
	--uicore-typography--h1-h: var(--uicore-typography--h2-h);
	--uicore-typography--h1-t: var(--uicore-typography--h2-t);
}
/* Job single title (template 27014/27240): H1 -> H2, keeps the H1 look */
.elementor-element-65721e0 h2.elementor-heading-title {
	--uicore-typography--h2-c: var(--uicore-typography--h1-c);
	--uicore-typography--h2-f: var(--uicore-typography--h1-f);
	--uicore-typography--h2-s: var(--uicore-typography--h1-s);
	--uicore-typography--h2-st: var(--uicore-typography--h1-st);
	--uicore-typography--h2-w: var(--uicore-typography--h1-w);
	--uicore-typography--h2-ls: var(--uicore-typography--h1-ls);
	--uicore-typography--h2-h: var(--uicore-typography--h1-h);
	--uicore-typography--h2-t: var(--uicore-typography--h1-t);
}
/* END rwo-heading-tag-look */

/* rwo-shop-toolbar-pills: product archive result count + sort dropdown styled like the product swatch pills
 * (same dark fill, 1px #2A2D33 border, 999px radius, 14px Geologica, #D5D7DB text). UiCore still hides the count on mobile. */
body.woocommerce .woocommerce-result-count,
body.woocommerce .woocommerce-ordering select.orderby {
	box-sizing: border-box;
	height: 36px;
	background-color: #14171C;
	border: 1px solid #2A2D33;
	border-radius: 999px;
	color: #D5D7DB;
	font-family: Geologica, sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.8px;
	transition: border-color 0.2s;
}
body.woocommerce .woocommerce-result-count {
	display: inline-flex;
	align-items: center;
	padding: 0 18px;
	line-height: 1;
	margin: 0 0 39px;
}
body.woocommerce .woocommerce-ordering {
	margin: 0 0 39px;
}
body.woocommerce .woocommerce-ordering select.orderby {
	-webkit-appearance: none;
	appearance: none;
	line-height: 34px;
	padding: 0 44px 0 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23D5D7DB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 12px 8px;
	text-align: left;
	text-align-last: left;
	cursor: pointer;
}
body.woocommerce .woocommerce-ordering select.orderby:hover {
	border-color: #4A4E55;
}
body.woocommerce .woocommerce-ordering select.orderby:focus-visible {
	outline: 2px solid #BE1E2D;
	outline-offset: 2px;
}
body.woocommerce .woocommerce-ordering select.orderby option {
	background-color: #14171C;
	color: #D5D7DB;
}
@media (max-width: 767px) {
	body.woocommerce .woocommerce-result-count {
		display: none;
	}
}
/* END rwo-shop-toolbar-pills */

/* rwo-search-pager: in Load More mode The Plus search shows a "Total: 1 / 12" pager that only has the plugin's hard-coded
 * defaults (16px, pink #ff5a6e / purple #8072fc); the widget's Pagination style controls only apply in Pagination mode.
 * Match the site: 12px, brand red, darker red on hover/active. */
.elementor-widget-tp-search-bar .tp-search-bar .tp-search-area .tp-pagelink {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	background: var(--e-global-color-uicore_primary, #BE1E2D);
	border-color: var(--e-global-color-uicore_primary, #BE1E2D);
	color: #FFFFFF;
}
.elementor-widget-tp-search-bar .tp-search-bar .tp-search-area .tp-pagelink:hover,
.elementor-widget-tp-search-bar .tp-search-bar .tp-search-area .tp-pagelink.active {
	background: var(--e-global-color-uicore_secondary, #910D1A);
	border-color: var(--e-global-color-uicore_secondary, #910D1A);
}
.elementor-widget-tp-search-bar .tp-search-bar .tp-search-area .tp-page-link {
	font-size: 12px;
}
/* END rwo-search-pager */
