/* === Ketyswit Beauty — mobile responsive + booking iframe fix v2 === */
/* Author: Prism Hooldus OÜ, 2026-05-27. Applied via WPBakery → Custom CSS. */

/* 1. Mobile menu trigger — force show on small viewports.
   Theme ships .icon_mobile_offcanvas_menu and .icon_mobile_cz_menu_default
   with display:none until JS-detected mobile width. Override on viewport. */
@media (max-width: 900px) {
  .icon_mobile_offcanvas_menu,
  .icon_mobile_cz_menu_default,
  i.fa.icon_mobile_offcanvas_menu,
  i.fa.icon_mobile_cz_menu_default {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    padding: 8px 12px !important;
    cursor: pointer !important;
    z-index: 999 !important;
  }
  /* Hide desktop-only offcanvas icons that overlap */
  .icon_offcanvas_menu:not(.icon_mobile_offcanvas_menu):not(.icon_mobile_cz_menu_default) {
    display: none !important;
  }
}

/* 2. Booking page — kill the empty 200px gap above Saloninfra widget */
body.page-id-2247 .vc_row,
body.page-id-2247 .vc_row-fluid,
body.page-id-2247 .vc_row.wpb_row,
body.page-id-2247 .wpb_column,
body.page-id-2247 .vc_column-inner,
body.page-id-2247 .wpb_text_column,
body.page-id-2247 .wpb_wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-2247 main {
  padding-top: 16px !important;
}

/* 3. Saloninfra iframe — fluid on mobile, normal height on desktop+ */
iframe[src*="book.saloninfra.ee"],
iframe[src*="saloninfra"] {
  width: 100% !important;
  max-width: 100% !important;
  border: 0 !important;
  display: block !important;
}
@media (max-width: 768px) {
  iframe[src*="book.saloninfra.ee"],
  iframe[src*="saloninfra"] {
    min-height: 820px !important;
  }
  body.page-id-2247 .vc_column-inner,
  body.page-id-2247 .wpb_text_column,
  body.page-id-2247 .wpb_wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* 4. Service price tables — scrollable on mobile (Manikuur/Pediküür/etc.) */
@media (max-width: 768px) {
  .wpb_text_column table,
  .vc_row table,
  .post-content table,
  .wpb_wrapper table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
  }
  .wpb_text_column table td,
  .vc_row table td {
    padding: 10px 12px;
    white-space: nowrap;
  }
}

/* 5. Hero / Slider Revolution — proper object-fit on mobile */
@media (max-width: 768px) {
  .rev_slider_wrapper,
  .forcefullwidth_wrapper_tp_banner {
    height: auto !important;
  }
  .tp-bgimg, .rev_slider img {
    object-fit: cover !important;
    object-position: center !important;
  }
}

/* 6. Edge padding 12px on phones to prevent text touching screen edge */
@media (max-width: 600px) {
  .vc_row.wpb_row > .vc_column_container,
  .vc_row.wpb_row > .wpb_column {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* 7. Tap targets — 44px minimum for booking + phone CTAs */
@media (max-width: 900px) {
  a.broneerimine,
  a[href*="booking"],
  a[href^="tel:"] {
    min-height: 44px;
    line-height: 1.2;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
  }
}

/* 8. Mobile language switcher bar — make sure it doesn't overlap mobile header */
@media (max-width: 900px) {
  body > .wpml-ls-statics-shortcode_actions,
  .header-top-bar.top-mobile {
    position: relative !important;
    z-index: 50 !important;
  }
}

/* === end ketyswit mobile fix v2 === */