/* ============================================================
   mobile.css  –  e-Asfalistro mobile responsiveness fixes
   Applied on top of style.css to override inline styles and
   fill gaps in the original responsive breakpoints.
   ============================================================ */


/* ============================================================
   1 & 2. HEADER – Logo | Phone | Burger — same centre line
   ============================================================ */

@media (max-width: 991px) {

  /* Bar: fixed height, flex, space-between pushes items to edges */
  .header-style-1 .main-bar {
    height: 56px !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
  }

  /* Logo: left edge, vertically centred */
  .header-style-1 .logo-header {
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
  }
  .header-style-1 .logo-header img {
    height: 20px !important;
    width: auto !important;
  }

  /* Extra-nav: centred in the bar */
  .header-style-1 .extra-nav {
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
    margin-right: 50px !important;
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* Phone link: icon + text in a row */
  .hdr-phone-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
  }

  /* Teal phone icon */
  .hdr-phone-icon {
    font-size: 13px !important;
    color: #3abfbe !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }

  /* Text column: number + label stacked */
  .hdr-phone-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1px !important;
    line-height: 1 !important;
  }

  .hdr-phone-number {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1164b5 !important;
    white-space: nowrap !important;
    display: block !important;
    line-height: 1.2 !important;
  }

  .hdr-phone-label {
    font-size: 9px !important;
    font-weight: 500 !important;
    color: #565656 !important;
    white-space: nowrap !important;
    display: block !important;
    line-height: 1.2 !important;
    letter-spacing: .2px !important;
  }

  /* Burger: right edge, fixed position */
  .header-style-1 .navigation-bar {
    position: fixed !important;
    right: 14px !important;
    top: 0 !important;
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1000 !important;
  }
}


/* ============================================================
   3. HERO BANNER – Remove hardcoded 50px side margins
      (.twm-search-section-wrap has margin-left/right: 50px inline)
   ============================================================ */

@media (max-width: 991px) {
  .twm-search-section-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ============================================================
   4. "HOW IT WORKS" SECTION – Remove hardcoded 50px side margins
   ============================================================ */

@media (max-width: 991px) {
  .twm-how-it-work-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ============================================================
   5. HERO BANNER – Vehicle selector tabs (Αυτοκίνητο / Μηχανή / Φορτηγό)
      Always keep all 3 tabs in a single row on every screen size.
      The original CSS drops to 2 columns at max-width:400px which
      breaks the third tab onto a new line.
   ============================================================ */

/* Override the 2-column grid that breaks the layout below 400px */
@media (max-width: 400px) {
  .twm-banner-tabs-filter .nav-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    grid-template-columns: unset !important;
  }
}

/* All mobile sizes: force 3 equal columns, never wrap */
@media (max-width: 480px) {
  .twm-banner-tabs-filter .nav-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2px;
  }

  /* Each tab takes exactly 1/3 of the available width */
  .twm-banner-tabs-filter .nav-tabs .nav-link {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 4px !important;
    border-radius: 6px 6px 0 0 !important;
  }

  /* Shrink the label text so it fits in 1/3 width */
  .twm-banner-tabs-filter .tabs-title span {
    font-size: 13px !important;
    white-space: nowrap;
  }

  /* Keep icon + label in a column, centred */
  .twm-banner-tabs-filter .twm-tabs-bx {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px;
  }

  .twm-banner-tabs-filter .twm-tabs-bx .tabs-media {
    height: 24px !important;
    width: auto !important;
    margin-right: 0 !important;
  }

  .twm-banner-tabs-filter .twm-tabs-bx .tabs-media img {
    height: 18px !important;
    width: auto !important;
  }
}

/* ============================================================
   5b. HERO BANNER – Search form fields
       Labels and inputs use inline font-size: 18-20px;
       reduce on mobile so the form doesn't overflow.
   ============================================================ */

