/*=====================================
RESPONSIVE - MOBILE FIRST FIXES
======================================*/

/* Remove white gap below footer */
html, body {
  margin: 0;
  padding: 0;
}
.page-wraper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.site-footer {
  margin-bottom: 0 !important;
}

/* ============================================================
   GLOBAL VIDEO HERO BANNERS (used on all product/category pages)
   Targets the inline-styled hero divs across all pages
   ============================================================ */
@media (max-width: 991px) {
  /* Video hero height */
  div[style*="height:600px"][style*="display:flex"],
  div[style*="height:600px"][style*="overflow:hidden"] {
    height: 400px !important;
  }
  div[style*="height:400px"][style*="display:flex"],
  div[style*="height:400px"][style*="overflow:hidden"] {
    height: 280px !important;
  }
}

@media (max-width: 767px) {
  /* Video hero height */
  div[style*="height:600px"][style*="display:flex"],
  div[style*="height:600px"][style*="overflow:hidden"] {
    height: 300px !important;
  }
  div[style*="height:400px"][style*="display:flex"],
  div[style*="height:400px"][style*="overflow:hidden"] {
    height: 220px !important;
  }

  /* Hero title fonts */
  h2[style*="font-size:60px"],
  h2[style*="font-size: 60px"] {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
  h2[style*="font-size:48px"],
  h2[style*="font-size: 48px"] {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }
  h2[style*="font-size:50px"],
  h2[style*="font-size: 50px"] {
    font-size: 24px !important;
  }
  p[style*="font-size:18px"][style*="letter-spacing"] {
    font-size: 12px !important;
    letter-spacing: 1px !important;
  }

  /* Product card images */
  img[style*="height:260px"],
  img[style*="height:240px"],
  img[style*="height:220px"] {
    height: 180px !important;
  }
  img[style*="height:320px"] {
    height: 200px !important;
  }

  /* Fyllarakia product min-width fix */
  div[style*="min-width:250px"] {
    min-width: 100% !important;
    max-width: 100% !important;
  }

  /* Product gallery main image */
  img.zoom-img {
    height: 260px !important;
  }

  /* Thumbnail strip - 2 per row on mobile */
  .thumb-strip-al46 .tw,
  .thumb-strip-al47 .tw,
  .thumb-strip-al48 .tw,
  .thumb-strip-al49 .tw,
  .thumb-strip-al50 .tw,
  .thumb-strip-al51 .tw,
  [class^="thumb-strip-"] .tw {
    width: calc(50% - 6px) !important;
  }

  /* Two-column text specs */
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Section paddings */
  div[style*="padding:70px 0"] {
    padding: 40px 0 !important;
  }
  div[style*="padding:50px 0"] {
    padding: 30px 0 !important;
  }
}

@media (max-width: 480px) {
  /* Hero fonts even smaller */
  h2[style*="font-size:60px"],
  h2[style*="font-size: 60px"] {
    font-size: 20px !important;
  }
  h2[style*="font-size:48px"],
  h2[style*="font-size: 48px"] {
    font-size: 18px !important;
  }

  /* Product card images */
  img[style*="height:260px"],
  img[style*="height:240px"],
  img[style*="height:220px"] {
    height: 160px !important;
  }

  /* Gallery main image */
  img.zoom-img {
    height: 200px !important;
  }

  /* Font size span in footer banner */
  span[style*="font-size:20px"] {
    font-size: 15px !important;
  }
}

/* ===== TABLET (max 991px) ===== */
@media (max-width: 991px) {

  /* Header top bar - hide on tablet/mobile */
  .top-bar {
    display: none !important;
  }

  /* Logo smaller */
  .logo-header,
  .logo-header img {
    height: 60px !important;
  }

  /* Hero slider */
  .hero-title {
    font-size: 32px !important;
    line-height: 1.3 !important;
  }
  .hero-subtitle {
    font-size: 14px !important;
  }
  .hero-content {
    padding: 0 20px !important;
  }

  /* About section */
  .about-home-right {
    margin-top: 30px;
  }
  .about-home-before img {
    display: none;
  }

  /* Footer columns */
  .footer-top .col-lg-3:nth-child(2) .widget,
  .footer-top .col-lg-3:nth-child(3) .widget {
    padding-left: 15px !important;
    border-left: none !important;
  }

  /* Services carousel */
  .services-carousel .sx-thum-bx {
    height: 280px;
  }

  /* Section padding */
  .p-t80 { padding-top: 50px !important; }
  .p-b80 { padding-bottom: 50px !important; }
  .p-t80.p-b30 { padding-top: 50px !important; padding-bottom: 20px !important; }
}

/* ===== MOBILE (max 767px) ===== */
@media (max-width: 767px) {

  /* Hero */
  .hero-slider-wrapper {
    min-height: 60vh !important;
  }
  .hero-slide {
    min-height: 60vh !important;
  }
  .hero-title {
    font-size: 24px !important;
  }
  .hero-subtitle {
    font-size: 13px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .hero-tag {
    font-size: 12px !important;
  }
  .slide-left-social {
    display: none !important;
  }

  /* Video hero banners on product pages */
  .video-hero-title,
  h2[style*="font-size:60px"],
  h2[style*="font-size: 60px"] {
    font-size: 30px !important;
  }

  /* About 1 - image column */
  .col-xl-5.col-lg-5 img[style*="position:absolute"] {
    position: relative !important;
    width: 100% !important;
    height: 300px !important;
    top: auto !important;
    left: auto !important;
  }
  .col-xl-5.col-lg-5[style*="min-height"] {
    min-height: 300px !important;
  }

  /* Footer */
  .footer-top .col-lg-3,
  .footer-top .col-md-6 {
    margin-bottom: 30px;
  }
  .footer-top .col-lg-3:nth-child(2) .widget,
  .footer-top .col-lg-3:nth-child(3) .widget {
    padding-left: 0 !important;
    border-left: none !important;
  }
  .call-to-action-wrap {
    text-align: center;
  }
  .call-to-action-right {
    margin-top: 20px;
  }

  /* Services carousel */
  .services-carousel .sx-thum-bx {
    height: 220px;
  }

  /* Product pages - rola koutia images */
  .rola-product-img-pair {
    flex-direction: column !important;
  }
  .rola-product-img-pair img {
    width: 100% !important;
    height: 220px !important;
  }
  .rola-product-img-single {
    height: 250px !important;
  }

  /* General section padding */
  .p-t80 { padding-top: 40px !important; }
  .p-b80 { padding-bottom: 40px !important; }
  .section-full { padding-left: 10px; padding-right: 10px; }

  /* Page banner text */
  .sx-banner-title {
    font-size: 28px !important;
  }

  /* Number blocks (what we do section) */
  .number-block-one img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  /* Partner logos */
  .partner-logo-box {
    min-height: 100px !important;
  }
  .partner-logo-box img {
    height: 100px !important;
  }

  /* Contact form */
  .contact-form-outer {
    padding: 20px !important;
  }

  /* Table responsive */
  table {
    font-size: 13px;
  }

  /* Stats / counters */
  .icon-count-2 {
    margin-bottom: 20px;
  }
}

/* ===== SMALL MOBILE (max 480px) ===== */
@media (max-width: 480px) {
  .hero-title {
    font-size: 20px !important;
  }
  .hero-btn {
    font-size: 13px !important;
    padding: 8px 16px !important;
  }
  .site-button,
  .site-button-secondry {
    font-size: 13px;
  }
  .sep-line-one {
    font-size: 20px !important;
  }
  /* Fix overflow on small screens */
  body {
    overflow-x: hidden;
  }
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ===== EXTRA SMALL (max 320px - Galaxy Fold etc) ===== */
@media (max-width: 320px) {

  /* Global overflow fix */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw;
  }
  * {
    box-sizing: border-box;
  }

  /* Container full width */
  .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Header */
  .logo-header,
  .logo-header img {
    height: 40px !important;
  }
  .main-bar .container {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  /* Κρύβουμε μόνο το search icon, κρατάμε "Επικοινωνία" */
  .extra-nav .extra-cell:first-child {
    display: none !important;
  }
  .extra-nav {
    display: flex !important;
    height: 50px !important;
    align-items: center !important;
  }
  .contact-slide-show a {
    font-size: 11px !important;
    padding: 4px 8px !important;
    white-space: nowrap;
  }
  .navbar-toggler {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  /* Hero */
  .hero-slider-wrapper {
    min-height: 55vh !important;
  }
  .hero-title {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }
  .hero-subtitle {
    font-size: 11px !important;
    -webkit-line-clamp: 2;
    margin-bottom: 16px !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .hero-tag {
    font-size: 9px !important;
    letter-spacing: 4px !important;
    margin-bottom: 8px !important;
    display: block !important;
  }
  .hero-content {
    left: 12px !important;
    right: 12px !important;
  }
  .hero-btn {
    font-size: 11px !important;
    padding: 6px 12px !important;
  }
  .hero-dots {
    bottom: 10px !important;
  }

  /* Rola hero */
  .rola-hero {
    height: 220px !important;
  }
  .rola-hero-title {
    font-size: 18px !important;
  }
  .rola-hero-sub {
    font-size: 11px !important;
  }

  /* Images */
  .img-pair, .img-pair-small {
    flex-direction: column !important;
  }
  .img-pair img, .img-pair-small img {
    width: 100% !important;
    height: 180px !important;
  }
  .img-single {
    height: 180px !important;
  }

  /* Section titles */
  .sep-line-one {
    font-size: 16px !important;
  }
  h3.sx-tilte, h3 {
    font-size: 18px !important;
  }

  /* Sections padding */
  .p-t80, .p-t60, .p-t50 {
    padding-top: 30px !important;
  }
  .p-b80, .p-b60, .p-b50 {
    padding-bottom: 30px !important;
  }

  /* Footer */
  .footer-top .col-sm-6 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .widget-title {
    font-size: 14px !important;
  }

  /* Carousel */
  .services-carousel .sx-thum-bx {
    height: 160px !important;
  }

  /* Tables */
  table, th, td {
    font-size: 11px !important;
    padding: 4px !important;
  }

  /* Buttons */
  .site-button, .site-button-secondry {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }

  /* Banner */
  .sx-bnr-inr {
    padding: 40px 0 !important;
  }
  .sx-bnr-inr-entry h1 {
    font-size: 22px !important;
  }

  /* Stats / numbers */
  .counter {
    font-size: 28px !important;
  }
}
