/**
 * Union Profile - site-wide CSS (child theme).
 *
 * Loaded on the front end after Elementor's frontend CSS (see up_enqueue_site_styles() in functions.php).
 *
 * The CSS below was moved from Customizer > Additional CSS (it was briefly kept in style.css).
 * 2026-10-02: removed the old "Aluminium dropdown panel" and "Hide brand label row" rules;
 * that dropdown is now [up_mega_menu] (inc/up-mega-menu.php, assets/css/up-mega-menu.css).
 *
 * Why so many !important flags: Elementor prints each element's own CSS (e.g. header 32786)
 * inline in the page, after this file, with selectors of the same strength. The rules below only win
 * with !important. Do not remove them unless the matching setting is changed in Elementor itself.
 */

/* ===== Moved from Customizer > Additional CSS (parent theme) ===== */
/* === Union Profile header - 2026-10-01 - delete this whole block to undo === */
@media (min-width:1025px){

  /* --- Top bar --- */
  body .elementor-32786 .elementor-element.elementor-element-a7ec7c1,
  body .elementor-32786 .elementor-element.elementor-element-a7ec7c1.elementor-sticky--effects{
    background-color:#1E1E1E !important;
  }

  /* "After Sales / Service": orange button -> plain white text link */
  body .elementor-32786 .elementor-element.elementor-element-04a01ae .elementor-button{
    background-color:transparent !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    color:#FFFFFF !important;
    font-family:"Roboto", sans-serif !important;
    font-size:13px !important;
    font-weight:400 !important;
  }
  body .elementor-32786 .elementor-element.elementor-element-04a01ae .elementor-button:hover{
    color:#F05A28 !important;
  }

  /* --- Menu row --- */
  body .elementor-32786 .elementor-element.elementor-element-a118983{
    background-color:#FFFFFF !important;
    border-color:#E4E4E4 !important;
  }
  body .elementor-32786 .elementor-element.elementor-element-73d4280{
    --n-menu-title-font-size:13px;
    --n-menu-title-padding:0px 9px;
    --n-menu-title-flex-grow:0;
    --n-menu-heading-wrap:nowrap;
    --n-menu-heading-justify-content:space-between;
    --n-menu-title-color-normal:#1E1E1E;
    --n-menu-title-color-hover:#F05A28;
    --n-menu-title-color-active:#F05A28;
    --n-menu-dropdown-indicator-color-normal:#1E1E1E;
  }
  body .elementor-32786 .elementor-element-73d4280 .e-n-menu-title-text{
    font-family:"Roboto", sans-serif !important;
    font-weight:700 !important;
    text-transform:uppercase;
    white-space:nowrap;
  }
  body .elementor-32786 .elementor-element-73d4280 .e-n-menu-title:hover,
  body .elementor-32786 .elementor-element-73d4280 .e-n-menu-title.e-current{
    box-shadow:inset 0 -3px 0 #F05A28;
  }
  /* "Online Προσφορά" button: square corners */
  body .elementor-32786 .elementor-element.elementor-element-af08a5a .elementor-button{
    border-radius:0 !important;
    font-weight:700 !important;
  }
}

/* ===== Page loading bar (inc/up-page-loading.php, assets/js/up-progress.js) =====
   Thin orange bar at the top while the next page loads; replaces Elementor's full-screen preloader. */
.up-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100%;
  height: 3px;
  background: #F05A28;
  opacity: 0;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: 0 50%;
}

/* Quick start, then slower and slower: it never reaches the end before the next page appears. */
.up-progress.is-loading {
  opacity: 1;
  transform: scaleX(0.9);
  transition: transform 8s cubic-bezier(0.1, 0.8, 0.2, 1), opacity 0.2s;
}

