/* ==========================================================
   YOGUINI — ASTRA CHILD
   Sidebar desktop compatible con Elementor + portada móvil
   ========================================================== */

:root {
  --yoguini-sidebar-width: 280px;
  --yoguini-sidebar-bg: var(--ast-global-color-4);
  --yoguini-page-bg: var(--ast-global-color-5);
  --yoguini-text: var(--ast-global-color-2);
  --yoguini-border: rgba(32, 33, 56, .10);
  --yoguini-sidebar-x: 28px;
  --yoguini-sidebar-y: 42px;
}

@media (min-width: 769px) {

  body {
    padding-left: var(--yoguini-sidebar-width) !important;
    background: var(--yoguini-page-bg) !important;
  }

  #masthead,
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: var(--yoguini-sidebar-width) !important;
    min-width: var(--yoguini-sidebar-width) !important;
    max-width: var(--yoguini-sidebar-width) !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding-left: var(--yoguini-sidebar-x) !important;
    padding-right: var(--yoguini-sidebar-x) !important;
    box-sizing: border-box !important;
    background: var(--yoguini-sidebar-bg) !important;
    border-right: 1px solid var(--yoguini-border) !important;
    box-shadow: none !important;
    outline: 0 !important;
    z-index: 9999 !important;
    overflow: hidden !important;
  }

  body.admin-bar #masthead,
  body.admin-bar .site-header {
    top: 32px !important;
    height: calc(100vh - 32px) !important;
    min-height: calc(100vh - 32px) !important;
  }

  #masthead *,
  .site-header *,
  .ast-primary-header-bar,
  .main-header-bar,
  .ast-primary-header-bar .ast-container,
  .main-header-bar .ast-container,
  .ast-builder-grid-row,
  .main-header-container,
  .ast-builder-layout-element,
  .ast-builder-menu,
  .ast-builder-menu-1,
  .main-navigation,
  .site-branding,
  .ast-site-identity {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  .ast-primary-header-bar,
  .main-header-bar {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  .ast-primary-header-bar .ast-container,
  .main-header-bar .ast-container {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: var(--yoguini-sidebar-y) 0 !important;
    box-sizing: border-box !important;
  }

  .ast-builder-grid-row,
  .main-header-container {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  .site-branding,
  .ast-site-identity {
    order: 1 !important;
    width: 100% !important;
    min-height: 120px !important;
    margin: 0 0 34px 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  .custom-logo-link,
  .site-logo-img {
    width: 100% !important;
    min-height: 120px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  .custom-logo-link img,
  .site-logo-img img,
  img.custom-logo,
  .ast-site-identity img,
  .site-branding img {
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left top !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .ast-builder-menu,
  .ast-builder-menu-1,
  .main-navigation {
    order: 2 !important;
    width: 100% !important;
    margin: 0 0 48px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .main-header-menu,
  .ast-builder-menu-1 .main-header-menu {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-header-menu .menu-item,
  .ast-builder-menu-1 .main-header-menu .menu-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-header-menu .menu-link:hover,
  .ast-builder-menu-1 .menu-link:hover {
    opacity: .65;
  }

  .ast-header-button-1 {
    order: 3 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ast-header-button-1 .ast-custom-button,
  .ast-custom-button {
    margin: 0 !important;
  }

  #page,
  #content,
  .site-content,
  .ast-separate-container,
  .ast-plain-container {
    background: var(--yoguini-page-bg) !important;
  }

  #content,
  .site-content,
  .site-footer {
    margin-left: 0 !important;
  }

  body:not(.elementor-page) .site-content {
    min-height: 100vh !important;
    padding: 64px 72px !important;
    background: var(--yoguini-page-bg) !important;
  }

  .site-footer {
    display: none !important;
  }

  body.elementor-page #page,
  body.elementor-page #content,
  body.elementor-page .site-content,
  body.elementor-page .content-area,
  body.elementor-page .site-main,
  body.elementor-page article,
  body.elementor-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.elementor-page .elementor {
    width: 100% !important;
    max-width: none !important;
    background: transparent !important;
  }

  body,
  #page,
  #content,
  .site-content,
  .site-footer,
  .ast-container,
  .ast-separate-container,
  .ast-article-single,
  .ast-article-post,
  main,
  article,
  section,
  div {
    outline: 0 !important;
  }

  .mobile-home-screen {
    display: none !important;
  }

  .desktop-front-content {
    display: block !important;
  }
}

@media (max-width: 768px) {

  .desktop-front-content {
    display: none !important;
  }

  .mobile-home-screen {
    min-height: 100vh;
    padding: 48px 24px 96px;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    align-content: start;
    gap: 28px 18px;
    background: #111;
  }

  .app-icon {
    text-align: center;
    text-decoration: none;
    color: #f4f4f4;
    font-size: 13px;
    line-height: 1.2;
  }

  .app-symbol {
    width: 62px;
    height: 62px;
    margin: 0 auto 8px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.12);
    font-size: 26px;
  }
}
