
@font-face {
  font-family: 'Ploni';
  src: url('https://safehouse-vs.co.il/wp-content/uploads/fonts/ploni-light-aaa.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Ploni';
  src: url('https://safehouse-vs.co.il/wp-content/uploads/fonts/ploni-regular-aaa.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Ploni';
  src: url('https://safehouse-vs.co.il/wp-content/uploads/fonts/ploni-bold-aaa.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Ploni';
  src: url('https://safehouse-vs.co.il/wp-content/uploads/fonts/ploni-ultrabold-aaa.woff2') format('woff2');
  font-weight: 900; font-style: normal; font-display: swap;
}
/* Hide theme header/footer */
#site-header, #site-header.dynamic-header, header#site-header,
#site-footer, footer#site-footer, .site-header:not(.elementor-location-header)
{ display: none !important; height: 0 !important; overflow: hidden !important; }
a.skip-link { display: none !important; }
/* Global Ploni */
html body, html body *, html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6, html body p, html body a,
html body span, html body li, html body button, html body input,
html body textarea, html body select, html body .elementor *,
html body .woocommerce * {
  font-family: 'Ploni', 'Arial Hebrew', Arial, sans-serif !important;
}
body { direction: rtl; }
:root {
  --e-global-typography-primary-font-family: 'Ploni';
  --e-global-typography-secondary-font-family: 'Ploni';
  --e-global-typography-text-font-family: 'Ploni';
  --e-global-typography-accent-font-family: 'Ploni';
}
/* Header/Footer full width */
.elementor-location-header, .elementor-location-footer {
  width: 100% !important; max-width: 100% !important;
  --container-max-width: 100% !important;
  position: sticky; top: 0; z-index: 9999;
  box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}
.elementor-location-header .e-con-boxed,
.elementor-location-footer .e-con-boxed {
  max-width: 100% !important;
  --container-max-width: 100% !important;
}
.elementor-location-header .e-con-boxed > .e-con-inner,
.elementor-location-footer .e-con-boxed > .e-con-inner {
  max-width: 100% !important; width: 100% !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
/* WooCommerce Products */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important; margin: 0 !important; padding: 0 !important;
  list-style: none !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  background: #FFFFFF !important; border: 1px solid #E8EDF5 !important;
  border-radius: 12px !important; overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  text-align: right !important; margin: 0 !important;
  float: none !important; width: auto !important; padding: 0 0 16px !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important; height: 200px !important;
  object-fit: cover !important; border-radius: 0 !important;
  margin: 0 !important; display: block !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: Ploni, Arial, sans-serif !important;
  font-weight: 700 !important; font-size: 16px !important;
  color: #1A2340 !important; padding: 14px 16px 6px !important;
  text-align: right !important; margin: 0 !important;
}
.woocommerce ul.products li.product .price {
  color: #0066FF !important; font-weight: 700 !important;
  font-size: 18px !important; display: block !important;
  padding: 0 16px 10px !important; text-align: right !important;
}
.woocommerce ul.products li.product .button {
  background: #0066FF !important; color: #fff !important;
  font-family: Ploni, Arial !important; font-weight: 700 !important;
  border-radius: 8px !important; padding: 10px 20px !important;
  margin: 4px 16px 0 !important; width: calc(100% - 32px) !important;
  display: block !important; text-align: center !important;
  border: none !important;
}
/* App popup */
#app-download-popup {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.65); z-index: 999999;
  align-items: center; justify-content: center;
}
#app-download-popup.open { display: flex; }
#app-download-popup .popup-inner {
  background: #fff; border-radius: 20px; padding: 40px 35px;
  text-align: center; max-width: 380px; width: 92%;
  position: relative; direction: rtl;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
body { padding-top: 0 !important; margin-top: 0 !important; }


/* =============================================
   CRITICAL: FULL WIDTH HEADER & FOOTER FIX
   ============================================= */

/* Remove ALL max-width constraints from header/footer */
.elementor-location-header,
.elementor-location-header .elementor,
.elementor-location-header .elementor-59,
.elementor-location-footer,
.elementor-location-footer .elementor,
.elementor-location-footer .elementor-60 {
  width: 100% !important;
  max-width: 100% !important;
}

/* Fix Elementor container boxed width */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .e-parent,
.elementor-location-footer .e-con,
.elementor-location-footer .e-con-inner,
.elementor-location-footer .e-parent {
  max-width: 100% !important;
  --container-max-width: 100% !important;
  --container-default-width: 100% !important;
  width: 100% !important;
}

/* Also fix any sections/columns in header/footer */
.elementor-location-header .elementor-section,
.elementor-location-footer .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-footer .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
}

/* Fix hero section full width */
.elementor-page-39 .e-con.e-parent:first-child {
  max-width: 100% !important;
  --container-max-width: 100% !important;
}

/* Hero text side - right aligned for RTL */
.elementor-page-39 .e-con.e-parent:first-child > .e-con:last-child {
  direction: rtl;
}

/* Site wrapper should not constrain width */
.wp-site-blocks,
body.elementor-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden;
}