@media (max-width: 767px) {
  .twm-banner-search-tabs .twm-tabs-title {
    font-size: 16px !important;
  }

  /* Make the form rows stack to single column on small phones */
  .twm-tabs-search-section .row {
    display: flex;
    flex-direction: column;
  }

  .twm-tabs-search-section .row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  /* Form labels inside tabs */
  .twm-tabs-search-section .form-group label {
    font-size: 15px !important;
  }

  .twm-tabs-search-section .form-group input,
  .twm-tabs-search-section .form-group select {
    font-size: 15px;
    height: 42px;
  }

  /* Compare button full-width */
  .twm-bnr-buttons {
    text-align: center;
    margin-top: 10px;
  }

  .twm-bnr-buttons .site-button-secondry {
    width: 100%;
    justify-content: center;
  }
}


/* ============================================================
   6. HERO BANNER – Right decorative section
      Fixed height 500px causes large dead space on mobile.
      Hide the decorative right column on small screens.
   ============================================================ */

@media (max-width: 991px) {
  .twm-banner-right {
    display: none;
  }

  /* Give the left (form) side full width */
  .twm-banner-left {
    width: 100%;
    padding: 20px 15px !important;
  }

  .twm-banner-left-info {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    margin-left: 0 !important;
    max-width: 100% !important;
  }
}


/* ============================================================
   7. HERO BANNER TITLE – Responsive font scaling
   ============================================================ */

