
  @media (hover: hover) and (pointer: fine) {
    .s7-product-tilt {
      --s7-tilt-x: 0deg;
      --s7-tilt-y: 0deg;
      --s7-shift-x: 0px;
      --s7-shift-y: 0px;
      --s7-scale: 1;
      --s7-glow-x: 50%;
      --s7-glow-y: 50%;
      --s7-glow-opacity: 0;
      position: relative;
      isolation: isolate;
      perspective: 920px;
      transform-style: preserve-3d;
    }

    .s7-product-tilt::after {
      content: "";
      position: absolute;
      inset: 8%;
      z-index: 2;
      border-radius: inherit;
      pointer-events: none;
      opacity: var(--s7-glow-opacity);
      background: radial-gradient(
        circle at var(--s7-glow-x) var(--s7-glow-y),
        rgba(34, 211, 238, 0.28) 0%,
        rgba(47, 123, 255, 0.13) 30%,
        rgba(139, 92, 246, 0.06) 48%,
        transparent 70%
      );
      filter: blur(12px);
      transition: opacity 220ms ease;
    }

    .s7-product-tilt > .s7-product-tilt-image,
    .s7-product-tilt a > .s7-product-tilt-image {
      position: relative;
      z-index: 3;
      backface-visibility: hidden;
      transform-origin: 50% 50%;
      transform:
        translate3d(var(--s7-shift-x), var(--s7-shift-y), 26px)
        rotateX(var(--s7-tilt-x))
        rotateY(var(--s7-tilt-y))
        scale(var(--s7-scale));
      filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.24));
      transition:
        transform 150ms cubic-bezier(0.22, 0.61, 0.36, 1),
        filter 220ms ease;
      will-change: transform;
    }

    .s7-product-tilt.is-s7-tilting > .s7-product-tilt-image,
    .s7-product-tilt.is-s7-tilting a > .s7-product-tilt-image {
      filter:
        drop-shadow(0 24px 34px rgba(0, 0, 0, 0.32))
        drop-shadow(0 0 18px rgba(34, 211, 238, 0.13));
    }
  }

  @media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
    .s7-product-tilt,
    .s7-product-tilt > .s7-product-tilt-image,
    .s7-product-tilt a > .s7-product-tilt-image {
      transform: none !important;
      transition: none !important;
    }

    .s7-product-tilt::after {
      display: none !important;
    }
  }

  /* 7STAR professional product-loop system */
  .s7-loop-card,
  .wd-products .wd-product .product-wrapper {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(79, 111, 176, 0.34) !important;
    border-radius: 24px !important;
    background:
      radial-gradient(circle at 85% 0%, rgba(47, 123, 255, 0.13), transparent 38%),
      linear-gradient(155deg, #111a31 0%, #0d1326 55%, #090e1d 100%) !important;
    box-shadow: 0 22px 55px -38px rgba(34, 211, 238, 0.65);
    transition:
      transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
      border-color 260ms ease,
      box-shadow 260ms ease;
  }

  .s7-loop-card::before,
  .wd-products .wd-product .product-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(115deg, rgba(34, 211, 238, 0.07), transparent 35%, rgba(139, 92, 246, 0.08));
    opacity: 0;
    transition: opacity 260ms ease;
  }

  @media (hover: hover) and (pointer: fine) {
    .s7-loop-card:hover,
    .wd-products .wd-product:hover .product-wrapper {
      transform: translateY(-7px);
      border-color: rgba(34, 211, 238, 0.62) !important;
      box-shadow:
        0 28px 70px -38px rgba(34, 211, 238, 0.76),
        0 12px 32px -24px rgba(139, 92, 246, 0.72);
    }

    .s7-loop-card:hover::before,
    .wd-products .wd-product:hover .product-wrapper::before {
      opacity: 1;
    }
  }

  .s7-loop-media,
  .wd-products .wd-product .product-element-top {
    overflow: hidden;
    border: 1px solid rgba(74, 103, 163, 0.24);
    border-radius: 19px !important;
    background:
      radial-gradient(circle at 50% 28%, rgba(34, 211, 238, 0.13), transparent 46%),
      linear-gradient(145deg, #101b38, #080d1b) !important;
  }

  .s7-loop-badges {
    align-items: center;
  }

  .s7-loop-title a,
  .wd-products .wd-product .wd-entities-title a {
    color: #f8fafc !important;
    text-decoration: none;
    transition: color 180ms ease;
  }

  .s7-loop-title a:hover,
  .wd-products .wd-product .wd-entities-title a:hover {
    color: #67e8f9 !important;
  }

  .s7-loop-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .s7-loop-footer {
    padding-top: 14px;
    border-top: 1px solid rgba(88, 115, 171, 0.25);
  }

  .s7-loop-price,
  .wd-products .wd-product .price {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: center;
    color: #f8fafc !important;
    font-family: Tajawal, sans-serif;
    font-weight: 800;
    line-height: 1.35;
  }

  .s7-loop-price .woocommerce-Price-currencySymbol,
  .wd-products .wd-product .price .woocommerce-Price-currencySymbol {
    color: #22d3ee;
    font-size: 0.72em;
    font-weight: 700;
  }

  .s7-loop-button .elementor-button,
  .wd-products .wd-product .add-to-cart-loop {
    min-height: 42px;
    border: 1px solid rgba(103, 232, 249, 0.2) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #2f7bff, #6d5dfc) !important;
    color: #fff !important;
    box-shadow: 0 12px 26px -17px rgba(47, 123, 255, 0.9);
  }

  .wd-products.products-bordered-grid {
    gap: 18px !important;
    background: transparent !important;
  }

  .wd-products.products-bordered-grid > .wd-product {
    border: 0 !important;
    padding: 0 !important;
  }

  .wd-products .wd-product .product-wrapper {
    height: 100%;
    padding: 14px 14px 18px;
  }

  .wd-products .wd-product .product-element-bottom {
    padding: 15px 4px 2px;
  }

  .wd-products .wd-product .wd-entities-title {
    margin-bottom: 8px;
    font-family: Tajawal, sans-serif;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.45;
  }

  .wd-products .wd-product .wd-product-cats {
    margin-bottom: 9px;
    color: #8ba0c6;
    font-size: 12px;
  }

  /* Homepage hover details: overlay instead of WoodMart's expanding block. */
  .star7-products-section .wd-product .product-wrapper,
  .star7-products-section .wd-product .wd-product-wrapper {
    position: relative;
    overflow: hidden !important;
  }

  .star7-products-section .wd-product-card-hover.fade-in-block {
    position: absolute !important;
    top: auto !important;
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    z-index: 12;
    width: auto !important;
    height: 196px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
    border: 1px solid rgba(103, 232, 249, 0.42);
    border-radius: 20px;
    background:
      radial-gradient(circle at 88% 4%, rgba(34, 211, 238, 0.15), transparent 38%),
      linear-gradient(155deg, rgba(15, 28, 58, 0.985), rgba(7, 12, 27, 0.99)) !important;
    box-shadow: 0 28px 55px -22px rgba(0, 0, 0, 0.95), 0 0 36px -24px rgba(34, 211, 238, 0.92);
    opacity: 0 !important;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(16px) scale(0.975) !important;
    transition: opacity 220ms ease, visibility 220ms ease, transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  }

  .star7-products-section .s7-hover-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    direction: rtl;
    text-align: right;
  }

  .star7-products-section .s7-hover-card__eyebrow {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: #67e8f9;
    font: 800 10px/1.25 Tajawal, sans-serif;
  }

  .star7-products-section .s7-hover-card__eyebrow::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 999px;
    background: #22d3ee;
    box-shadow: 0 0 10px rgba(34, 211, 238, 0.82);
  }

  .star7-products-section .s7-hover-card__title {
    display: block !important;
    flex: 0 0 auto !important;
    overflow: hidden;
    width: 100%;
    height: auto !important;
    min-height: 20px !important;
    margin: 0 0 6px;
    color: #f8fafc;
    font: 800 14px/1.4 Tajawal, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .star7-products-section .s7-hover-card__price {
    margin-bottom: 9px;
    color: #f8fafc;
    direction: ltr;
    font: 800 12px/1.35 Tajawal, sans-serif;
    text-align: right;
    unicode-bidi: isolate;
  }

  .star7-products-section .s7-hover-card__price .woocommerce-Price-currencySymbol {
    color: #22d3ee;
    font-size: 0.78em;
  }

  .star7-products-section .s7-hover-card__note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 0 0 12px;
    color: #aebdd7;
    font: 600 10px/1.55 Tajawal, sans-serif;
  }

  .star7-products-section .s7-hover-card__note::before {
    content: "✓";
    color: #67e8f9;
    font-weight: 900;
  }

  .star7-products-section .s7-hover-card__cta {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(103, 232, 249, 0.22);
    border-radius: 12px;
    background: linear-gradient(135deg, #2f7bff, #6d5dfc);
    box-shadow: 0 12px 24px -17px rgba(47, 123, 255, 0.95);
    color: #fff !important;
    font: 800 12px/1 Tajawal, sans-serif;
    text-decoration: none !important;
    transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
  }

  .star7-products-section .s7-hover-card__cta:hover,
  .star7-products-section .s7-hover-card__cta:focus-visible {
    color: #fff !important;
    filter: brightness(1.1);
    transform: translateY(-1px);
    box-shadow: 0 16px 28px -16px rgba(34, 211, 238, 0.78);
  }

  @media (hover: hover) and (pointer: fine) {
    .star7-products-section .wd-product:hover .wd-product-card-hover.fade-in-block,
    .star7-products-section .wd-product:focus-within .wd-product-card-hover.fade-in-block {
      opacity: 1 !important;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0) scale(1) !important;
    }

    .star7-products-section .wd-product:hover .product-element-top img {
      filter: brightness(0.72) saturate(0.9) drop-shadow(0 18px 28px rgba(0, 0, 0, 0.24));
    }
  }

  @media (hover: none), (pointer: coarse) {
    .star7-products-section .wd-product-card-hover.fade-in-block {
      display: none !important;
    }
  }

  /* Native WoodMart wishlist action, placed clear of the product CTA. */
  .star7-products-section .wd-product-wrapper {
    position: relative;
  }

  .star7-products-section .s7-wishlist,
  .single-product .s7-wishlist {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 20;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(89, 132, 207, 0.58);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(20, 36, 70, 0.97), rgba(8, 15, 33, 0.97));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035), 0 13px 30px -17px rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
  }

  .star7-products-section .s7-wishlist:hover,
  .single-product .s7-wishlist:hover {
    border-color: rgba(103, 232, 249, 0.92);
    background: linear-gradient(145deg, #1b3764, #101b38);
    box-shadow: inset 0 0 0 1px rgba(103, 232, 249, 0.12), 0 0 22px -8px rgba(34, 211, 238, 0.8);
    transform: translateY(-2px) scale(1.04);
  }

  .star7-products-section .s7-wishlist a,
  .single-product .s7-wishlist a {
    display: grid !important;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #f8fafc !important;
    text-decoration: none !important;
  }

  .star7-products-section .s7-wishlist .wd-action-icon,
  .single-product .s7-wishlist .wd-action-icon {
    display: grid !important;
    place-items: center;
    width: 21px;
    height: 21px;
  }

  .star7-products-section .s7-wishlist .wd-action-icon::before,
  .single-product .s7-wishlist .wd-action-icon::before {
    content: none !important;
    display: none !important;
  }

  .star7-products-section .s7-wishlist svg,
  .single-product .s7-wishlist svg {
    width: 21px;
    height: 21px;
    overflow: visible;
    fill: transparent;
    stroke: #f8fafc;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill 180ms ease, stroke 180ms ease, transform 180ms ease;
  }

  .star7-products-section .s7-wishlist:hover svg,
  .single-product .s7-wishlist:hover svg {
    transform: scale(1.08);
  }

  .star7-products-section .s7-wishlist a.added svg,
  .single-product .s7-wishlist a.added svg {
    fill: #fb7185;
    stroke: #fb7185;
  }

  .star7-products-section .s7-wishlist .wd-action-text,
  .single-product .s7-wishlist .wd-action-text,
  .star7-products-section .s7-wishlist .wd-check-icon,
  .single-product .s7-wishlist .wd-check-icon {
    display: none !important;
  }

  .star7-products-section .s7-wishlist a:focus-visible,
  .single-product .s7-wishlist a:focus-visible {
    outline: 2px solid #67e8f9 !important;
    outline-offset: 3px;
    border-radius: inherit;
  }

  @media (hover: hover) and (pointer: fine) {
    .star7-products-section .s7-wishlist {
      opacity: 0;
      transform: translateY(7px);
    }

    .star7-products-section .wd-product:hover .s7-wishlist,
    .star7-products-section .wd-product:focus-within .s7-wishlist {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .single-product .woocommerce-product-gallery {
    position: relative;
  }

  /* Shop archive: compact introduction and functional filtering panel. */
  .s7-shop-intro {
    position: relative;
    margin: 6px 0 20px;
    padding: 25px 30px;
    overflow: hidden;
    border: 1px solid rgba(77, 111, 179, 0.35);
    border-radius: 23px;
    background: radial-gradient(circle at 12% 20%, rgba(34, 211, 238, 0.13), transparent 36%), linear-gradient(125deg, #101c3a, #0b1227 62%, #141535);
  }

  .s7-shop-intro__eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #67e8f9;
    font: 800 12px/1.4 Tajawal, sans-serif;
  }

  .s7-shop-intro h1 {
    margin: 0 0 5px;
    color: #f8fafc;
    font: 900 clamp(25px, 3vw, 38px)/1.25 Tajawal, sans-serif;
  }

  .s7-shop-intro p {
    margin: 0;
    color: #b8c7e0;
    font: 600 13px/1.7 Tajawal, sans-serif;
  }

  .s7-shop-filters {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: end;
    gap: 10px;
    margin-bottom: 18px;
    padding: 17px;
    border: 1px solid rgba(79, 111, 176, 0.35);
    border-radius: 18px;
    background: #0e172d;
  }

  .s7-shop-filters label:first-child { grid-column: span 3; }
  .s7-shop-filters label:nth-child(2) { grid-column: span 3; }
  .s7-shop-filters label:nth-child(3),
  .s7-shop-filters label:nth-child(4) { grid-column: span 2; }
  .s7-shop-filters button,
  .s7-shop-filters__clear { grid-column: span 1; }

  .s7-shop-filters label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: #c7d5ed;
    font: 700 11px/1.25 Tajawal, sans-serif;
  }

  .s7-shop-filters input,
  .s7-shop-filters select {
    width: 100%;
    height: 43px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #33476e !important;
    border-radius: 11px !important;
    background: #111e39 !important;
    color: #f8fafc !important;
    font: 600 13px Tajawal, sans-serif;
  }

  .s7-shop-filters button,
  .s7-shop-filters__clear {
    display: grid;
    place-items: center;
    height: 43px;
    padding: 0 17px;
    border: 1px solid rgba(103, 232, 249, 0.24);
    border-radius: 11px;
    background: linear-gradient(135deg, #2f7bff, #655af2);
    color: #fff !important;
    font: 800 12px Tajawal, sans-serif;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
  }

  .s7-shop-filters__clear {
    background: #172440;
    color: #bdd0ec !important;
  }

  .woodmart-archive-shop .shop-loop-head {
    margin-bottom: 17px;
    padding: 12px 16px;
    border: 1px solid rgba(75, 107, 170, 0.25);
    border-radius: 14px;
    background: rgba(17, 27, 51, 0.78);
  }

  /* Product purchase actions and dynamic attributes within the Elementor template. */
  .single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }

  .single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
  .single-product .elementor-widget-woocommerce-product-add-to-cart .wd-buy-now-btn {
    display: inline-flex !important;
    flex: 1 1 165px;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 12px 18px !important;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
    color: #fff !important;
    font: 800 15px/1.2 Tajawal, sans-serif !important;
    text-align: center;
    box-shadow: none !important;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
  }

  .single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button {
    background: #172b50 !important;
    border-color: #3b6199 !important;
  }

  .single-product .elementor-widget-woocommerce-product-add-to-cart .wd-buy-now-btn {
    background: linear-gradient(135deg, #2f7bff, #7659ef) !important;
    box-shadow: 0 15px 31px -18px rgba(47, 123, 255, .95) !important;
  }

  .single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover,
  .single-product .elementor-widget-woocommerce-product-add-to-cart .wd-buy-now-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 19px 35px -19px rgba(34, 211, 238, .85) !important;
  }

  .single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:disabled,
  .single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.disabled,
  .single-product .elementor-widget-woocommerce-product-add-to-cart .wd-buy-now-btn:disabled {
    cursor: not-allowed;
    opacity: .58;
    transform: none !important;
  }

  .single-product .s7-product-specs h2 {
    display: none;
  }

  .single-product .elementor-element-66b17d78 {
    position: relative;
    overflow: hidden;
    padding: 20px !important;
    border: 1px solid rgba(69, 105, 173, 0.48) !important;
    border-radius: 18px !important;
    background: radial-gradient(circle at 100% 0, rgba(47, 123, 255, 0.14), transparent 34%), #0a142a !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
  }

  .single-product .elementor-element-66b17d78::before {
    content: "";
    position: absolute;
    inset: 0 18px auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, #22d3ee, #8b5cf6, transparent);
    opacity: .72;
  }

  .single-product .elementor-element-757017cd h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 3px !important;
  }

  .single-product .elementor-element-757017cd h3::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 3px;
    background: #22d3ee;
    box-shadow: 0 0 13px rgba(34, 211, 238, .75);
    transform: rotate(45deg);
  }

  .single-product .s7-product-specs .woocommerce-product-attributes {
    display: block;
    width: 100%;
    margin: 4px 0 0;
    border: 0 !important;
    background: transparent !important;
  }

  .single-product .s7-product-specs tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    width: 100%;
  }

  .single-product .s7-product-specs tr {
    position: relative;
    display: grid;
    align-content: center;
    min-height: 76px;
    padding: 12px 14px 11px;
    overflow: hidden;
    border: 1px solid rgba(66, 99, 159, .38);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(19, 33, 63, .96), rgba(13, 24, 48, .96));
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
  }

  .single-product .s7-product-specs tr::after {
    content: "";
    position: absolute;
    top: 13px;
    right: 0;
    width: 3px;
    height: 28px;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(#22d3ee, #5b7cff);
    opacity: .76;
  }

  .single-product .s7-product-specs tr:hover {
    transform: translateY(-2px);
    border-color: rgba(103, 232, 249, .52);
    background: linear-gradient(145deg, rgba(24, 46, 84, .98), rgba(14, 27, 54, .98));
  }

  .single-product .s7-product-specs tr:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .single-product .s7-product-specs th,
  .single-product .s7-product-specs td {
    display: block;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
  }

  .single-product .s7-product-specs th {
    margin-bottom: 5px;
    color: #7ddff3 !important;
    font: 700 11px/1.35 Tajawal, sans-serif;
  }

  .single-product .s7-product-specs td {
    color: #f8fafc !important;
    font: 800 13px/1.55 Tajawal, sans-serif;
  }

  .single-product .s7-product-specs td p {
    margin: 0;
  }

  .single-product .s7-spec-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px !important;
    width: 100%;
  }

  .single-product .s7-spec-grid > .s7-spec-row {
    position: relative;
    display: grid !important;
    align-content: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 76px;
    padding: 12px 14px 11px !important;
    overflow: hidden;
    border: 1px solid rgba(66, 99, 159, .38);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(19, 33, 63, .96), rgba(13, 24, 48, .96));
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
  }

  .single-product .s7-spec-grid > .s7-spec-row::after {
    content: "";
    position: absolute;
    top: 13px;
    right: 0;
    width: 3px;
    height: 28px;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(#22d3ee, #5b7cff);
    opacity: .76;
  }

  .single-product .s7-spec-grid > .s7-spec-row:hover {
    transform: translateY(-2px);
    border-color: rgba(103, 232, 249, .52);
    background: linear-gradient(145deg, rgba(24, 46, 84, .98), rgba(14, 27, 54, .98));
  }

  .single-product .s7-spec-grid > .s7-spec-row--wide {
    grid-column: 1 / -1;
  }

  .single-product .s7-spec-grid .elementor-widget-heading {
    margin: 0 !important;
  }

  .single-product .s7-spec-grid .s7-spec-label .elementor-heading-title {
    color: #7ddff3 !important;
    font: 700 11px/1.35 Tajawal, sans-serif !important;
  }

  .single-product .s7-spec-grid .s7-spec-value .elementor-heading-title {
    color: #f8fafc !important;
    font: 800 13px/1.55 Tajawal, sans-serif !important;
  }

  /* Four-item related-products fallback, ranked by matching category first. */
  .single-product .s7-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .single-product .s7-related-card {
    min-width: 0;
  }

  .single-product .s7-related-card .wd-product-wrapper {
    position: relative;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(64, 96, 157, .38);
    border-radius: 19px;
    background: linear-gradient(155deg, #111d38, #0b1429);
    box-shadow: 0 20px 44px -34px rgba(34, 211, 238, .65);
    transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
  }

  .single-product .s7-related-card:hover .wd-product-wrapper {
    transform: translateY(-5px);
    border-color: rgba(103, 232, 249, .55);
    box-shadow: 0 25px 48px -28px rgba(34, 211, 238, .48);
  }

  .single-product .s7-related-card__image {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / .88;
    margin: 12px 12px 0;
    overflow: hidden;
    border: 1px solid rgba(70, 105, 170, .26);
    border-radius: 15px;
    background: radial-gradient(circle, rgba(47, 123, 255, .13), transparent 64%), #0d172e;
  }

  .single-product .s7-related-card__image img {
    width: 82%;
    height: 82%;
    object-fit: contain;
    transition: transform 240ms ease, filter 240ms ease;
  }

  .single-product .s7-related-card:hover .s7-related-card__image img {
    transform: translateY(-3px) scale(1.035);
    filter: drop-shadow(0 14px 17px rgba(34, 211, 238, .17));
  }

  .single-product .s7-related-card__body {
    display: grid;
    gap: 8px;
    padding: 15px;
  }

  .single-product .s7-related-card__category {
    color: #67e8f9;
    font: 700 10px/1.35 Tajawal, sans-serif;
  }

  .single-product .s7-related-card .wd-entities-title {
    min-height: 42px;
    margin: 0;
    font: 800 15px/1.4 Tajawal, sans-serif;
  }

  .single-product .s7-related-card .wd-entities-title a {
    color: #f8fafc !important;
  }

  .single-product .s7-related-card__price {
    color: #d8e7ff;
    font: 800 12px/1.45 Tajawal, sans-serif;
  }

  .single-product .s7-related-card__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2px;
    padding-top: 11px;
    border-top: 1px solid rgba(83, 114, 176, .25);
    color: #8be9fb !important;
    font: 800 11px/1.3 Tajawal, sans-serif;
  }

  .single-product .s7-related-card__cta::after {
    content: "←";
    font-size: 15px;
  }

  @media (max-width: 1100px) {
    .s7-shop-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .s7-shop-filters label:first-child,
    .s7-shop-filters label:nth-child(2),
    .s7-shop-filters label:nth-child(3),
    .s7-shop-filters label:nth-child(4),
    .s7-shop-filters button,
    .s7-shop-filters__clear { grid-column: span 1; }
    .single-product .s7-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  @media (max-width: 640px) {
    .s7-shop-intro { padding: 20px; border-radius: 18px; }
    .s7-shop-filters { grid-template-columns: 1fr; padding: 12px; }
    .s7-shop-filters label:first-child,
    .s7-shop-filters label:nth-child(2),
    .s7-shop-filters label:nth-child(3),
    .s7-shop-filters label:nth-child(4),
    .s7-shop-filters button,
    .s7-shop-filters__clear { grid-column: 1 / -1; }
    .s7-shop-filters button,
    .s7-shop-filters__clear { width: 100%; }
    .single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: 1fr 1fr; }
    .single-product .elementor-widget-woocommerce-product-add-to-cart .quantity { grid-column: 1 / -1; }
    .single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
    .single-product .elementor-widget-woocommerce-product-add-to-cart .wd-buy-now-btn { min-width: 0; font-size: 13px !important; }
    .single-product .elementor-element-66b17d78 { padding: 16px !important; }
    .single-product .s7-product-specs tbody { grid-template-columns: 1fr; }
    .single-product .s7-product-specs tr:last-child:nth-child(odd) { grid-column: auto; }
    .single-product .s7-product-specs tr { min-height: 70px; padding: 11px 13px 10px; }
    .single-product .s7-product-specs td { font-size: 12px; }
    .single-product .s7-spec-grid { grid-template-columns: 1fr; }
    .single-product .s7-spec-grid > .s7-spec-row--wide { grid-column: auto; }
    .single-product .s7-spec-grid > .s7-spec-row { min-height: 70px; padding: 11px 13px 10px !important; }
    .single-product .s7-spec-grid .s7-spec-value .elementor-heading-title { font-size: 12px !important; }
    .single-product .s7-related-grid { grid-template-columns: 1fr; }
  }

  /* Single-product meta and quantity controls. */
  .single-product .product_meta {
    display: grid;
    gap: 7px;
  }

  .single-product .product_meta > span {
    color: #9fb0cd;
  }

  .single-product .product_meta .detail-label {
    color: #f8fafc;
    font-weight: 800;
  }

  .single-product form.cart .quantity {
    display: grid !important;
    grid-template-columns: 42px minmax(46px, 58px) 42px;
    align-items: stretch;
    width: auto !important;
    min-width: 142px;
    height: 50px;
    overflow: hidden;
    border: 1px solid rgba(79, 111, 176, 0.52) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #111b35, #0a1021) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.03), 0 14px 30px -24px rgba(34, 211, 238, 0.72);
  }

  .single-product form.cart .quantity .minus,
  .single-product form.cart .quantity .plus,
  .single-product form.cart .quantity .qty {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #f8fafc !important;
    box-shadow: none !important;
  }

  .single-product form.cart .quantity .minus,
  .single-product form.cart .quantity .plus {
    color: #67e8f9 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    transition: color 180ms ease, background 180ms ease;
  }

  .single-product form.cart .quantity .minus:hover,
  .single-product form.cart .quantity .plus:hover {
    background: rgba(47, 123, 255, 0.18) !important;
    color: #fff !important;
  }

  .single-product form.cart .quantity .qty {
    border-right: 1px solid rgba(79, 111, 176, 0.32) !important;
    border-left: 1px solid rgba(79, 111, 176, 0.32) !important;
    font-family: Tajawal, sans-serif;
    font-size: 15px !important;
    font-weight: 800;
    text-align: center;
    appearance: textfield;
  }

  .single-product form.cart .quantity:focus-within {
    border-color: rgba(34, 211, 238, 0.78) !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.1), 0 16px 34px -24px rgba(34, 211, 238, 0.86);
  }

  /* Delivery and activation tab content, generated from verified product data. */
  .s7-delivery-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    direction: rtl;
  }

  .s7-delivery-panel__intro {
    grid-column: 1 / -1;
    margin: 0 0 4px;
    color: #c7d3e9;
    font: 600 15px/1.8 Tajawal, sans-serif;
  }

  .s7-delivery-step {
    min-height: 145px;
    padding: 18px;
    border: 1px solid rgba(77, 111, 179, 0.36);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(17, 27, 53, 0.92), rgba(9, 14, 29, 0.94));
  }

  .s7-delivery-step__number {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-bottom: 12px;
    border-radius: 10px;
    background: linear-gradient(135deg, #2f7bff, #8b5cf6);
    color: #fff;
    font: 800 13px/1 Tajawal, sans-serif;
    box-shadow: 0 9px 20px -12px rgba(47, 123, 255, 0.9);
  }

  .s7-delivery-step strong {
    display: block;
    margin-bottom: 7px;
    color: #f8fafc;
    font: 800 15px/1.45 Tajawal, sans-serif;
  }

  .s7-delivery-step p {
    margin: 0;
    color: #aebdd7;
    font: 600 13px/1.75 Tajawal, sans-serif;
  }

  @media (max-width: 767px) {
    .s7-delivery-panel {
      grid-template-columns: 1fr;
    }

    .s7-delivery-step {
      min-height: 0;
    }
  }

  @media (max-width: 767px) {
    .s7-loop-card,
    .wd-products .wd-product .product-wrapper {
      border-radius: 19px !important;
    }

    .wd-products.products-bordered-grid {
      gap: 12px !important;
    }

    .wd-products .wd-product .product-wrapper {
      padding: 10px 10px 14px;
    }

    .wd-products .wd-product .wd-entities-title {
      font-size: 15px;
    }
  }
