/*
Theme Name: Celebration Station TT
Theme URI: https://celebrationstationtt.com/
Author: Celebration Station
Author URI: https://celebrationstationtt.com/
Description: Custom full-bleed WooCommerce storefront theme for Celebration Station Trinidad & Tobago.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 9.5
License: GPL v2 or later
Text Domain: celebration-station
*/


    /* ==========================================================================
       1. WORDPRESS, X THEME & CORNERSTONE FULL-BLEED RESET
       Note: Zero square brackets are used in this stylesheet so WordPress
       do_shortcode() never mistakes CSS selectors for shortcodes.
       ========================================================================== */
    body {
      margin: 0 !important;
      padding: 0 !important;
      background-color: #faf7f2 !important;
      overflow-x: hidden !important;
    }
    body.home .masthead,
    body.page-id-484 .masthead,
    body.home .x-colophon,
    body.page-id-484 .x-colophon,
    body.home .woocommerce-store-notice,
    body.page-id-484 .woocommerce-store-notice {
      display: none !important;
    }
    body.home .site,
    body.home .x-site,
    body.page-id-484 .site,
    body.page-id-484 .x-site,
    body.home .x-container.max.width,
    body.page-id-484 .x-container.max.width,
    body.home .entry-wrap,
    body.page-id-484 .entry-wrap,
    body.home .entry-content,
    body.page-id-484 .entry-content {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      box-shadow: none !important;
      background: transparent !important;
    }
    #cs-celebration-redesign,
    #cs-celebration-redesign *,
    #cs-celebration-redesign *::before,
    #cs-celebration-redesign *::after {
      box-sizing: border-box !important;
    }
    #cs-celebration-redesign p:empty,
    #cs-celebration-redesign br.wpautop-br {
      display: none !important;
    }
    #cs-celebration-redesign {
      --cs-purple: #662d92;
      --cs-purple-dark: #471a6b;
      --cs-purple-light: #f5effb;
      --cs-aqua: #46cfb0;
      --cs-aqua-dark: #0d9488;
      --cs-teal: #0aba7b;
      --cs-coral: #ff2a13;
      --cs-coral-dark: #dc1e08;
      --cs-amber: #ffa51e;
      --cs-amber-light: #fef3c7;
      --cs-sky: #3096de;
      --cs-sky-dark: #1d70b8;
      --cs-cream: #faf7f2;
      --cs-ink: #0f172a;
      --cs-slate: #334155;
      --cs-muted: #64748b;
      --cs-border: #e2e8f0;
      --cs-card: #ffffff;
      font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
      font-size: 16px !important;
      line-height: 1.55 !important;
      color: var(--cs-ink) !important;
      background-color: var(--cs-cream) !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 auto !important;
      text-align: left !important;
      position: relative !important;
      min-height: 100vh !important;
      display: flex !important;
      flex-direction: column !important;
    }
    #cs-celebration-redesign h1,
    #cs-celebration-redesign h2,
    #cs-celebration-redesign h3,
    #cs-celebration-redesign h4,
    #cs-celebration-redesign .cs-font-display {
      font-family: 'Fredoka', sans-serif !important;
      color: var(--cs-ink) !important;
      letter-spacing: -0.01em !important;
      line-height: 1.18 !important;
      margin: 0 !important;
      padding: 0 !important;
      text-transform: none !important;
    }
    #cs-celebration-redesign p {
      margin: 0 !important;
      padding: 0 !important;
    }
    #cs-celebration-redesign a {
      text-decoration: none !important;
      color: inherit !important;
      transition: all 0.22s ease !important;
    }
    #cs-celebration-redesign button,
    #cs-celebration-redesign .cs-btn,
    #cs-celebration-redesign .button {
      font-family: 'Plus Jakarta Sans', sans-serif !important;
      text-shadow: none !important;
      box-shadow: none !important;
      margin: 0 !important;
      cursor: pointer !important;
      transition: all 0.22s ease !important;
    }
    #cs-celebration-redesign img {
      max-width: 100% !important;
      height: auto !important;
      display: block !important;
    }
    #cs-celebration-redesign .cs-container {
      width: 100% !important;
      max-width: 1320px !important;
      margin-left: auto !important;
      margin-right: auto !important;
      padding-left: 1.25rem !important;
      padding-right: 1.25rem !important;
    }
    /* ==========================================================================
       2. TOP ANNOUNCEMENT & STORE POLICY BAR
       ========================================================================== */
    #cs-celebration-redesign .cs-topbar {
      background: linear-gradient(90deg, #471a6b 0%, #662d92 50%, #471a6b 100%) !important;
      color: #ffffff !important;
      padding: 0.6rem 0 !important;
      font-size: 0.8125rem !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
      position: relative !important;
      z-index: 50 !important;
    }
    #cs-celebration-redesign .cs-topbar-inner {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 0.65rem !important;
    }
    #cs-celebration-redesign .cs-topbar-left {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      gap: 0.65rem !important;
    }
    #cs-celebration-redesign .cs-amber-pill {
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.35rem !important;
      background-color: var(--cs-amber) !important;
      color: #0f172a !important;
      font-weight: 800 !important;
      font-size: 0.7rem !important;
      text-transform: uppercase !important;
      letter-spacing: 0.04em !important;
      padding: 0.22rem 0.7rem !important;
      border-radius: 9999px !important;
    }
    #cs-celebration-redesign .cs-topbar-link {
      background: rgba(255, 255, 255, 0.14) !important;
      color: #fde68a !important;
      border: 1px solid rgba(255, 255, 255, 0.2) !important;
      border-radius: 9999px !important;
      padding: 0.22rem 0.75rem !important;
      font-size: 0.75rem !important;
      font-weight: 700 !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.35rem !important;
    }
    #cs-celebration-redesign .cs-topbar-link:hover {
      background: rgba(255, 255, 255, 0.25) !important;
      color: #ffffff !important;
    }
    /* ==========================================================================
       3. STICKY BRAND HEADER & AQUA NAVIGATION BAR
       ========================================================================== */
    #cs-celebration-redesign .cs-header {
      position: sticky !important;
      top: 0 !important;
      z-index: 45 !important;
      background: rgba(255, 255, 255, 0.97) !important;
      backdrop-filter: blur(12px) !important;
      box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.06) !important;
    }
    #cs-celebration-redesign .cs-header-main {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 1rem !important;
      padding: 0.85rem 0 !important;
    }
    #cs-celebration-redesign .cs-brand {
      display: flex !important;
      align-items: center !important;
      gap: 0.8rem !important;
    }
    #cs-celebration-redesign .cs-brand-icon {
      width: 52px !important;
      height: 52px !important;
      border-radius: 1rem !important;
      object-fit: contain !important;
      background: var(--cs-purple-light) !important;
      padding: 4px !important;
      border: 1px solid #e9d5ff !important;
    }
    #cs-celebration-redesign .cs-brand-title {
      font-family: 'Fredoka', sans-serif !important;
      font-size: 1.7rem !important;
      font-weight: 700 !important;
      color: var(--cs-purple) !important;
      line-height: 1 !important;
      display: block !important;
    }
    #cs-celebration-redesign .cs-brand-sub {
      font-size: 0.7rem !important;
      font-weight: 800 !important;
      text-transform: uppercase !important;
      letter-spacing: 0.08em !important;
      color: var(--cs-muted) !important;
      display: block !important;
      margin-top: 3px !important;
    }
    /* Search Box */
    #cs-celebration-redesign .cs-search-box {
      flex: 1 1 300px !important;
      max-width: 540px !important;
      position: relative !important;
    }
    #cs-celebration-redesign .cs-search-form {
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      margin: 0 !important;
    }
    #cs-celebration-redesign .cs-search-field {
      width: 100% !important;
      height: 46px !important;
      padding: 0 6.5rem 0 2.65rem !important;
      border-radius: 9999px !important;
      border: 2px solid var(--cs-border) !important;
      background-color: #f8fafc !important;
      font-size: 0.875rem !important;
      font-weight: 500 !important;
      color: var(--cs-ink) !important;
      outline: none !important;
      transition: all 0.2s ease !important;
    }
    #cs-celebration-redesign .cs-search-field:focus {
      border-color: var(--cs-teal) !important;
      background-color: #ffffff !important;
      box-shadow: 0 0 0 4px rgba(10, 186, 123, 0.12) !important;
    }
    #cs-celebration-redesign .cs-search-icon {
      position: absolute !important;
      left: 1rem !important;
      top: 50% !important;
      transform: translateY(-50%) !important;
      color: var(--cs-muted) !important;
      font-size: 0.9rem !important;
      pointer-events: none !important;
    }
    #cs-celebration-redesign .cs-search-submit {
      position: absolute !important;
      right: 5px !important;
      top: 5px !important;
      bottom: 5px !important;
      background-color: var(--cs-teal) !important;
      color: #ffffff !important;
      border: 0 !important;
      border-radius: 9999px !important;
      padding: 0 1.15rem !important;
      font-size: 0.78rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.02em !important;
    }
    #cs-celebration-redesign .cs-search-submit:hover {
      background-color: var(--cs-aqua-dark) !important;
    }
    #cs-celebration-redesign .cs-search-dropdown {
      position: absolute !important;
      left: 0 !important;
      right: 0 !important;
      top: calc(100% + 6px) !important;
      background: #ffffff !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 1.25rem !important;
      padding: 0.75rem !important;
      box-shadow: 0 20px 35px -5px rgba(15, 23, 42, 0.16) !important;
      z-index: 80 !important;
    }
    /* Header Right Buttons */
    #cs-celebration-redesign .cs-header-actions {
      display: flex !important;
      align-items: center !important;
      gap: 0.6rem !important;
    }
    #cs-celebration-redesign .cs-action-pill {
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.45rem !important;
      padding: 0.55rem 1rem !important;
      border-radius: 9999px !important;
      font-size: 0.8rem !important;
      font-weight: 700 !important;
      border: 1px solid transparent !important;
      white-space: nowrap !important;
    }
    #cs-celebration-redesign .cs-pill-wholesale {
      background-color: var(--cs-purple-light) !important;
      color: var(--cs-purple) !important;
      border-color: #d8b4fe !important;
    }
    #cs-celebration-redesign .cs-pill-wholesale:hover {
      background-color: var(--cs-purple) !important;
      color: #ffffff !important;
    }
    #cs-celebration-redesign .cs-pill-whatsapp {
      background-color: #ecfdf5 !important;
      color: #047857 !important;
      border-color: #a7f3d0 !important;
    }
    #cs-celebration-redesign .cs-pill-whatsapp:hover {
      background-color: #10b981 !important;
      color: #ffffff !important;
    }
    #cs-celebration-redesign .cs-pill-cart {
      background-color: var(--cs-coral) !important;
      color: #ffffff !important;
      box-shadow: 0 4px 12px rgba(255, 42, 19, 0.25) !important;
    }
    #cs-celebration-redesign .cs-pill-cart:hover {
      background-color: var(--cs-coral-dark) !important;
      transform: translateY(-1px) !important;
    }
    #cs-celebration-redesign .cs-cart-badge {
      background-color: #ffffff !important;
      color: var(--cs-coral) !important;
      font-size: 0.72rem !important;
      font-weight: 800 !important;
      padding: 0.1rem 0.48rem !important;
      border-radius: 9999px !important;
    }
    /* Aqua Navigation Bar */
    #cs-celebration-redesign .cs-aquabar {
      background: linear-gradient(90deg, #3ec4a5 0%, #46cfb0 50%, #3ec4a5 100%) !important;
      border-top: 1px solid rgba(15, 23, 42, 0.06) !important;
      border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    #cs-celebration-redesign .cs-aquabar-list {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-wrap: wrap !important;
      gap: 0.3rem !important;
      list-style: none !important;
      margin: 0 !important;
      padding: 0.4rem 0 !important;
    }
    #cs-celebration-redesign .cs-aquabar-item {
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.38rem !important;
      padding: 0.45rem 0.9rem !important;
      border-radius: 9999px !important;
      font-size: 0.82rem !important;
      font-weight: 800 !important;
      color: #0f172a !important;
      background: transparent !important;
      border: 0 !important;
    }
    #cs-celebration-redesign .cs-aquabar-item:hover {
      background: rgba(255, 255, 255, 0.55) !important;
      transform: translateY(-1px) !important;
    }
    #cs-celebration-redesign .cs-aquabar-sale {
      background-color: var(--cs-coral) !important;
      color: #ffffff !important;
      box-shadow: 0 2px 8px rgba(255, 42, 19, 0.25) !important;
    }
    #cs-celebration-redesign .cs-aquabar-sale:hover {
      background-color: #0f172a !important;
      color: #ffffff !important;
    }
    /* ==========================================================================
       4. HERO SECTION & INTERACTIVE QUICK PARTY FINDER
       ========================================================================== */
    #cs-celebration-redesign .cs-hero {
      background: radial-gradient(circle at 12% 20%, rgba(102, 45, 146, 0.09) 0%, transparent 45%),
                  radial-gradient(circle at 88% 80%, rgba(70, 207, 176, 0.18) 0%, transparent 50%),
                  linear-gradient(180deg, #ffffff 0%, #faf7f2 100%) !important;
      padding: 2.75rem 0 3.25rem 0 !important;
      border-bottom: 1px solid var(--cs-border) !important;
    }
    #cs-celebration-redesign .cs-hero-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 2.25rem !important;
      align-items: center !important;
    }
    @media (min-width: 1024px) {
      #cs-celebration-redesign .cs-hero-grid {
        grid-template-columns: 7fr 5fr !important;
        gap: 3rem !important;
      }
    }
    #cs-celebration-redesign .cs-hero-badges {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      gap: 0.6rem !important;
      margin-bottom: 1rem !important;
    }
    #cs-celebration-redesign .cs-badge-delivery {
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.45rem !important;
      background-color: #ccfbf1 !important;
      color: #0f766e !important;
      border: 1px solid #99f6e4 !important;
      padding: 0.35rem 0.9rem !important;
      border-radius: 9999px !important;
      font-size: 0.76rem !important;
      font-weight: 800 !important;
      text-transform: uppercase !important;
      letter-spacing: 0.04em !important;
    }
    #cs-celebration-redesign .cs-badge-google {
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.4rem !important;
      background-color: #ffffff !important;
      color: var(--cs-ink) !important;
      border: 1px solid var(--cs-border) !important;
      padding: 0.35rem 0.85rem !important;
      border-radius: 9999px !important;
      font-size: 0.76rem !important;
      font-weight: 700 !important;
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
    }
    #cs-celebration-redesign .cs-hero-title {
      font-size: clamp(2.25rem, 4.2vw, 3.65rem) !important;
      font-weight: 700 !important;
      color: var(--cs-ink) !important;
      line-height: 1.08 !important;
      margin-bottom: 1rem !important;
    }
    #cs-celebration-redesign .cs-hero-highlight {
      color: var(--cs-purple) !important;
      text-decoration: underline !important;
      text-decoration-color: var(--cs-aqua) !important;
      text-decoration-thickness: 6px !important;
      text-underline-offset: 6px !important;
    }
    #cs-celebration-redesign .cs-hero-desc {
      font-size: 1.05rem !important;
      color: var(--cs-slate) !important;
      max-width: 620px !important;
      margin-bottom: 1.5rem !important;
      line-height: 1.6 !important;
    }
    /* Interactive Finder Box */
    #cs-celebration-redesign .cs-finder-card {
      background: #ffffff !important;
      border: 2px solid #e9d5ff !important;
      border-radius: 1.5rem !important;
      padding: 1.25rem !important;
      box-shadow: 0 18px 40px -10px rgba(102, 45, 146, 0.12) !important;
    }
    #cs-celebration-redesign .cs-finder-header {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      margin-bottom: 0.75rem !important;
      font-size: 0.78rem !important;
      font-weight: 800 !important;
      color: var(--cs-purple) !important;
      text-transform: uppercase !important;
      letter-spacing: 0.04em !important;
    }
    #cs-celebration-redesign .cs-finder-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 0.75rem !important;
    }
    @media (min-width: 640px) {
      #cs-celebration-redesign .cs-finder-grid {
        grid-template-columns: 1fr 1fr auto !important;
      }
    }
    #cs-celebration-redesign .cs-select-control {
      width: 100% !important;
      height: 48px !important;
      background-color: #f8fafc !important;
      border: 1px solid #cbd5e1 !important;
      border-radius: 0.9rem !important;
      padding: 0 0.95rem !important;
      font-size: 0.875rem !important;
      font-weight: 700 !important;
      color: var(--cs-ink) !important;
      outline: none !important;
      cursor: pointer !important;
    }
    #cs-celebration-redesign .cs-select-control:focus {
      border-color: var(--cs-purple) !important;
      background-color: #ffffff !important;
    }
    #cs-celebration-redesign .cs-finder-btn {
      height: 48px !important;
      padding: 0 1.4rem !important;
      background: linear-gradient(135deg, var(--cs-purple) 0%, var(--cs-purple-dark) 100%) !important;
      color: #ffffff !important;
      border: 0 !important;
      border-radius: 0.9rem !important;
      font-size: 0.875rem !important;
      font-weight: 800 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.5rem !important;
      white-space: nowrap !important;
    }
    #cs-celebration-redesign .cs-finder-btn:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 10px 20px -5px rgba(102, 45, 146, 0.4) !important;
    }
    /* Hero Right Bento Showcase */
    #cs-celebration-redesign .cs-bento-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 1rem !important;
    }
    #cs-celebration-redesign .cs-bento-featured {
      grid-column: span 2 / span 2 !important;
      background: linear-gradient(135deg, #471a6b 0%, #662d92 100%) !important;
      color: #ffffff !important;
      border-radius: 1.5rem !important;
      padding: 1.35rem !important;
      display: flex !important;
      align-items: center !important;
      gap: 1.25rem !important;
      box-shadow: 0 16px 32px -8px rgba(102, 45, 146, 0.3) !important;
      position: relative !important;
      overflow: hidden !important;
    }
    #cs-celebration-redesign .cs-bento-featured-img {
      width: 112px !important;
      height: 112px !important;
      border-radius: 1.15rem !important;
      object-fit: cover !important;
      border: 3px solid rgba(255, 255, 255, 0.25) !important;
      flex-shrink: 0 !important;
      background: #ffffff !important;
    }
    #cs-celebration-redesign .cs-bento-subcard {
      background: #ffffff !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 1.5rem !important;
      padding: 1.15rem !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      text-align: center !important;
      box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05) !important;
      transition: all 0.22s ease !important;
    }
    #cs-celebration-redesign .cs-bento-subcard:hover {
      transform: translateY(-4px) !important;
      border-color: var(--cs-aqua) !important;
      box-shadow: 0 18px 30px -8px rgba(15, 23, 42, 0.1) !important;
    }
    #cs-celebration-redesign .cs-bento-subcard img {
      height: 105px !important;
      width: auto !important;
      object-fit: contain !important;
      margin-bottom: 0.65rem !important;
    }
    /* ==========================================================================
       5. 10 CORE DEPARTMENTS GRID (VISIBLE ON MOBILE & DESKTOP)
       ========================================================================== */
    #cs-celebration-redesign .cs-section {
      padding: 3.5rem 0 !important;
    }
    #cs-celebration-redesign .cs-section-header {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: flex-end !important;
      justify-content: space-between !important;
      gap: 1rem !important;
      margin-bottom: 2rem !important;
    }
    #cs-celebration-redesign .cs-eyebrow {
      font-size: 0.76rem !important;
      font-weight: 800 !important;
      text-transform: uppercase !important;
      letter-spacing: 0.08em !important;
      color: var(--cs-teal) !important;
      display: block !important;
      margin-bottom: 0.3rem !important;
    }
    #cs-celebration-redesign .cs-section-title {
      font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
      font-weight: 700 !important;
      color: var(--cs-ink) !important;
    }
    #cs-celebration-redesign .cs-dept-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 1rem !important;
    }
    @media (min-width: 640px) {
      #cs-celebration-redesign .cs-dept-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }
    @media (min-width: 1024px) {
      #cs-celebration-redesign .cs-dept-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 1.25rem !important;
      }
    }
    #cs-celebration-redesign .cs-dept-tile {
      background: #ffffff !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 1.5rem !important;
      padding: 1.35rem 1rem !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      text-align: center !important;
      box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.05) !important;
      position: relative !important;
      overflow: hidden !important;
    }
    #cs-celebration-redesign .cs-dept-tile:hover {
      transform: translateY(-5px) !important;
      border-color: var(--cs-teal) !important;
      box-shadow: 0 18px 32px -8px rgba(10, 186, 123, 0.16) !important;
    }
    #cs-celebration-redesign .cs-dept-img-wrap {
      width: 104px !important;
      height: 104px !important;
      border-radius: 1.25rem !important;
      background: #f8fafc !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 0.65rem !important;
      margin-bottom: 0.85rem !important;
    }
    #cs-celebration-redesign .cs-dept-img-wrap img {
      max-height: 86px !important;
      width: auto !important;
      object-fit: contain !important;
    }
    #cs-celebration-redesign .cs-dept-name {
      font-family: 'Fredoka', sans-serif !important;
      font-size: 1.12rem !important;
      font-weight: 700 !important;
      color: var(--cs-ink) !important;
    }
    #cs-celebration-redesign .cs-dept-meta {
      font-size: 0.76rem !important;
      font-weight: 700 !important;
      color: var(--cs-teal) !important;
      margin-top: 0.25rem !important;
    }
    /* ==========================================================================
       6. SALE & TOP SELLING ITEMS (NATIVE WOOCOMMERCE MARKUP COMPATIBLE)
       ========================================================================== */
    #cs-celebration-redesign .cs-sale-section {
      background: #ffffff !important;
      border-top: 1px solid var(--cs-border) !important;
      border-bottom: 1px solid var(--cs-border) !important;
      padding: 3.5rem 0 !important;
    }
    #cs-celebration-redesign .woocommerce ul.products {
      display: grid !important;
      grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
      gap: 1.35rem !important;
      list-style: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }
    @media (min-width: 640px) {
      #cs-celebration-redesign .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }
    @media (min-width: 1024px) {
      #cs-celebration-redesign .woocommerce.columns-4 ul.products,
      #cs-celebration-redesign .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      }
    }
    #cs-celebration-redesign .woocommerce ul.products::before,
    #cs-celebration-redesign .woocommerce ul.products::after {
      display: none !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product {
      float: none !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      background: #ffffff !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 1.5rem !important;
      overflow: hidden !important;
      box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05) !important;
      display: flex !important;
      flex-direction: column !important;
      transition: all 0.24s ease !important;
      position: relative !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product:hover {
      transform: translateY(-5px) !important;
      border-color: var(--cs-coral) !important;
      box-shadow: 0 20px 35px -10px rgba(255, 42, 19, 0.14) !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-product {
      display: flex !important;
      flex-direction: column !important;
      height: 100% !important;
      position: relative !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .onsale {
      position: absolute !important;
      top: 0.9rem !important;
      left: 0.9rem !important;
      right: auto !important;
      background-color: var(--cs-coral) !important;
      color: #ffffff !important;
      font-size: 0.72rem !important;
      font-weight: 800 !important;
      text-transform: uppercase !important;
      letter-spacing: 0.04em !important;
      padding: 0.25rem 0.75rem !important;
      border-radius: 9999px !important;
      z-index: 5 !important;
      box-shadow: 0 4px 10px rgba(255, 42, 19, 0.3) !important;
      min-height: 0 !important;
      min-width: 0 !important;
      line-height: 1.4 !important;
      margin: 0 !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-featured {
      background: #f8fafc !important;
      height: 215px !important;
      padding: 1.25rem !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border: 0 !important;
      box-shadow: none !important;
      overflow: hidden !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-featured img,
    #cs-celebration-redesign .woocommerce ul.products li.product a img {
      max-height: 180px !important;
      width: auto !important;
      object-fit: contain !important;
      margin: 0 auto !important;
      border-radius: 0.75rem !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-wrap {
      padding: 1.25rem !important;
      flex: 1 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: space-between !important;
      border: 0 !important;
      box-shadow: none !important;
      background: #ffffff !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-header {
      display: flex !important;
      flex-direction: column !important;
      height: 100% !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-header h3,
    #cs-celebration-redesign .woocommerce ul.products li.product .woocommerce-loop-product__title {
      font-family: 'Plus Jakarta Sans', sans-serif !important;
      font-size: 0.96rem !important;
      font-weight: 700 !important;
      line-height: 1.4 !important;
      margin: 0 0 0.6rem 0 !important;
      color: var(--cs-ink) !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .entry-header h3 a {
      color: var(--cs-ink) !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .price {
      display: block !important;
      font-size: 1.15rem !important;
      font-weight: 800 !important;
      color: var(--cs-coral) !important;
      margin-bottom: 1rem !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .price del {
      color: #94a3b8 !important;
      font-size: 0.88rem !important;
      font-weight: 600 !important;
      margin-right: 0.4rem !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .price ins {
      text-decoration: none !important;
      background: transparent !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .button {
      margin-top: auto !important;
      width: 100% !important;
      padding: 0.75rem 1rem !important;
      border-radius: 0.85rem !important;
      background-color: var(--cs-ink) !important;
      color: #ffffff !important;
      font-size: 0.82rem !important;
      font-weight: 800 !important;
      text-align: center !important;
      border: 0 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.4rem !important;
    }
    #cs-celebration-redesign .woocommerce ul.products li.product .button:hover {
      background-color: var(--cs-purple) !important;
      color: #ffffff !important;
    }
    /* ==========================================================================
       7. OCCASIONS (#46cfb0 AQUA) & HOLIDAYS (#3096de SKY) BANNERS
       ========================================================================== */
    #cs-celebration-redesign .cs-banners-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 1.5rem !important;
    }
    @media (min-width: 1024px) {
      #cs-celebration-redesign .cs-banners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }
    #cs-celebration-redesign .cs-occasion-box {
      background: linear-gradient(135deg, #46cfb0 0%, #2bb596 100%) !important;
      color: #0f172a !important;
      border-radius: 1.75rem !important;
      padding: 2rem !important;
      box-shadow: 0 16px 32px -10px rgba(70, 207, 176, 0.35) !important;
    }
    #cs-celebration-redesign .cs-holiday-box {
      background: linear-gradient(135deg, #3096de 0%, #1d70b8 100%) !important;
      color: #ffffff !important;
      border-radius: 1.75rem !important;
      padding: 2rem !important;
      box-shadow: 0 16px 32px -10px rgba(48, 150, 222, 0.35) !important;
    }
    #cs-celebration-redesign .cs-pill-cloud {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 0.5rem !important;
      margin-top: 1.25rem !important;
    }
    #cs-celebration-redesign .cs-cloud-tag {
      background: #ffffff !important;
      color: #0f172a !important;
      padding: 0.48rem 0.95rem !important;
      border-radius: 9999px !important;
      font-size: 0.8rem !important;
      font-weight: 700 !important;
      border: 0 !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.35rem !important;
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08) !important;
    }
    #cs-celebration-redesign .cs-cloud-tag:hover {
      background: var(--cs-amber) !important;
      color: #0f172a !important;
      transform: translateY(-2px) !important;
    }
    /* ==========================================================================
       8. COMPLETE 47-CATEGORY DIRECTORY (PRE-RENDERED IN HTML DOM)
       ========================================================================== */
    #cs-celebration-redesign .cs-directory-shell {
      background: #ffffff !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 2rem !important;
      padding: 2rem !important;
      box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.06) !important;
    }
    #cs-celebration-redesign .cs-directory-controls {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 0.65rem !important;
      width: 100% !important;
      max-width: 620px !important;
    }
    @media (min-width: 640px) {
      #cs-celebration-redesign .cs-directory-controls {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }
    #cs-celebration-redesign .cs-tabs-row {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 0.5rem !important;
      padding: 1.25rem 0 !important;
      border-bottom: 1px solid #f1f5f9 !important;
      margin-bottom: 1.25rem !important;
    }
    #cs-celebration-redesign .cs-tab-pill {
      background-color: #f1f5f9 !important;
      color: var(--cs-slate) !important;
      border: 1px solid transparent !important;
      border-radius: 9999px !important;
      padding: 0.5rem 1.05rem !important;
      font-size: 0.8rem !important;
      font-weight: 700 !important;
    }
    #cs-celebration-redesign .cs-tab-pill:hover {
      background-color: #e2e8f0 !important;
    }
    #cs-celebration-redesign .cs-tab-pill.cs-active {
      background-color: var(--cs-purple) !important;
      color: #ffffff !important;
      box-shadow: 0 4px 12px rgba(102, 45, 146, 0.25) !important;
    }
    #cs-celebration-redesign .cs-cat-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 1rem !important;
    }
    @media (min-width: 640px) {
      #cs-celebration-redesign .cs-cat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }
    @media (min-width: 768px) {
      #cs-celebration-redesign .cs-cat-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      }
    }
    @media (min-width: 1024px) {
      #cs-celebration-redesign .cs-cat-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
      }
    }
    #cs-celebration-redesign .cs-cat-card {
      background: #f8fafc !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 1.35rem !important;
      padding: 1rem 0.75rem !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      text-align: center !important;
      transition: all 0.2s ease !important;
    }
    #cs-celebration-redesign .cs-cat-card:hover {
      background: #ffffff !important;
      border-color: var(--cs-teal) !important;
      transform: translateY(-4px) !important;
      box-shadow: 0 12px 24px -6px rgba(15, 23, 42, 0.1) !important;
    }
    #cs-celebration-redesign .cs-cat-thumb {
      width: 88px !important;
      height: 88px !important;
      border-radius: 1rem !important;
      background: #ffffff !important;
      border: 1px solid #f1f5f9 !important;
      padding: 0.35rem !important;
      margin-bottom: 0.65rem !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      overflow: hidden !important;
    }
    #cs-celebration-redesign .cs-cat-thumb img {
      width: 100% !important;
      height: 100% !important;
      object-fit: contain !important;
      border-radius: 0.65rem !important;
    }
    #cs-celebration-redesign .cs-cat-title {
      font-family: 'Plus Jakarta Sans', sans-serif !important;
      font-size: 0.82rem !important;
      font-weight: 700 !important;
      color: var(--cs-ink) !important;
      line-height: 1.35 !important;
    }
    #cs-celebration-redesign .cs-cat-count {
      color: var(--cs-teal) !important;
      font-weight: 800 !important;
      margin-left: 2px !important;
    }
    /* ==========================================================================
       9. GOOGLE REVIEWS SECTION (TRUSTINDEX VERIFIED REVIEWS)
       ========================================================================== */
    #cs-celebration-redesign .cs-reviews-panel {
      background: linear-gradient(135deg, #471a6b 0%, #662d92 60%, #3b0764 100%) !important;
      color: #ffffff !important;
      border-radius: 2rem !important;
      padding: 2.5rem 2rem !important;
      box-shadow: 0 20px 45px -12px rgba(102, 45, 146, 0.35) !important;
    }
    #cs-celebration-redesign .cs-reviews-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 1.25rem !important;
      margin-top: 1.75rem !important;
    }
    @media (min-width: 768px) {
      #cs-celebration-redesign .cs-reviews-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }
    #cs-celebration-redesign .cs-review-item {
      background: rgba(255, 255, 255, 0.1) !important;
      border: 1px solid rgba(255, 255, 255, 0.18) !important;
      border-radius: 1.35rem !important;
      padding: 1.35rem !important;
      backdrop-filter: blur(6px) !important;
    }
    /* ==========================================================================
       10. FOOTER, SLIDE-OVER CART DRAWER & FLOATING WHATSAPP
       ========================================================================== */
    #cs-celebration-redesign .cs-footer {
      background-color: #0f172a !important;
      color: #cbd5e1 !important;
      padding: 3.5rem 0 2.5rem 0 !important;
      margin-top: auto !important;
    }
    #cs-celebration-redesign .cs-footer-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 2rem !important;
      padding-bottom: 2.5rem !important;
      border-bottom: 1px solid #1e293b !important;
    }
    @media (min-width: 768px) {
      #cs-celebration-redesign .cs-footer-grid {
        grid-template-columns: 1.4fr 1fr 1fr 1.2fr !important;
      }
    }
    #cs-celebration-redesign .cs-modal-overlay {
      position: fixed !important;
      inset: 0 !important;
      background: rgba(15, 23, 42, 0.65) !important;
      backdrop-filter: blur(4px) !important;
      z-index: 9998 !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 1rem !important;
    }
    #cs-celebration-redesign .cs-modal-overlay.cs-open {
      display: flex !important;
    }
    #cs-celebration-redesign .cs-cart-drawer {
      position: fixed !important;
      top: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      width: 100% !important;
      max-width: 410px !important;
      background: #ffffff !important;
      z-index: 9999 !important;
      box-shadow: -15px 0 40px rgba(15, 23, 42, 0.25) !important;
      transform: translateX(105%) !important;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
      display: flex !important;
      flex-direction: column !important;
    }
    #cs-celebration-redesign .cs-cart-drawer.cs-open {
      transform: translateX(0) !important;
    }
    #cs-celebration-redesign .cs-float-whatsapp {
      position: fixed !important;
      right: 1.25rem !important;
      bottom: 1.25rem !important;
      z-index: 90 !important;
      display: flex !important;
      align-items: center !important;
      gap: 0.6rem !important;
      background: #10b981 !important;
      color: #ffffff !important;
      padding: 0.7rem 1.15rem !important;
      border-radius: 9999px !important;
      font-size: 0.84rem !important;
      font-weight: 800 !important;
      box-shadow: 0 12px 28px rgba(16, 185, 129, 0.4) !important;
    }
    #cs-celebration-redesign .cs-float-whatsapp:hover {
      background: #059669 !important;
      transform: translateY(-2px) !important;
    }
    #cs-celebration-redesign .cs-interior-main {
      flex: 1 0 auto !important;
      padding: 2.5rem 0 4rem 0 !important;
    }
    #cs-celebration-redesign .cs-interior-card {
      background: #ffffff !important;
      border: 1px solid var(--cs-border) !important;
      border-radius: 1.75rem !important;
      padding: 2rem !important;
      box-shadow: 0 12px 30px -8px rgba(15, 23, 42, 0.05) !important;
    }
    #cs-celebration-redesign .cs-interior-card p {
      margin-bottom: 1rem !important;
    }
    /* High-specificity hidden utility placed at the end of the stylesheet
       so it always overrides display:flex !important on cards and banners */
    #cs-celebration-redesign .cs-hidden,
    #cs-celebration-redesign .cs-cat-card.cs-hidden,
    #cs-celebration-redesign .cs-topbar.cs-hidden,
    #cs-celebration-redesign .cs-search-dropdown.cs-hidden {
      display: none !important;
    }
  