/* GHARELEC — category/listing page styles — auto-extracted, shared & cached across pages */



    .back-button i {
      font-size: 0.9rem;
      transition: transform 0.4s ease;
    }



    @keyframes heroFadeIn {
      0% { opacity: 0; transform: translateY(40px) scale(0.97); }
      100% { opacity: 1; transform: translateY(0) scale(1); }
    }



    .hero-slideshow {
      width: 100%;
      height: 65vh;
      min-height: 400px;
      max-height: 750px;
      position: relative;
      overflow: hidden;
      cursor: pointer;
    }



    .hero-slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transform: scale(0.95);
      transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                  transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      will-change: transform, opacity;
    }



    .hero-slide.active {
      opacity: 1;
      transform: scale(1);
      z-index: 1;
    }



    .hero-slide.fade-out {
      opacity: 0;
      transform: scale(0.95);
      z-index: 2;
    }



    .hero-slide.fade-in {
      opacity: 1;
      transform: scale(1);
      z-index: 3;
    }



    .hero-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      pointer-events: none;
    }



    .hero-track-mobile .hero-slide-mobile {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transform: scale(0.95);
      transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                  transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      will-change: transform, opacity;
    }



    .hero-track-mobile .hero-slide-mobile.active {
      opacity: 1;
      transform: scale(1);
      z-index: 1;
    }



    .hero-track-mobile .hero-slide-mobile.fade-out {
      opacity: 0;
      transform: scale(0.95);
      z-index: 2;
    }



    .hero-track-mobile .hero-slide-mobile.fade-in {
      opacity: 1;
      transform: scale(1);
      z-index: 3;
    }



    .hero-track-mobile .hero-slide-mobile img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      pointer-events: none;
    }



    .hero-track-mobile .hero-slide-mobile .slide-click-area {
      position: absolute;
      inset: 0;
      z-index: 2;
      cursor: pointer;
    }



    @media screen and (max-width: 768px) {
      .hero-slideshow {
        height: 45vh;
        min-height: 280px;
        max-height: 450px;
      }

      .hero-track {
        display: none !important;
      }

      .hero-track-mobile {
        display: block !important;
      }

      .hero-dots {
        bottom: 16px;
        gap: 8px;
        z-index: 20;
      }

      .hero-dot {
        width: 9px;
        height: 9px;
        border-width: 1.5px;
      }

      .hero-arrow-hint {
        display: none;
      }
    }



    @media screen and (max-width: 480px) {
      .hero-slideshow {
        height: 35vh;
        min-height: 200px;
        max-height: 320px;
      }

      .hero-dots {
        bottom: 12px;
        gap: 6px;
      }

      .hero-dot {
        width: 7px;
        height: 7px;
        border-width: 1px;
      }

      .hero-dot.active {
        transform: scale(1.2);
      }
    }



    @media screen and (max-width: 380px) {
      .hero-slideshow {
        height: 30vh;
        min-height: 160px;
        max-height: 250px;
      }

      .hero-dot {
        width: 6px;
        height: 6px;
      }
    }



    .hero-dots {
      position: absolute;
      bottom: 25px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 12px;
      z-index: 20;
    }



    .hero-slideshow:hover .hero-arrow-hint {
      opacity: 1;
    }



    .hero-click-area {
      position: absolute;
      inset: 0;
      z-index: 5;
      cursor: pointer;
    }



    .section-titles.visible {
      opacity: 1;
      transform: translateY(0);
    }



    .section-titles .title-decoration {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      margin-bottom: 20px;
    }



    .section-titles.visible .title-accent {
      width: 150px;
    }



    /* ===== CATEGORIES ===== */
    .categories-container {
      display: flex;
      flex-direction: column;
      gap: 60px;
      margin-top: 10px;
    }



    .category-item.visible {
      opacity: 1;
      transform: translateY(0) scale(1);
    }



    .category-item .description-side {
      padding: 50px 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 16px;
    }



    .category-item .description-side .discover-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      color: #fff;
      background: linear-gradient(145deg, #D62828, #B71C1C);
      padding: 14px 32px;
      border-radius: 60px;
      text-decoration: none;
      transition: all 0.3s ease;
      width: fit-content;
      box-shadow: 0 8px 22px -6px rgba(214, 40, 40, 0.3);
      border: none;
      cursor: pointer;
    }



    .category-item .description-side .discover-btn:hover {
      transform: scale(1.05) translateY(-3px);
      box-shadow: 0 14px 30px -6px rgba(214, 40, 40, 0.55);
    }



    .category-item .description-side .discover-btn i {
      font-size: 0.8rem;
      transition: transform 0.3s ease;
    }



    .category-item .description-side .discover-btn:hover i {
      transform: translateX(6px);
    }



    .category-item .image-side {
      height: 100%;
      min-height: 350px;
      overflow: hidden;
      position: relative;
      cursor: pointer;
    }



    .category-item .image-side img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }



    .category-item:hover .image-side img {
      transform: scale(1.05);
    }



    .category-item .image-side .click-arrow {
      position: absolute;
      bottom: 24px;
      right: 24px;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.2rem;
      transition: all 0.4s ease;
      opacity: 0;
      transform: translateX(10px) scale(0.8);
    }



    .category-item:hover .image-side .click-arrow {
      opacity: 1;
      transform: translateX(0) scale(1);
    }



    .category-item.layout-left .image-side {
      order: 2;
    }


    .category-item.layout-left .description-side {
      order: 1;
    }



    .category-item.layout-right .image-side {
      order: 1;
    }


    .category-item.layout-right .description-side {
      order: 2;
    }



    @media screen and (max-width: 1024px) {
      .category-item .description-side { padding: 30px 28px; }
      .category-item { min-height: 350px; }
      .category-item .image-side { min-height: 300px; }
    }



    @media screen and (max-width: 768px) {
      .category-item {
        grid-template-columns: 1fr;
        gap: 0;
        min-height: auto;
        border-radius: 20px;
      }

      .category-item .image-side {
        order: -1 !important;
        min-height: 250px;
        border-radius: 20px 20px 0 0;
      }

      .category-item .description-side {
        padding: 24px 20px 30px;
        order: 2 !important;
      }

      .category-item .image-side .click-arrow {
        width: 40px;
        height: 40px;
        font-size: 1rem;
        bottom: 16px;
        right: 16px;
        opacity: 1;
        transform: translateX(0) scale(1);
        background: rgba(255, 255, 255, 0.2);
      }

      .category-item .description-side h2 {
        font-size: 1.6rem;
      }

      .page-wrapper {
        padding: 100px 3% 40px;
      }

      .categories-container {
        gap: 30px;
      }

      .category-item .description-side .discover-btn {
        padding: 12px 24px;
        font-size: 0.85rem;
        width: 100%;
        justify-content: center;
      }
    }



    @media screen and (max-width: 480px) {
      .page-wrapper {
        padding: 80px 3% 30px;
      }

      .category-item .image-side {
        min-height: 200px;
      }

      .category-item .description-side h2 {
        font-size: 1.3rem;
      }

      .category-item .description-side .description-text {
        font-size: 0.9rem;
      }

      .categories-container {
        gap: 20px;
      }

      .back-button {
        padding: 10px 20px;
        font-size: 0.8rem;
        margin-bottom: 24px;
      }
    }



    /* ===== FLOATING SOCIAL MENU ===== */
    .float-menu-wrapper {
      position: fixed;
      bottom: 32px;
      left: 32px;
      z-index: 9999;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      pointer-events: none;
    }



    .float-menu-wrapper .menu-toggle-btn {
      pointer-events: auto;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: #8b5cf6;
      border: none;
      box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.3s ease, border-radius 0.3s ease;
      color: white;
      font-size: 28px;
    }



    .float-menu-wrapper .menu-toggle-btn:hover {
      transform: scale(1.08);
      box-shadow: 0 12px 32px rgba(139, 92, 246, 0.5);
    }



    .float-menu-wrapper.open .menu-toggle-btn {
      background: #8b5cf6;
      color: white;
      font-size: 24px;
    }



    .float-menu-wrapper .social-menu {
      pointer-events: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      opacity: 0;
      transform: translateY(20px) scale(0.92);
      transition: opacity 0.3s cubic-bezier(0.2, 0.9, 0.4, 1),
                  transform 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
      visibility: hidden;
      margin-bottom: 6px;
    }



    .float-menu-wrapper.open .social-menu {
      opacity: 1;
      transform: translateY(0) scale(1);
      visibility: visible;
    }



    .float-menu-wrapper .social-btn {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      border: none;
      background: #ede9fe;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07), 0 2px 6px rgba(0, 0, 0, 0.03);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      transition: transform 0.2s ease, box-shadow 0.25s ease, background 0.2s;
      text-decoration: none;
      color: #1e1b2e;
      position: relative;
    }



    .float-menu-wrapper .social-btn.whatsapp {
      background: #25D366;
      color: white;
      box-shadow: 0 6px 18px rgba(37, 211, 102, 0.25);
    }


    .float-menu-wrapper .social-btn.facebook {
      background: #1877F2;
      color: white;
      box-shadow: 0 6px 18px rgba(24, 119, 242, 0.25);
    }


    .float-menu-wrapper .social-btn.tiktok {
      background: #000000;
      color: white;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    }



    .float-menu-wrapper .social-btn:hover {
      transform: scale(1.1) translateY(-3px);
      box-shadow: 0 14px 30px rgba(0, 0, 0, 0.15);
    }


    .float-menu-wrapper .social-btn.whatsapp:hover {
      box-shadow: 0 14px 30px rgba(37, 211, 102, 0.35);
    }


    .float-menu-wrapper .social-btn.facebook:hover {
      box-shadow: 0 14px 30px rgba(24, 119, 242, 0.35);
    }


    .float-menu-wrapper .social-btn.tiktok:hover {
      box-shadow: 0 14px 30px rgba(0, 0, 0, 0.25);
    }



    @media (max-width: 640px) {
      .float-menu-wrapper {
        bottom: 20px;
        left: 20px;
      }
      .float-menu-wrapper .menu-toggle-btn {
        width: 52px;
        height: 52px;
        font-size: 24px;
      }
      .float-menu-wrapper .social-btn {
        width: 48px;
        height: 48px;
        font-size: 22px;
      }
      .float-menu-wrapper .social-menu {
        gap: 12px;
      }
    }
