/*
 * LIVI Mobile Overrides
 * assets/css/livi-mobile.css
 *
 * Mobile-first глобальні коригування.
 * Більшість кастомерів — з мобільного.
 */

/* ── GLOBAL MOBILE ─────────────────────────────────────── */

@media (max-width: 768px) {

  /* Контейнер */
  .livi-container {
    padding: 0 16px;
  }

  /* Секції */
  .livi-section    { padding: 56px 0; }
  .livi-section-sm { padding: 40px 0; }
  .livi-section-lg { padding: 64px 0; }

  /* Кнопки — збільшити зону тапу */
  .livi-btn {
    padding:   14px 28px;
    min-height: 48px;
  }
  .livi-btn-sm { padding: 12px 20px !important; }

  /* Сітка */
  .livi-grid-3,
  .livi-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .livi-grid-2 { gap: 12px; }

  /* Section header between → stack */
  .livi-section-header--between {
    flex-direction: column;
    align-items:    flex-start;
    gap:            16px;
  }

}

@media (max-width: 480px) {
  .livi-section-title {
    font-size: 22px !important;
  }
}

/* ── WOOCOMMERCE MOBILE ─────────────────────────────────── */

@media (max-width: 768px) {

  /* Картки — 2 колонки */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Single product */
  .woocommerce div.product .product_title {
    font-size: 20px !important;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: var(--livi-text-lg) !important;
  }

  /* Cart таблиця — адаптація */
  .woocommerce table.cart .product-thumbnail {
    display: none !important;
  }

}

/* ── PORTO HEADER MOBILE ────────────────────────────────── */

@media (max-width: 991px) {

  body.home #header,
  body.home #header .header-main,
  body.home #header .header-wrapper {
    background: var(--livi-white) !important;
  }

  body.home #header .header-main {
    min-height: 62px;
  }

  body.home #header .header-main .container,
  body.home #header .header-main .container-fluid,
  body.home #header .header-row,
  body.home #header .header-col {
    min-height: 62px;
    align-items: center;
  }

  body.home #header .header-row {
    gap: 12px;
  }

  body.home #header .logo,
  body.home #header .header-logo,
  body.home #header .site-logo {
    display: flex !important;
    align-items: center;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.home #header .logo a,
  body.home #header .header-logo a,
  body.home #header .site-logo a {
    display: inline-flex !important;
    align-items: center;
    color: var(--livi-black) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    line-height: 1 !important;
    white-space: nowrap;
  }

  body.home #header .logo img,
  body.home #header .header-logo img,
  body.home #header .site-logo img {
    display: block !important;
    width: auto !important;
    max-width: 132px !important;
    max-height: 32px !important;
    object-fit: contain;
    opacity: 1 !important;
    visibility: visible !important;
    filter: brightness(0) !important;
  }

  body.home #header .logo img:not(:first-of-type),
  body.home #header .header-logo img:not(:first-of-type),
  body.home #header .site-logo img:not(:first-of-type),
  body.home #header .logo .sticky-logo,
  body.home #header .header-logo .sticky-logo,
  body.home #header .site-logo .sticky-logo {
    display: none !important;
  }

  body.home #header a,
  body.home #header .mobile-toggle,
  body.home #header .search-toggle,
  body.home #header .cart-icon,
  body.home #header i {
    color: var(--livi-black) !important;
  }

  body.home #header .header-right,
  body.home #header .header-col:last-child {
    margin-left: auto;
    gap: 10px;
  }

  body.home #header .cart-items,
  body.home #header .cart-count,
  body.home #header .cart-qty,
  body.home #header .cart-items-count,
  body.home #header .cart-count-badge,
  body.home #header .mini-cart .count,
  body.home #header .mybag-link .count {
    top: -2px !important;
    right: -4px !important;
    min-width: 17px !important;
    height: 17px !important;
    font-size: 10px !important;
    line-height: 17px !important;
  }

  /* Прибрати Porto-стандартне горизонтальне меню */
  .header-main-menu {
    display: none;
  }

  /* Логотип центр */
  .header-logo {
    text-align: center;
  }

}

/* ── TAP TARGETS ────────────────────────────────────────── */

@media (max-width: 768px) {

  /* Мінімум 44px для всіх кнопок */
  .woocommerce a.button,
  .woocommerce button.button,
  .livi-btn {
    min-height: 44px !important;
  }

  /* Category pills — горизонтальний скрол */
  .livi-pills {
    overflow-x:     auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: var(--sp-2);
    flex-wrap:      nowrap !important;
  }
  .livi-pills::-webkit-scrollbar { display: none; }

  .livi-pills .livi-pill {
    flex-shrink: 0;
  }

}


/* Hide social icons in mobile menu */
@media (max-width: 991px) {
  .mobile-sidebar .social-icons,
  .mobile-menu .social-icons,
  #mobile-menu .social-icons {
    display: none !important;
  }
}

/* Hide social icons in mobile menu */
@media (max-width: 991px) {
  .elementor-element-ad2146b,
  .panel-opened .elementor-widget-porto_social_icons {
    display: none !important;
  }
}

/* Hide social icons in mobile sidebar */
@media (max-width: 991px) {
  [data-elementor-id="2433"] .elementor-widget-porto_social_icons,
  [data-elementor-id="2433"] .elementor-element-ad2146b {
    display: none !important;
  }
}

@media (max-width: 991px) {

  /* Hide desktop mega menu on mobile */
  ul.main-menu.mega-menu,
  ul.main-menu {
    display: none !important;
  }

  /* Hide desktop menu container on mobile */
  .elementor-element-c738a83 {
    display: none !important;
  }

  /* Offset mobile menu for WordPress admin bar */
  .logged-in .panel-left,
  .logged-in .menu-wrap {
    padding-top: 46px !important;
  }

  /* For non-logged-in users - no offset needed */
  .panel-left {
    overflow-y: auto !important;
  }

}

