
/* ==========================================================
   IREMA 1.7.47 - Fixed mobile Toolbar panel height
   Same height as native module window: min(28dvh,250px)
   Properties above, horizontal navigation pinned below.
   Presentation only.
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-native-panel{
    pointer-events:auto !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:hidden !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;

    display:none !important;
    flex-flow:column nowrap !important;
    align-items:stretch !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    /* Same explicit height as Main Bar module content */
    height:min(28dvh,250px) !important;
    max-height:min(28dvh,250px) !important;
    min-height:min(28dvh,250px) !important;

    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;

    background:rgba(255,255,255,.88) !important;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    border-radius:14px 14px 0 0 !important;
    box-shadow:0 -8px 22px rgba(0,0,0,.11) !important;

    pointer-events:auto !important;
    touch-action:manipulation !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-native-panel
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile{
    display:flex !important;
  }

  /* ========================================================
     PROPERTIES AREA
     ======================================================== */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-sub-panel{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;

    order:1 !important;
    display:block !important;
    flex:1 1 0 !important;

    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch;

    background:rgba(255,255,255,.82) !important;
    box-shadow:none !important;
    touch-action:pan-y !important;
    z-index:1 !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-sub-panel > [class*="irema-panel-"]{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    box-sizing:border-box !important;
  }

  /* ========================================================
     BOTTOM HORIZONTAL NAVIGATION
     ======================================================== */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav{
    position:relative !important;

    order:2 !important;
    display:flex !important;
    flex:0 0 62px !important;
    flex-direction:row !important;

    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:62px !important;
    min-height:62px !important;
    max-height:62px !important;

    margin:0 !important;
    padding:3px 4px !important;
    box-sizing:border-box !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;

    background:rgba(255,255,255,.97) !important;
    border-top:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 -4px 10px rgba(0,0,0,.04) !important;

    touch-action:pan-x !important;
    z-index:3 !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav > div{
    display:flex !important;
    flex:0 0 auto !important;
    flex-flow:row nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    width:max-content !important;
    min-width:max-content !important;
    max-width:none !important;
    height:100% !important;

    overflow:visible !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav > div > [class^="irema-tool-"],
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav > [class^="irema-tool-"]{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:64px !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"]:not(.irema-hidden){
    display:flex;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-native-panel > .irema-module-content{
    display:none !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar input,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar select,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar textarea,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar button,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar irema-dropdown,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar irema-range-slider{
    pointer-events:auto !important;
  }
}


/* ==========================================================
   IREMA 1.7.48 - Exclusive selected-object mode
   Selected object: Toolbar replaces Main Bar.
   Deselected object: Main Bar returns, Toolbar disappears.
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){

  /*
   * The mobile UI already exposes the authoritative state:
   * .irema-mobile-toolbar-open === Fabric has an active object.
   *
   * Hide the complete proxy row (modules + Undo/Redo) while the contextual
   * Toolbar owns the interaction.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-mainbar-proxy{
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  /*
   * If a native Main Bar navigation is still present behind the proxy on a
   * particular layout, hide its navigation/actions as well.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-mainbar-host > irema-main-bar > .irema-navigation,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-mainbar-host > irema-main-bar > .irema-actions{
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  /*
   * With Main Bar hidden, let Toolbar use its bottom slot. This makes the
   * horizontal Toolbar navigation the actual bottom control row while an
   * object is selected, instead of leaving an empty 64px band below it.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-native-panel{
    bottom:env(safe-area-inset-bottom) !important;
  }

  /*
   * Deselection removes .irema-mobile-toolbar-open in the stable selection
   * flow. Explicitly restore Main Bar visibility for clarity and to beat any
   * inherited opacity/visibility rule from page builders.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui:not(.irema-mobile-toolbar-open)
  .irema-3d-mobile-mainbar-proxy{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui:not(.irema-mobile-toolbar-open)
  .irema-3d-mobile-mainbar-host > irema-main-bar > .irema-navigation,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui:not(.irema-mobile-toolbar-open)
  .irema-3d-mobile-mainbar-host > irema-main-bar > .irema-actions{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}


/* ==========================================================
   IREMA 1.7.51 - Unified mobile navigation height
   Toolbar + Main Bar share the same taller horizontal row.
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){

  body.irema-3d-mobile-mode{
    --irema-mobile-wp-header-height:
      var(--wp-admin--admin-bar--height, 0px);

    --irema-mobile-ui-height:
      calc(100svh - var(--irema-mobile-wp-header-height));

    /*
     * One single navigation metric for Toolbar and Main Bar.
     * Taller row prevents native labels/tags from being clipped.
     */
    --irema-mobile-nav-row-height:92px;
    --irema-mobile-nav-item-min-width:82px;

    --irema-mobile-toolbar-expanded-height:min(54svh,500px);
  }

  body.irema-3d-mobile-mode .irema-3d-mobile-ui{
    height:var(--irema-mobile-ui-height) !important;
    min-height:var(--irema-mobile-ui-height) !important;
    max-height:var(--irema-mobile-ui-height) !important;
    overflow:hidden !important;
  }

  body.irema-3d-mobile-mode .irema-3d-mobile-preview-placeholder{
    width:calc(
      var(--irema-mobile-ui-height)
      - var(--irema-mobile-nav-row-height)
      - env(safe-area-inset-bottom)
    ) !important;

    height:calc(
      var(--irema-mobile-ui-height)
      - var(--irema-mobile-nav-row-height)
      - env(safe-area-inset-bottom)
    ) !important;

    min-width:0 !important;
    max-width:none !important;
    max-height:none !important;
    aspect-ratio:1 / 1 !important;
  }


  /* ========================================================
     MAIN BAR - same row height as Toolbar
     ======================================================== */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-host{
    flex:0 0 calc(
      var(--irema-mobile-nav-row-height)
      + env(safe-area-inset-bottom)
    ) !important;

    height:calc(
      var(--irema-mobile-nav-row-height)
      + env(safe-area-inset-bottom)
    ) !important;

    min-height:calc(
      var(--irema-mobile-nav-row-height)
      + env(safe-area-inset-bottom)
    ) !important;

    background:var(--irema-primary-color) !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-proxy{
    display:flex !important;
    grid-template-columns:none !important;
    flex-flow:row nowrap !important;
    align-items:stretch !important;

    left:0 !important;
    right:0 !important;
    bottom:env(safe-area-inset-bottom) !important;

    width:100% !important;
    height:var(--irema-mobile-nav-row-height) !important;
    min-height:var(--irema-mobile-nav-row-height) !important;
    max-height:var(--irema-mobile-nav-row-height) !important;

    padding:0 !important;
    box-sizing:border-box !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain !important;
    -webkit-overflow-scrolling:touch;

    background:var(--irema-primary-color) !important;
    border-top-color:rgba(255,255,255,.18) !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn{
    flex:0 0 var(--irema-mobile-nav-item-min-width) !important;
    width:var(--irema-mobile-nav-item-min-width) !important;
    min-width:var(--irema-mobile-nav-item-min-width) !important;
    max-width:var(--irema-mobile-nav-item-min-width) !important;

    height:var(--irema-mobile-nav-row-height) !important;
    min-height:var(--irema-mobile-nav-row-height) !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    gap:2px !important;
    padding:8px 4px 7px !important;
    box-sizing:border-box !important;

    background:transparent !important;
    color:var(--irema-primary-fg-color) !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn > span{
    margin:0 !important;
    padding:0 !important;
    font-size:26px !important;
    line-height:28px !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn > small{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:13px !important;
    white-space:nowrap !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn > span,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn > small{
    color:inherit !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn.irema-active,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-mainbar-btn:not(.irema-disabled):active{
    background:var(--irema-secondary-color) !important;
    color:var(--irema-secondary-fg-color) !important;
  }


  /* ========================================================
     TOOLBAR - collapsed row only after selection
     ======================================================== */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-native-panel{
    bottom:env(safe-area-inset-bottom) !important;
    max-height:var(--irema-mobile-toolbar-expanded-height) !important;
    overflow:visible !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-mainbar-proxy,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-mainbar-host > irema-main-bar > .irema-navigation,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-mainbar-host > irema-main-bar > .irema-actions{
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile{
    position:relative !important;
    inset:auto !important;
    transform:none !important;

    display:none !important;
    flex-flow:column nowrap !important;
    align-items:stretch !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:var(--irema-mobile-nav-row-height) !important;
    min-height:var(--irema-mobile-nav-row-height) !important;
    max-height:var(--irema-mobile-nav-row-height) !important;

    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;

    pointer-events:auto !important;
    touch-action:manipulation !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-ui.irema-mobile-toolbar-open
  .irema-3d-mobile-native-panel
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile{
    display:flex !important;
  }


  /* ========================================================
     TOOLBAR NAVIGATION - same height as Main Bar
     ======================================================== */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav{
    order:2 !important;
    position:relative !important;

    display:flex !important;
    flex:0 0 var(--irema-mobile-nav-row-height) !important;
    flex-direction:row !important;
    align-items:stretch !important;

    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;

    height:var(--irema-mobile-nav-row-height) !important;
    min-height:var(--irema-mobile-nav-row-height) !important;
    max-height:var(--irema-mobile-nav-row-height) !important;

    margin:0 !important;
    padding:4px !important;
    box-sizing:border-box !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain !important;
    -webkit-overflow-scrolling:touch;

    touch-action:pan-x !important;
    z-index:3 !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav > div{
    display:flex !important;
    flex:0 0 auto !important;
    flex-flow:row nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    width:max-content !important;
    min-width:max-content !important;
    max-width:none !important;

    height:100% !important;
    overflow:visible !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav > div > [class^="irema-tool-"],
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav > [class^="irema-tool-"]{
    flex:0 0 var(--irema-mobile-nav-item-min-width) !important;
    width:var(--irema-mobile-nav-item-min-width) !important;
    min-width:var(--irema-mobile-nav-item-min-width) !important;
    max-width:var(--irema-mobile-nav-item-min-width) !important;

    height:100% !important;
    min-height:0 !important;

    display:flex;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    gap:2px !important;
    padding:7px 4px 6px !important;
    box-sizing:border-box !important;
  }

  /*
   * Native toolbar icons and labels are often nested differently per tool.
   * Tighten generic vertical spacing without changing native colors.
   */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"] > *{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"] i,
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"] [class^="irema-icon-"]{
    line-height:28px !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"] .irema-label,
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"] small,
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav [class^="irema-tool-"] label{
    margin-top:1px !important;
    line-height:13px !important;
  }


  /* ========================================================
     OPTIONS PANEL
     Closed until IREMA marks Toolbar panel visible.
     ======================================================== */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-sub-panel{
    order:1 !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;

    display:none !important;

    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;

    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch;

    touch-action:pan-y !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile.irema-panel-visible{
    height:var(--irema-mobile-toolbar-expanded-height) !important;
    min-height:0 !important;
    max-height:var(--irema-mobile-toolbar-expanded-height) !important;
    overflow:hidden !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile.irema-panel-visible
  > .irema-sub-panel{
    display:block !important;
    flex:1 1 0 !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-sub-panel > [class*="irema-panel-"]{
    position:relative !important;
    inset:auto !important;
    transform:none !important;

    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;

    box-sizing:border-box !important;
  }

  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar input,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar select,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar textarea,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar button,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar irema-dropdown,
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-native-panel
  > irema-element-toolbar irema-range-slider{
    pointer-events:auto !important;
  }
}

@media (max-width:782px){
  body.admin-bar.irema-3d-mobile-mode{
    --irema-mobile-wp-header-height:
      var(--wp-admin--admin-bar--height, 46px);
  }
}


/* ==========================================================
   IREMA 1.7.57 - Mobile text Size & Spacing tool
   Hide inline numeric field in horizontal Toolbar row.
   Preserve native icon + label + native panel action.
   CSS ONLY
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){

  /*
   * Native markup already contains:
   * .irema-tool-text-size[data-panel="text-size"]
   *   input.irema-input
   *   .irema-icon-font-size
   *   .irema-label "Size & Spacing"
   *
   * Desktop shows the semantic icon/label. Mobile had the inline input visible
   * in the horizontal row, so hide only that field.
   */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav
  .irema-tool-text-size > input.irema-input{
    display:none !important;
  }

  /*
   * IREMA 1.7.330 — keep Mobile 3D Toolbar capabilities identical to Desktop.
   * Size & Spacing is a TEXT-only tool. Never resurrect it when the native
   * Toolbar has hidden it for an image/SVG element.
   */
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  .irema-tools-nav
  .irema-tool-text-size.irema-hidden{
    display:none !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile[data-element-type="text"]
  .irema-tools-nav
  .irema-tool-text-size:not(.irema-hidden){
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile[data-element-type="text"]
  .irema-tools-nav
  .irema-tool-text-size:not(.irema-hidden) > .irema-icon-font-size{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:28px !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile[data-element-type="text"]
  .irema-tools-nav
  .irema-tool-text-size:not(.irema-hidden) > .irema-label{
    display:block !important;
    margin:1px 0 0 !important;
    padding:0 !important;
    line-height:13px !important;
    white-space:normal !important;
    text-align:center !important;
  }
}


/* ==========================================================
   IREMA 1.7.78 - Toolbar tools in MainBar row; properties above
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){

  /*
   * Complete native Toolbar stays intact. Only its layout changes.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;

    width:100% !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;

    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;

    overflow:visible !important;
    transform:none !important;
  }

  /*
   * Tools = same main row previously occupied by modules.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;

    display:flex !important;
    flex-flow:row nowrap !important;

    width:100% !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;

    margin:0 !important;
    box-sizing:border-box !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x !important;
  }

  /*
   * Properties = desktop sidebar equivalent.
   * They are the native .irema-sub-panel and open ABOVE the common row.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-sub-panel{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:64px !important;
    top:auto !important;

    width:100% !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;

    margin:0 !important;
    box-sizing:border-box !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;

    z-index:165 !important;
  }

  /*
   * Native Back belongs to the sidebar/options area.
   */
  body.irema-3d-mobile-runtime-ready
  .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-close-sub-panel{
    position:absolute !important;
    left:0 !important;
    bottom:calc(64px + 250px - 42px) !important;
    top:auto !important;
    z-index:166 !important;
  }
}


/* ==========================================================
   IREMA 1.7.81 - Transparent toolbar strip while glyph active
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){

  body.irema-3d-mobile-runtime-ready
  #irema-3d-mobile-ui.irema-mobile-glyph-active
  .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile,
  body.irema-3d-mobile-runtime-ready
  #irema-3d-mobile-ui.irema-mobile-glyph-active
  .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
  > .irema-tools-nav{
    background:transparent !important;
    background-color:transparent !important;
    box-shadow:none !important;
  }
}


/* IREMA 1.7.330 — Smart Toolbar compact spacing */
irema-element-toolbar.irema-smart > .irema-tools-nav > div{
  margin:0 !important;
}
irema-element-toolbar.irema-smart .irema-tools-nav > div{
  margin:0 !important;
}


/* IREMA 1.7.330 — Mobile Toolbar: reserve vertical space for icon labels */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){
  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart
  .irema-tools-nav > div{
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  body.irema-3d-mobile-runtime-ready
  irema-element-toolbar.irema-smart
  .irema-tools-nav > div:not(.irema-hidden) > .irema-label{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}


/* ==========================================================
   IREMA 1.7.429 — Mobile native Toolbar property panel
   The native Toolbar owns .irema-panel-visible. Keep the complete native
   sub-panel above the bottom tool row; do not rely on theme/sidebar overflow.
   ========================================================== */
@media (max-width:1024px) and (orientation:portrait), (max-height:599px) and (hover:none) and (pointer:coarse){
  body.irema-3d-mobile-runtime-ready
  #irema-3d-mobile-ui .irema-3d-mobile-toolbar-row,
  body.irema-3d-mobile-runtime-ready
  #irema-3d-mobile-ui .irema-3d-mobile-toolbar-row > irema-element-toolbar.irema-3d-toolbar-mobile{
    overflow:visible !important;
  }

  body.irema-3d-mobile-runtime-ready
  #irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-3d-toolbar-mobile.irema-panel-visible
  > .irema-sub-panel{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:1000002 !important;
  }

  body.irema-3d-mobile-runtime-ready
  #irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
  > irema-element-toolbar.irema-3d-toolbar-mobile.irema-panel-visible
  > .irema-close-sub-panel{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:1000003 !important;
  }
}

/* ==========================================================
   IREMA 1.7.433 — Tablet ONE-column = Mobile 3D property panel
   WooCommerce column layout is authoritative. A touch tablet in a true
   one-column product page must use the same bottom Toolbar and upward-opening
   native property panel as Mobile 3D, regardless of portrait/landscape media
   queries or viewport height.
   ========================================================== */
body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row,
body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row > irema-element-toolbar.irema-3d-toolbar-mobile{
  overflow:visible !important;
}

body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:100% !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:160 !important;
}

body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui.irema-mobile-toolbar-open .irema-3d-mobile-toolbar-row{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
> .irema-tools-nav{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  display:flex !important;
  flex-flow:row nowrap !important;
  width:100% !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x !important;
}

/* The property sidebar is the native Smart sub-panel: open it UPWARD. */
body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
> .irema-sub-panel{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:64px !important;
  top:auto !important;
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  z-index:1000002 !important;
}

body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile
> .irema-close-sub-panel{
  position:absolute !important;
  left:0 !important;
  bottom:272px !important;
  top:auto !important;
  z-index:1000003 !important;
}

body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-3d-toolbar-mobile.irema-panel-visible
> .irema-sub-panel{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

body.irema-touch-tablet.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-3d-toolbar-mobile.irema-panel-visible
> .irema-close-sub-panel{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* ==========================================================
   IREMA 1.7.459 — One-column Toolbar width = MainBar width
   WooCommerce one-column is authoritative for every touch device.
   Keep the complete native Toolbar row/panel locked to the exact Mobile 3D
   root width instead of allowing the custom element to use intrinsic width.
   ========================================================== */
body.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row,
body.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-native-panel,
body.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row > irema-element-toolbar.irema-3d-toolbar-mobile,
body.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row > irema-element-toolbar.irema-smart.irema-3d-toolbar-mobile{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

body.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-3d-toolbar-mobile > .irema-tools-nav,
body.irema-tablet-one-column.irema-3d-mobile-runtime-ready
#irema-3d-mobile-ui .irema-3d-mobile-toolbar-row
> irema-element-toolbar.irema-3d-toolbar-mobile > .irema-sub-panel{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}