/* WordPress admin bar (logged-in users). */
@media (min-width: 783px) {
  .admin-bar .up-progress {
    top: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .up-progress.is-loading {
    transform: scaleX(1);
    transition: opacity 0.2s;
  }
}

/* ===== Product pages: tab titles ("Τεχνικά Χαρακτηριστικά" / "Πλεονεκτήματα") =====
   The product templates set the Tabs titles to 28px; two titles did not fit side by side in their
   column (520px of titles in 480px), so the second one was cut off. Below 768px Elementor shows them
   stacked, which already fits. !important: overrides the sizes Elementor prints per template element. */
@media (min-width: 768px) {
  .single-product .elementor-widget-tabs .elementor-tab-desktop-title,
  .single-product .elementor-widget-tabs .elementor-tab-desktop-title a {
    padding: 14px 18px !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
  }
}

/* ===== Page titles printed as H1 instead of H2 (inc/up-fixes.php) =====
   Same look as before: the H2 line height and bottom margin of the theme at that spot
   (category templates: 0.7em; Contact and Τα έργα μας pages: none). */
.elementor-widget-heading h1.up-fixes-h1 {
  line-height: 1.3em;
  margin-bottom: 0.7em;
}

.elementor-widget-heading h1.up-fixes-h1.up-fixes-h1--flush {
  margin-bottom: 0;
}

/* ===== Popup headings printed as H2 instead of H1 (inc/up-popups.php) =====
   Same look as before: the H1 line height and bottom margin of the theme. */
.elementor-widget-heading h2.up-popups-h2 {
  line-height: 1.4em;
  margin-bottom: 0;
}

/* ===== Text for screen readers and search engines only (inc/up-fixes.php: blog page H1) ===== */
.up-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}


/* ===== Extra H1s printed as H2 (inc/up-fixes.php: product pages, glossary list) =====
   Same look as before: the H1 line height of the theme (sizes are set on each widget). */
.elementor-widget h2.up-fixes-h2 {
  line-height: 1.4em;
}

.elementor-widget-heading h2.up-fixes-h2 {
  margin-bottom: 0;
}

/* ===== Glossary page (33783): the A-Z index (text editor 24912c7) is set to 6 columns, which
   broke the words one letter per line on phones. 3 columns on tablets, 2 on phones. ===== */
@media (max-width: 1024px) {
  .elementor-33783 .elementor-element.elementor-element-24912c7 {
    columns: 3;
  }
}

@media (max-width: 767px) {
  .elementor-33783 .elementor-element.elementor-element-24912c7 {
    columns: 2;
  }
}

/* ===== Category pages of template 19283 (aluminium, PVC, pergolas, screens): the
   "Χρωματολόγιο Κουφωμάτων" and "Υαλοπίνακες" boxes (d938f8f, 005b682) had 35-40px one-word
   headings in a ~180px column, beside an icon wider than its own column, so the text ran out of
   the box. From 768px: icon above the heading, heading the full width of the box and sized so the
   longest word fits (phones keep their own layout). ===== */
@media (min-width: 768px) {
  .elementor-19283 .elementor-element.elementor-element-d938f8f,
  .elementor-19283 .elementor-element.elementor-element-005b682 {
    --flex-direction: column;
    --align-items: flex-start;
    flex-direction: column;
  }

  .elementor-19283 .elementor-element.elementor-element-d938f8f > .e-con,
  .elementor-19283 .elementor-element.elementor-element-005b682 > .e-con {
    --width: 100%;
    width: 100%;
  }

  .elementor-19283 .elementor-element.elementor-element-e133df1 .elementor-heading-title,
  .elementor-19283 .elementor-element.elementor-element-95f5c40 .elementor-heading-title {
    font-size: min(30px, calc(3.7vw - 12.5px));
  }
}

/* ===== Online Προσφορά page (33132): the lead form (6ab9ccf6) as a clean white card =====
   Was: small faded fields straight over the busy photo. Now: white card (container bea1271)
   on the photo, 48px fields with a clear border and an orange focus line, options as tappable
   boxes, square orange button, the "Σημείωση" note (alert 72260af) in the brand colours.
   Selectors repeat Elementor's own (post-33132.css) so they win by order, without !important. */