@media (max-width: 991px) {
  /* Hide only the nolink Block placeholder */
  .accordion-menu li.menu-block-item > a.nolink,
  .accordion-menu li.menu-block-item > a.desktop-link-hide {
    display: none !important;
  }

  /* Hide Elementor headings placeholder "ЗАГОЛОВОК" */
  .accordion-menu .elementor-heading-title {
    display: none !important;
  }

  /* Show subcategory links normally */
  .accordion-menu .elementor-icon-list-items a,
  .accordion-menu .elementor-icon-list-text {
    display: block !important;
  }

  /* Hide Block nolink text */
  .accordion-menu li.menu-block-item > a {
    display: none !important;
  }

  /* Remove extra spacing in mobile submenu */
  .accordion-menu li.menu-block-item {
    padding: 0 !important;
    margin: 0 !important;
  }

  .accordion-menu .menu-block-after {
    padding: 0 !important;
    margin: 0 !important;
  }

  .accordion-menu .porto-block {
    padding: 0 !important;
    margin: 0 !important;
  }

  .accordion-menu .elementor {
    padding: 0 !important;
    margin: 0 !important;
  }

}

@media (max-width: 991px) {

  /* Hide Block nolink text */
  .accordion-menu li.menu-block-item > a {
    display: none !important;
  }

  /* Force single column layout in mobile submenu */
  .accordion-menu .elementor.e-con-full,
  .accordion-menu .e-con,
  .accordion-menu .e-flex {
    flex-direction: column !important;
    display: flex !important;
    width: 100% !important;
    padding: 0 16px !important;
    gap: 0 !important;
  }

  /* Each column full width */
  .accordion-menu .e-con.e-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
  }

  /* Subcategory links */
  .accordion-menu .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
  }

  .accordion-menu .elementor-icon-list-item {
    width: 100% !important;
  }

  .accordion-menu .elementor-icon-list-item a {
    font-family: var(--livi-font) !important;
    font-size: 13px !important;
    color: var(--livi-text) !important;
    padding: 8px 0 !important;
    display: block !important;
    border-bottom: 1px solid var(--livi-line) !important;
  }

  .accordion-menu .elementor-icon-list-item a:hover {
    color: var(--livi-accent) !important;
  }

  .accordion-menu .elementor-icon-list-icon {
    display: none !important;
  }

  /* Remove extra margins from Elementor containers */
  .accordion-menu .porto-block,
  .accordion-menu .menu-block-after {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide Block text completely */
  .accordion-menu li.menu-block-item > a {
    display: none !important;
  }

  /* Remove bottom empty space in submenu */
  .accordion-menu li.menu-block-item {
    margin: 0 !important;
    padding: 0 !important;
  }

  .accordion-menu .sub-menu {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .accordion-menu .porto-block {
    margin: 0 !important;
    padding: 0 !important;
  }

  .accordion-menu [data-elementor-type] {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide empty space after last list item */
  .accordion-menu .elementor-icon-list-items {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Hide Block nolink by exact class */
  a.nolink.desktop-link-hide {
    display: none !important;
  }

  /* Fix accessories-block height in mobile submenu */
  .accordion-menu .accessories-block {
    height: auto !important;
    min-height: 0 !important;
  }

  /* Remove fixed heights from all Elementor containers in mobile menu */
  .accordion-menu .e-con,
  .accordion-menu .e-con-full,
  .accordion-menu .elementor {
    height: auto !important;
    min-height: 0 !important;
  }

  /* Hide promo banners in mobile submenu */
  .accordion-menu .elementor-widget-porto_ultimate_heading,
  .accordion-menu .elementor-widget-porto_button,
  .accordion-menu [data-widget_type="porto_ultimate_heading.default"],
  .accordion-menu [data-widget_type="porto_button.default"] {
    display: none !important;
  }

  /* Remove grey divider lines between subcategory items */
  .accordion-menu .elementor-icon-list-item {
    border-bottom: none !important;
    border-top: none !important;
  }

  .accordion-menu .elementor-icon-list-item a {
    border-bottom: 1px solid var(--livi-line) !important;
  }

  .accordion-menu .elementor-icon-list-item:last-child a {
    border-bottom: none !important;
  }

  /* Normalize spacing between all subcategory items */
  .accordion-menu .elementor-icon-list-items {
    margin: 0 !important;
    padding: 0 !important;
  }

  .accordion-menu .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  .accordion-menu .elementor-icon-list-item a {
    padding: 10px 16px !important;
    border-bottom: 1px solid var(--livi-line) !important;
    margin: 0 !important;
    display: block !important;
  }

  .accordion-menu .elementor-icon-list-item:last-child a {
    border-bottom: none !important;
  }

  /* Remove gap between two Elementor columns */
  .accordion-menu .e-con.e-child {
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  /* Remove bottom padding from last column */
  .accordion-menu .e-con.e-child:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Remove gap between two list groups (two Elementor columns) */
  .accordion-menu .e-con.e-child + .e-con.e-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Remove top padding before first item */
  .accordion-menu .e-con-full.accessories-block {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .accordion-menu .e-con-full > .e-con:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Remove gap between two Elementor list groups */
  .accordion-menu .category-block {
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .accordion-menu .category-block > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  /* Remove gap between subcategory list groups */
  .accordion-menu .elementor-element-a561d9e {
    gap: 0 !important;
  }

  /* Hide heading placeholder that takes space in mobile submenu */
  .accordion-menu .elementor-element-866ad42 .elementor-widget-heading,
  .accordion-menu .elementor-widget-heading {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

}
