/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.14.1763896652
Updated: 2025-11-23 14:17:32

*/

body {
  background-color: #dddddd !important;
  font-family: "Inter", Sans-serif;
}

h1,h2,h3,h4,h5,h6,p,a,span,div,li,label,input,select,textarea,button {
  font-family: "Inter", Sans-serif;
}

a {
  color: #0043ff;
}
a::visited,
a::focus,
a::focus-visible {
    border: none !important;
}

#aboutUsSectionContent {
  max-width: 1600px !important;
}

/* ===========================
 * CONTACT INFO (HOME)
 * =========================== */

.ins-contanct-points-home {
  display: flex;
  gap: 20px;
  width: 100%;
  margin: auto;
  justify-items: center;
  align-items: center;
}

@media (max-width: 1050px) {
  .ins-contanct-points-home {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.ins-contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  padding: 10px 0;
  justify-content: center;
}

.ins-contact-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ins-contact-icon {
  margin-top: 2px;
}

.ins-contact-icon svg {
  width: 22px;
  height: 22px;
  display: block;
}

.ins-contact-icon svg path {
  fill: #2563eb;
}

.ins-contact-label {
  font-weight: 600;
  color: #111827;
  font-size: 14px;
}

.ins-contact-value {
  font-weight: 400;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

/* ===========================
 * SERVICES
 * =========================== */

.ins-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.ins-service-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ins-service-icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #e5f0ff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}

.ins-service-icon svg {
  width: 20px;
  height: 20px;
}

.ins-service-icon svg path {
  fill: #2563eb;
}

.ins-service-title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0;
}

.ins-service-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #4b5563;
}

@media (max-width: 1024px) {
  .ins-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ins-services-grid {
    grid-template-columns: 1fr;
  }
}

/* ===========================
 * CONTACT SECTION (MAP CARD + MAP)
 * =========================== */

.ins-map-section {
  padding: 60px 0;
  background: #f3f4f6;
}

.ins-map-layout {
  width: 80%;
  max-width: 1250px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.15);
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

.ins-map-card {
  flex: 0 0 36%;
  padding: 26px 28px;
  background: transparent;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-right: 1px solid #e5e7eb;
}

.ins-map-item {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}

.ins-map-item:last-child {
  margin-bottom: 0;
}

.ins-map-icon {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #e5f0ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ins-map-icon svg {
  width: 18px;
  height: 18px;
}

.ins-map-icon svg path {
  fill: #2563eb;
}

.ins-map-item-label {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 2px;
}
#contact-items-map {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ins-map-item-value {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.4;
}

.ins-map-embed {
  flex: 1 1 0;
  min-height: 600px;
}

.ins-map-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

@media (max-width: 900px) {
  .ins-map-layout {
    flex-direction: column;
  }

  .ins-map-card {
    flex: 0 0 auto;
    border-right: none;
    border-bottom: 1px solid #e5e7eb;
  }

  .ins-map-embed {
    min-height: 260px;
  }
}
@media (max-width: 660px) {
  .ins-map-layout {
    width: 98%;
    max-width: 100%;
  }
  .ins-contanct-points-home {
    gap: 10px;
  }
}

/* ===========================
 * WHY US
 * =========================== */
.ins-why-grid {
  --card-min: 25rem;
  --gap: 1.5rem;
  --max-cols: 3;

  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(min(var(--card-min), 100%), 1fr));
  max-width: calc(
    (var(--max-cols) * var(--card-min)) + ((var(--max-cols) - 1) * var(--gap))
  );
  margin-inline: auto;
  width: 100%;
}

.ins-why-item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  border-radius: 1.25rem;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(0.9rem);
  border: 0.0625rem solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.ins-why-item:hover {
  transform: translateY(-0.15rem);
  box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, 0.14);
  border-color: rgba(129, 140, 248, 0.7);
  background-color: rgba(235, 235, 235, 0.98);
}

.ins-why-icon {
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ins-why-icon svg {
  width: 1.875rem;
  height: 1.875rem;
  display: block;
}

.ins-why-icon svg path {
  fill: #2563eb;
}

.ins-why-text {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  letter-spacing: -0.02em;
}

@media (max-width: 48rem) {
  .ins-why-grid {
    padding: 0rem;
    gap: 1rem;
  }

  .ins-why-item {
    padding: 1rem 1.25rem;
  }
}

/* ===========================
 * FOOTER
 * =========================== */

.ins-footer-bar {
  background-color: #050b1a;
  color: #e5e7eb;
  padding: 18px 0 14px;
}

.ins-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.ins-footer-main {
  font-size: 14px;
  font-weight: 500;
  color: #f9fafb;
  margin-bottom: 4px;
}

.ins-footer-links {
  font-size: 12px;
}

.ins-footer-links a {
  color: #9ca3af;
  text-decoration: none;
  margin: 0 6px;
}

.ins-footer-links a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.ins-footer-sep {
  color: #4b5563;
}

.site-footer,
.site-footer .ast-builder-footer-wrap {
  background: transparent;
}

/* ===========================
 * SCROLL TO TOP
 * =========================== */

#ast-scroll-top {
  width: 2.5rem !important;
  height: 2.5rem !important;
  background-color: #2f6aeb !important;
  font-size: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50px !important;
}


/* CF7 notifications bottom-right */
.wpcf7 form .wpcf7-response-output {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 9999999;

  max-width: min(28rem, calc(100vw - 2.5rem));
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 0.9rem;

  background: #0b0f14;
  color: #fff;

  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

/* Προαιρετικά: να μη φαίνεται μέχρι να υπάρξει status */
.wpcf7 form .wpcf7-response-output:empty {
  display: none;
}



@media (max-width: 600px){

  .ins-contanct-points-home{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    grid-template-areas:
      "phone phone"
      "email location"
      "hours hours";
  }

  /* Reset ώστε να μην επηρεάζει το inline flex-grow */
  .ins-contanct-points-home .ins-contact-item{
    min-width: 0;
    width: 100%;
  }

  /* Map by order (1: phone, 2: email, 3: hours, 4: location) */
  .ins-contanct-points-home .ins-contact-item:nth-child(1){ grid-area: phone; }
  .ins-contanct-points-home .ins-contact-item:nth-child(2){ grid-area: email; }
  .ins-contanct-points-home .ins-contact-item:nth-child(3){ grid-area: hours; }
  .ins-contanct-points-home .ins-contact-item:nth-child(4){ grid-area: location; }

  /* Προαιρετικό: να μη σπάνε άσχημα τα links */
  .ins-contanct-points-home .ins-contact-value a{
    word-break: break-word;
  }
}