.elementor-33132 .elementor-element.elementor-element-bea1271 {
  padding: clamp(20px, 3vw, 40px);
  border: 1px solid #E4E4E4;
  background: #FFFFFF;
  box-shadow: 0 18px 40px rgba(30, 30, 30, 0.18);
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group {
  margin-bottom: 14px;
  padding-right: 7px;
  padding-left: 7px;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-form-fields-wrapper {
  margin-right: -7px;
  margin-left: -7px;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group .elementor-field-textual {
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #C9C9C9;
  border-radius: 0;
  background-color: #FFFFFF;
  color: #1E1E1E;
  font-size: 16px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group textarea.elementor-field {
  min-height: 110px;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field::placeholder {
  color: #5E5E5E;
  opacity: 1;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group .elementor-field-textual:focus {
  border-color: #F05A28;
  outline: none;
  box-shadow: inset 0 -2px 0 #F05A28;
}

/* Section titles of the form (HTML fields with an H2: Τύπος Κουφωμάτων, Ρολλά, Σήτα, ...). */
.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-html {
  display: flex;
  align-items: center;
  min-height: 48px;
  color: #1E1E1E;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-html h2 {
  margin: 10px 0 0;
  color: #1E1E1E;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

/* Checkbox options as boxes you can tap. */
.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-checkbox .elementor-field-subgroup {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-checkbox .elementor-field-option {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid #E4E4E4;
  background: #F5F5F5;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-checkbox .elementor-field-option input {
  margin: 0 0 0 12px;
  accent-color: #F05A28;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group .elementor-field-subgroup label {
  padding: 10px 14px 10px 8px;
  color: #1E1E1E;
  font-size: 15px;
  cursor: pointer;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-checkbox .elementor-field-option:has(input:checked) {
  border-color: #F05A28;
  background: #FFF3EE;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-acceptance .elementor-field-subgroup {
  display: flex;
  align-items: center;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-acceptance input {
  flex: none;
  margin: 0;
  accent-color: #F05A28;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-type-acceptance label {
  color: #4A4A4A;
  font-size: 14px;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group .elementor-upload-field {
  min-height: 48px;
  padding: 9px 12px;
  border: 1px dashed #C9C9C9;
  border-radius: 0;
  background-color: #F5F5F5;
  font-size: 14px;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-button[type="submit"] {
  min-height: 52px;
  padding: 14px 40px;
  border-radius: 0;
  font-size: 16px;
  font-weight: 600;
  transition: background-color 0.15s;
}

.elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-button[type="submit"]:hover {
  background-color: #D4471A;
}

/* The "Σημείωση" note under the form. */
.elementor-33132 .elementor-element.elementor-element-72260af .elementor-alert {
  padding: 16px 44px 16px 18px;
  border: 0;
  border-left: 3px solid #F05A28;
  border-radius: 0;
  background: #F5F5F5;
}

.elementor-33132 .elementor-element.elementor-element-72260af .elementor-alert .elementor-alert-title {
  color: #1E1E1E;
  font-size: 17px;
}

.elementor-33132 .elementor-element.elementor-element-72260af .elementor-alert .elementor-alert-description {
  color: #4A4A4A;
  font-size: 14px;
  line-height: 1.6;
}

@media (min-width: 768px) {
  /* Name on its own row, then email and phone side by side. */
  .elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group-name {
    width: 100%;
  }

  .elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group-email,
  .elementor-33132 .elementor-element.elementor-element-6ab9ccf6 .elementor-field-group-message {
    width: 50%;
  }
}

/* ===== Blog post template (17688): sidebar newsletter box (31f2c1f, form 0ab6d34) =====
   Was an orange-to-pink gradient with a small field and button; now dark with the brand orange,
   like the footer newsletter. Selectors repeat Elementor's own so they win by order. */
.elementor-17688 .elementor-element.elementor-element-31f2c1f:not(.elementor-motion-effects-element-type-background) {
  background-color: #1E1E1E;
  background-image: none;
}

.elementor-17688 .elementor-element.elementor-element-31f2c1f {
  border-top: 3px solid #F05A28;
}

.elementor-17688 .elementor-element.elementor-element-4360acd {
  --container-widget-width: 100%;
  width: 100%;
  max-width: 100%;
}

.elementor-17688 .elementor-element.elementor-element-4360acd .elementor-heading-title {
  color: #FFFFFF;
}

.elementor-17688 .elementor-element.elementor-element-0ab6d34 .elementor-field-group {
  width: 100%;
  margin-bottom: 10px;
}

.elementor-17688 .elementor-element.elementor-element-0ab6d34 .elementor-field-group .elementor-field-textual {
  min-height: 48px;
  padding: 10px 14px;
  border-color: #FFFFFF;
  font-size: 16px;
}

.elementor-17688 .elementor-element.elementor-element-0ab6d34 .elementor-button[type="submit"] {
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  background-color: #F05A28;
  font-size: 16px;
  font-weight: 600;
}

.elementor-17688 .elementor-element.elementor-element-0ab6d34 .elementor-button[type="submit"]:hover {
  background-color: #D4471A;
}

/* Sidebar "Διαβάστε επίσης" (posts 3a3bf20): one column at every width (on tablets it took 2
   columns for its single post, so the card was ~80px wide and the title ran out of it). */
.elementor-17688 .elementor-element.elementor-element-3a3bf20 .elementor-posts-container {
  grid-template-columns: minmax(0, 1fr);
}