/* =============================================
   NUCLEAR WIDTH FIX v2 - Target exact selectors
   ============================================= */

/* Override kit's --container-max-width: 1140px */
.e-con,
.elementor-location-header .e-con,
.elementor-location-footer .e-con {
  --container-max-width: 100% !important;
  max-width: 100% !important;
}

/* Elementor container inner */
.e-con > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
}

/* The elementor wrapper div itself */
.elementor-location-header .elementor,
.elementor-location-footer .elementor {
  width: 100% !important;
  max-width: 100% !important;
}

/* Hello Elementor site-header wrapper */
header.site-header {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Page wrapper */
.wp-site-blocks {
  max-width: 100% !important;
  padding: 0 !important;
}


/* ================================================
   MOBILE RESPONSIVE v3 - Safe House Security
   ================================================ */

/* TABLET (max 1024px) */
@media screen and (max-width: 1024px) {
  .elementor-element-50c5c8c {
    --flex-direction: column !important;
    flex-direction: column !important;
  }
  .elementor-element-50c5c8c > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-765cc1e,
  .elementor-element-7543882 {
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-element-9636333 > .elementor-container {
    flex-wrap: wrap !important;
  }
  .elementor-element-9636333 .elementor-column {
    width: 100% !important;
  }
}

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

  /* HERO - stack */
  .elementor-element-50c5c8c {
    --flex-direction: column !important;
    flex-direction: column !important;
  }
  .elementor-element-50c5c8c > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-765cc1e,
  .elementor-element-7543882 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
  }
  .elementor-element-765cc1e > .e-con-inner > .elementor-element > .elementor-widget-container > div {
    min-height: 300px !important;
    height: 300px !important;
  }
  .elementor-element-7543882 > .e-con-inner {
    padding: 25px 20px !important;
  }

  /* HEADER - hide top bar */
  .elementor-element-8124dec {
    display: none !important;
  }
  .elementor-element-cebaac5 .e-con-inner,
  .elementor-element-f99eebc {
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .elementor-element-2ae7643 .elementor-widget-container img {
    max-width: 130px !important;
  }

  /* FEATURES - 1 col */
  .elementor-element-2763a51 .elementor-widget-container > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .elementor-element-b137b26 {
    --padding-left: 15px !important;
    --padding-right: 15px !important;
  }

  /* CATEGORIES - 1 col */
  .elementor-element-e53bff5 .elementor-widget-container > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .elementor-element-31af53f {
    --padding-left: 15px !important;
    --padding-right: 15px !important;
  }
  .elementor-element-84185a0 .elementor-widget-container div h2 {
    font-size: 26px !important;
  }

  /* PRODUCTS - 1 col */
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  .elementor-element-fe1afb8 {
    --padding-left: 15px !important;
    --padding-right: 15px !important;
  }

  /* APP SECTION - stack */
  .elementor-element-9636333 > .elementor-container {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .elementor-element-d855cba,
  .elementor-element-c19073d {
    width: 100% !important;
  }
  .elementor-element-efc7592 .elementor-widget-container div {
    padding: 30px 20px !important;
  }
  .elementor-element-9636333 {
    --padding-left: 15px !important;
    --padding-right: 15px !important;
  }

  /* CTA */
  .elementor-element-59346ea {
    --padding-left: 15px !important;
    --padding-right: 15px !important;
  }

  /* FOOTER - stack */
  .elementor-element-5e4bd86 > .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element-faf5c90,
  .elementor-element-b110c70,
  .elementor-element-27c4742,
  .elementor-element-31e69a3 {
    width: 100% !important;
    margin-bottom: 24px !important;
  }
  .elementor-element-d36c89b > .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element-d36c89b .elementor-column {
    width: 100% !important;
  }
  .elementor-element-d36c89b p {
    text-align: center !important;
  }
  .elementor-element-5e4bd86 {
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }

  /* GENERAL */
  body { overflow-x: hidden !important; }
  .elementor-top-section {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* NAV HAMBURGER */
  .elementor-nav-menu--main.elementor-nav-menu__container:not(.elementor-nav-menu--dropdown) {
    display: none !important;
  }
  .elementor-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #1A2340 !important;
    font-size: 22px !important;
    background: none !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    width: auto !important;
    height: auto !important;
  }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    border-radius: 8px !important;
    padding: 10px 0 !important;
    direction: rtl !important;
    min-width: 200px !important;
    z-index: 9999 !important;
  }
  .elementor-nav-menu--dropdown .elementor-item {
    padding: 14px 20px !important;
    font-family: Ploni, Arial, sans-serif !important;
    color: #1A2340 !important;
    font-size: 16px !important;
    display: block !important;
    border-bottom: 1px solid #E8EDF5 !important;
  }
  .elementor-nav-menu--dropdown .elementor-item:hover {
    color: #0066FF !important;
    background: #F0F4FF !important;
  }
}

/* SMALL MOBILE (max 480px) */
@media screen and (max-width: 480px) {
  .elementor-element-2763a51 .elementor-widget-container > div {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .elementor-element-4e49ccc .elementor-widget-container div h1 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
}