@media (max-width: 767px) {
  .twm-banner-title {
    font-size: 38px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 480px) {
  .twm-banner-title {
    font-size: 30px !important;
  }
}


/* ============================================================
   8. SECTION PADDING – Override inline padding-top: 100px
      on sections that don't scale down due to inline styles
   ============================================================ */

@media (max-width: 991px) {
  /* Why-choose-us section */
  .twm-w-chooseus2-section-wrap {
    padding-top: 50px !important;
    padding-bottom: 30px !important;
  }

  /* Wide range / insurance types section */
  .twm-w-range-section-wrap {
    padding-top: 50px !important;
    padding-bottom: 30px !important;
  }

  /* Decorative image div with fixed height */
  [data-bss-parallax-bg="true"] {
    height: 250px !important;
    padding-top: 0 !important;
  }

  /* Inner wrapper with padding-top: 100px */
  .twm-w-chooseus2-media .twm-media {
    padding-top: 30px !important;
    padding-right: 0 !important;
  }
}


/* ============================================================
   9. FORM BUTTONS – Fix margin-left: 50px on submit buttons
      (home-insurance.html and workers-insurance.html)
   ============================================================ */

@media (max-width: 767px) {
  .twm-vehicle-search-btn {
    margin-left: 0 !important;
    width: 100%;
  }

  .twm-vehicle-search-btn .site-button {
    width: 100%;
    justify-content: center;
    font-size: 16px !important;
  }
}


/* ============================================================
   10. INNER PAGE BANNERS – Reduce oversized text on mobile
   ============================================================ */

@media (max-width: 480px) {
  .wt-bnr-inr-entry .banner-title-outer .banner-title-name .wt-title {
    font-size: 24px !important;
  }

  .wt-bnr-inr-entry .banner-title-outer .banner-title-name {
    margin-bottom: 20px;
  }
}


/* ============================================================
   11. GLOBAL HEADING SIZES – Scale h1/h2 down on mobile
       (base sizes are 60px / 46px – too large for phones)
   ============================================================ */

@media (max-width: 767px) {
  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
}

@media (max-width: 480px) {
  h1 { font-size: 28px; }
  h2 { font-size: 24px; }
}


/* ============================================================
   12. LOADING SPINNER – Fix 10% width (too small on phones)
   ============================================================ */

@media (max-width: 767px) {
  .loading-area .loading-pic .loader-gif {
    width: 50% !important;
  }
}


/* ============================================================
   13. FOOTER – Improve stacking on mobile
   ============================================================ */

@media (max-width: 575px) {
  .footer-dark .footer-top .col-6,
  .footer-light .footer-top .col-6 {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }
}


/* ============================================================
   14. NAVIGATION – Ensure mobile nav items have enough
       tap target size (min 44px height per WCAG)
   ============================================================ */

@media (max-width: 991px) {
  .header-style-1 .header-nav .nav > li > a {
    padding: 12px 15px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .header-style-1 .header-nav .nav > li .sub-menu li a {
    padding: 12px 20px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  /* Submenu toggle tap area */
  .header-style-1 .has-child .submenu-toogle {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}


/* ============================================================
   15. FORMS – Bigger tap targets on mobile for all form fields
   ============================================================ */

@media (max-width: 767px) {
  .form-control,
  .form-select {
    height: 44px !important;
    font-size: 16px !important; /* prevents iOS auto-zoom on focus */
    padding: 8px 12px !important;
  }

  .form-group {
    margin-bottom: 16px;
  }
}


/* ============================================================
   16. RESULTS / COMPARISON PAGE – Horizontal scroll prevention
   ============================================================ */

@media (max-width: 767px) {
  .page-wraper {
    overflow-x: hidden;
  }
}


/* ============================================================
   17. INSURANCE TYPE ICONS – Fix overflow on small screens
   ============================================================ */

@media (max-width: 575px) {
  .twm-cntr-with-icon {
    margin-bottom: 16px;
  }
}


/* ============================================================
   18. CONTACT PAGE – Ensure the map doesn't overflow
   ============================================================ */

@media (max-width: 767px) {
  .gmap-outline iframe {
    margin: 0 12px !important;
    border-radius: 20px !important;
  }
}



/* ============================================================
   19. HERO SEARCH CARD – New proposal design
       Vehicle tabs as outlined cards, plate + CTA in one row.
   ============================================================ */

/* ── Search card container ── */
.bnr-search-card {
    background: rgba(255,255,255,0.94) !important;
    backdrop-filter: blur(8px);
    border-radius: 18px !important;
    padding: 22px 24px 24px !important;
    box-shadow: 0 8px 32px rgba(17,100,181,.18) !important;
    width: 100%;
}

/* Small label above tabs */
.bnr-card-label {
    font-size: 12px;
    font-weight: 700;
    color: #565656;
    text-transform: uppercase;
    letter-spacing: .8px;
    margin-bottom: 14px;
    font-family: 'Advent Pro', sans-serif;
}

/* ── Vehicle tabs ── */
.bnr-vtabs {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.bnr-vtab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 14px 8px;
    border-radius: 12px;
    border: 2px solid #e0e8f4;
    background: #f4f7fc;
    cursor: pointer;
    transition: all .18s ease;
    font-family: 'Advent Pro', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #565656;
    line-height: 1;
}
.bnr-vtab:hover {
    border-color: #1164b5;
    background: #eaf0fa;
    color: #1164b5;
}
.bnr-vtab.active {
    background: #1164b5;
    border-color: #1164b5;
    color: #fff;
    box-shadow: 0 4px 14px rgba(17,100,181,.28);
}
/* Icon: coloured when inactive, white when active */
.bnr-vtab img {
    height: 28px;
    width: auto;
    filter: brightness(0) saturate(100%) invert(27%) sepia(50%)
            saturate(800%) hue-rotate(200deg) brightness(90%);
    transition: filter .18s;
}
.bnr-vtab.active img {
    filter: brightness(0) invert(1);
}

/* ── Tab panes ── */
.bnr-pane { display: none; }
.bnr-pane.active { display: block; }

/* ── Plate + CTA in one row ── */
.bnr-plate-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.bnr-plate-field {
    flex: 1;
    display: flex;
    align-items: stretch;
    border: 2.5px solid #1164b5;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow .2s;
    min-width: 0;
}
.bnr-plate-field:focus-within {
    box-shadow: 0 0 0 3px rgba(17,100,181,.16);
}

.bnr-plate-badge {
    background: #1164b5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    min-width: 46px;
    flex-shrink: 0;
    line-height: 1;
}
.bnr-plate-stars {
    color: #f5c842;
    font-size: 7px;
    letter-spacing: 1.5px;
    margin-bottom: 3px;
}
.bnr-plate-gr {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    font-family: 'Advent Pro', sans-serif;
}

.bnr-plate-input {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    flex: 1;
    font-family: 'Advent Pro', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #18191d;
    padding: 0 14px;
    background: transparent;
    height: 54px;
    width: 100%;
    min-width: 0;
}
.bnr-plate-input::placeholder {
    color: #b9b9b9;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: 14px;
}

/* ── CTA button – inline with plate field ── */
.bnr-cta-btn {
    background: linear-gradient(135deg, #1164b5, #4578b9);
    color: #fff !important;
    border: none;
    border-radius: 10px;
    padding: 0 20px;
    font-family: 'Advent Pro', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    transition: opacity .18s, transform .1s;
    box-shadow: 0 4px 14px rgba(17,100,181,.28);
    height: 54px;
}
.bnr-cta-btn:hover { opacity: .88; }
.bnr-cta-btn:active { transform: scale(.97); }

/* ============================================================
   HEADER PHONE – Desktop layout (≥992px)
   At desktop the .hdr-phone-link becomes the classic two-line
   block: teal label on top, large bold number below, no icon.
   ============================================================ */
@media (min-width: 992px) {
  /* Make the link a column (label above, number below) */
  .hdr-phone-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 0 !important;
    text-decoration: none !important;
  }

  /* Hide the phone icon on desktop */
  .hdr-phone-icon {
    display: none !important;
  }

  /* Reorder: label first (top), number second */
  .hdr-phone-text {
    display: flex !important;
    flex-direction: column-reverse !important; /* number on bottom, label on top visually via order */
    align-items: flex-end !important;
    gap: 0 !important;
  }

  /* Teal label – matches the desktop-ok <label> */
  .hdr-phone-label {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #3abfbe !important;
    order: 1 !important;
    line-height: 1.3 !important;
  }

  /* Large bold number – matches the desktop-ok <a> */
  .hdr-phone-number {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    order: 2 !important;
    line-height: 1.3 !important;
  }
}

/* ── Desktop: left column 50%, generous padding ── */
@media (min-width: 992px) {
    .twm-home-1-banner-wrap .twm-banner-left {
        width: 50% !important;
        min-width: 50% !important;
        flex: 0 0 50% !important;
    }
    .twm-banner-right {
        width: 50% !important;
        flex: 0 0 50% !important;
    }
    .twm-home-1-banner-wrap .twm-banner-left-info {
        max-width: 100% !important;
        margin-left: 0 !important;
        padding-left: 60px !important;
        padding-right: 60px !important;
        padding-top: 80px !important;
        padding-bottom: 60px !important;
    }
    .bnr-search-card {
        padding: 22px 28px 28px !important;
    }
    .bnr-vtab {
        padding: 16px 10px;
        font-size: 14px;
    }
    .bnr-vtab img { height: 32px; }
    .bnr-plate-input {
        font-size: 22px !important;
        letter-spacing: 4px !important;
        height: 58px !important;
    }
    .bnr-plate-badge { min-width: 52px; padding: 6px 12px; }
    .bnr-plate-gr { font-size: 14px; }
    .bnr-cta-btn {
        font-size: 15px !important;
        padding: 0 24px !important;
        height: 58px !important;
        border-radius: 10px !important;
    }
}

/* ── Mobile: CTA shows icon only, text hidden ── */
@media (max-width: 991px) {
    .bnr-cta-btn span { display: none; }
    .bnr-cta-btn {
        padding: 0 16px !important;
        min-width: 54px;
        flex-shrink: 0;
    }
    .bnr-cta-btn svg { width: 22px; height: 22px; }
}
