/* ============================================================
   Infinity Digital Shop — Main Stylesheet  v2
   ============================================================ */

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,sans-serif;
  font-size:15px;line-height:1.6;
  background-color:var(--bg-base);
  color:var(--text-primary);
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{
  font-family:'Poppins',sans-serif;
  font-weight:700;line-height:1.2;
  color:var(--text-primary);
}

/* ── Design Tokens ── */
:root{
  --bg-base:#080A12;
  --bg-surface:#0E1017;
  --bg-card:#131620;
  --bg-card-hover:#191D2E;
  --bg-elevated:#1E2235;
  --border:rgba(255,255,255,0.10);
  --border-hover:rgba(255,255,255,0.18);
  --accent:#6366F1;
  --accent-hover:#4F46E5;
  --accent-glow:rgba(99,102,241,0.25);
  --purple:#8B5CF6;
  --gradient:linear-gradient(135deg,#6366F1 0%,#8B5CF6 100%);
  --green:#22C55E;
  --orange:#F97316;
  --red:#EF4444;
  --yellow:#EAB308;
  --text-primary:#F1F5F9;
  --text-secondary:#94A3B8;
  --text-muted:#64748B;
  --radius:12px;
  --radius-sm:8px;
  --radius-lg:20px;
  --shadow:0 4px 24px rgba(0,0,0,0.4);
  --shadow-lg:0 8px 48px rgba(0,0,0,0.6);
  --tr:0.2s ease;
  --transition:var(--tr); /* alias — woocommerce.css uses this name */
}

/* ── Reduced-motion: respect OS-level preference ── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ── Skip link ── */
.skip-link{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;
  background:var(--accent);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);
  font-weight:600;z-index:10000;
}
.skip-link:focus{left:8px;top:8px;width:auto;height:auto;overflow:visible}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ══════════════════════════════════════════
   ANNOUNCEMENT BAR
═══════════════════════════════════════════ */
.announcement-bar{
  background:var(--gradient);
  color:#fff;text-align:center;
  font-size:13px;font-weight:500;
  padding:9px 48px;
  position:relative;z-index:200;
}
.announcement-bar p{margin:0}
.announcement-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.announcement-close{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:rgba(255,255,255,0.75);
  font-size:20px;cursor:pointer;line-height:1;padding:10px 14px;
  min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--radius-sm);
  transition:color var(--tr),background var(--tr);
}
.announcement-close:hover{color:#fff}

/* ══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
.ids-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;left:0;right:0;
  z-index:9999!important;
  background:rgba(8,10,18,0.92);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
  will-change:transform;
}
.ids-header.is-scrolled{
  background:rgba(8,10,18,0.97);
  border-bottom-color:rgba(99,102,241,0.18);
  box-shadow:
    0 4px 24px -4px rgba(0,0,0,0.6),
    0 0 0 1px rgba(99,102,241,0.08) inset;
}
/* Critical: parent containers must NOT use overflow:hidden or transform — that breaks sticky */
.ids-site,#page,body{overflow-x:clip;overflow-y:visible}
html,body{overflow:visible}
/* Inner flex row */
.ids-header__inner{
  display:flex;align-items:center;gap:16px;
  height:64px;
}

/* Logo */
.ids-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.ids-logo img,.ids-logo .custom-logo,.custom-logo-link .custom-logo{
  height:40px;width:auto;
  /* Dark-bg optimization: lift dark maroon/red parts of logo so they pop against dark navy header.
   * brightness lifts dark pixels, saturate keeps reds vivid, drop-shadow adds subtle red glow. */
  filter:
    brightness(1.18)
    saturate(1.22)
    contrast(1.05)
    drop-shadow(0 0 6px rgba(245,30,70,0.28))
    drop-shadow(0 1px 2px rgba(0,0,0,0.35));
  transition:filter .25s ease,transform .25s ease;
}
.ids-logo:hover img,.ids-logo:hover .custom-logo,.custom-logo-link:hover .custom-logo{
  filter:
    brightness(1.28)
    saturate(1.32)
    contrast(1.08)
    drop-shadow(0 0 12px rgba(245,30,70,0.5))
    drop-shadow(0 1px 2px rgba(0,0,0,0.35));
  transform:translateY(-1px);
}
/* Footer logo gets the same treatment */
.ids-footer .custom-logo,.ids-footer .ids-logo img{
  filter:brightness(1.15) saturate(1.18) drop-shadow(0 0 4px rgba(245,30,70,0.22));
}
.ids-logo__text{
  font-family:'Poppins',sans-serif;font-weight:800;font-size:18px;white-space:nowrap;
  background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* Nav */
.ids-nav{flex:1;display:flex;justify-content:center}
.ids-nav__menu{display:flex;gap:2px;align-items:center}
.ids-nav__menu li{list-style:none}
.ids-nav__menu a{
  display:block;padding:8px 14px;border-radius:var(--radius-sm);
  font-size:14px;font-weight:500;color:var(--text-secondary);
  transition:color var(--tr),background var(--tr);
  white-space:nowrap;
}
.ids-nav__menu a:hover,
.ids-nav__menu .current-menu-item>a,
.ids-nav__menu .current_page_item>a{
  color:var(--text-primary);background:rgba(255,255,255,0.07);
}

/* Right actions */
.ids-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* Action buttons (search + cart) */
.ids-action-btn{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.05);border:1px solid var(--border);
  color:var(--text-secondary);cursor:pointer;
  transition:background var(--tr),color var(--tr),border-color var(--tr);
  text-decoration:none;
}
.ids-action-btn:hover{
  background:rgba(99,102,241,0.1);border-color:var(--accent);color:var(--accent);
}

/* Cart count badge */
.ids-cart-count{
  position:absolute;top:-5px;right:-5px;
  background:var(--accent);color:#fff;
  font-size:10px;font-weight:700;min-width:17px;height:17px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--bg-base);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.ids-cart-count.is-pop{animation:ids-badge-pop .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes ids-badge-pop{
  0%{transform:scale(0.6)}
  50%{transform:scale(1.45)}
  100%{transform:scale(1)}
}
/* Cart icon shake when item lands */
.ids-cart-btn.is-shake{animation:ids-cart-bounce .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes ids-cart-bounce{
  0%{transform:translateY(0)}
  30%{transform:translateY(-6px) scale(1.1)}
  60%{transform:translateY(2px) scale(0.95)}
  100%{transform:translateY(0) scale(1)}
}

/* Hamburger */
.ids-hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;
  padding:8px;border-radius:var(--radius-sm);
  transition:background var(--tr);
}
.ids-hamburger:hover{background:rgba(255,255,255,0.07)}
.ids-hamburger span{
  display:block;width:22px;height:2px;
  background:var(--text-primary);border-radius:2px;
  transition:transform 0.3s ease,opacity 0.3s ease;
}
.ids-hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ids-hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ids-hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Search slide-down */
.ids-search-bar{
  background:var(--bg-surface);
  border-bottom:1px solid var(--border);
  padding:14px 0;
  overflow:hidden;
  /* When [hidden] — browser hides it; we animate with JS removing hidden */
}
.ids-search-bar[hidden]{display:none}
.ids-search-bar:not([hidden]){
  animation:slideDown 0.25s ease both;
}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.ids-search-form{
  display:flex;gap:8px;max-width:640px;margin:0 auto;
}
.ids-search-form input[type=search]{
  flex:1;background:var(--bg-card);border:1px solid var(--border-hover);
  border-radius:var(--radius-sm);padding:10px 16px;
  color:var(--text-primary);font-size:14px;outline:none;
  transition:border-color var(--tr);
}
.ids-search-form input[type=search]::placeholder{color:var(--text-muted)}
.ids-search-form input[type=search]:focus{border-color:var(--accent)}
.ids-search-form button[type=submit]{
  background:var(--gradient);color:#fff;border:none;
  border-radius:var(--radius-sm);padding:10px 20px;
  cursor:pointer;transition:opacity var(--tr);
  display:flex;align-items:center;justify-content:center;
}
.ids-search-form button[type=submit]:hover{opacity:0.9}

/* Mobile nav overlay */
@media(max-width:900px){
  .ids-nav{
    display:none;
    position:fixed;inset:0;z-index:99;
    background:rgba(8,10,18,0.98);backdrop-filter:blur(24px);
    flex-direction:column;justify-content:center;align-items:center;
    gap:8px;padding:24px;
  }
  .ids-nav.is-open{display:flex}
  .ids-nav__menu{flex-direction:column;align-items:stretch;width:100%;max-width:320px;gap:4px}
  .ids-nav__menu a{
    font-size:17px;padding:14px 20px;
    border:1px solid var(--border);border-radius:var(--radius-sm);
  }
  .ids-hamburger{display:flex}
  .ids-header__inner{padding:0 16px}
  /* Show hamburger above mobile nav */
  .ids-hamburger.is-open{position:relative;z-index:100}
}

/* ══════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════ */
.ids-container{max-width:1320px;margin:0 auto;padding:0 24px}
.ids-container--narrow{max-width:760px;margin:0 auto;padding:0 24px}
.ids-main{min-height:60vh;padding-bottom:80px}

.ids-section{padding:80px 0}
.ids-section--sm{padding:48px 0}

/* Section header */
.ids-section-header{text-align:center;margin-bottom:48px}
.ids-section-header--row{
  display:flex;justify-content:space-between;align-items:flex-end;
  text-align:left;margin-bottom:32px;flex-wrap:wrap;gap:16px;
}
.ids-section-title{font-size:clamp(22px,4vw,34px);margin-bottom:10px;margin-top:10px}
.ids-section-sub{color:var(--text-secondary);font-size:16px;max-width:560px;margin:0 auto}

/* Labels */
.ids-label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;padding:5px 12px;
  border-radius:50px;text-transform:uppercase;letter-spacing:0.5px;
  margin-bottom:8px;
}
.ids-label--hot{
  background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.3);
  color:var(--red);
}
.ids-label--new{
  background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.3);
  color:var(--green);
}

/* ══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.ids-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;border-radius:var(--radius-sm);
  font-family:'Poppins',sans-serif;font-weight:600;
  cursor:pointer;transition:all var(--tr);white-space:nowrap;
  text-decoration:none;
}
.ids-btn--primary{
  background:var(--gradient);color:#fff;
  padding:12px 28px;font-size:15px;
  box-shadow:0 0 20px var(--accent-glow);
}
.ids-btn--primary:hover{opacity:0.9;box-shadow:0 0 32px var(--accent-glow);transform:translateY(-1px)}
.ids-btn--outline{
  background:transparent;color:var(--text-primary);
  border:1px solid var(--border-hover);
  padding:12px 28px;font-size:15px;
}
.ids-btn--outline:hover{border-color:var(--accent);color:var(--accent);background:rgba(99,102,241,0.08)}
.ids-btn--ghost{
  background:rgba(255,255,255,0.05);color:var(--text-secondary);
  border:1px solid var(--border);
  padding:10px 20px;font-size:14px;
}
.ids-btn--ghost:hover{background:rgba(255,255,255,0.1);color:var(--text-primary)}
.ids-btn--white{
  background:#fff;color:#111;
  padding:14px 32px;font-size:16px;
}
.ids-btn--white:hover{background:rgba(255,255,255,0.9);color:#111}
.ids-btn--sm{padding:8px 18px;font-size:13px}
.ids-btn--lg{padding:15px 36px;font-size:16px}

/* ══════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════ */
.ids-hero{
  position:relative;overflow:hidden;
  padding:88px 0 72px;
  background:radial-gradient(ellipse 80% 60% at 50% -5%,rgba(99,102,241,0.12),transparent);
}

/* Animated orbs */
.ids-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ids-hero__orb{
  position:absolute;border-radius:50%;filter:blur(80px);
}
.ids-hero__orb--1{
  width:520px;height:520px;top:-200px;left:-80px;opacity:0.25;
  background:radial-gradient(circle,#6366F1,transparent);
  animation:orb-drift 10s ease-in-out infinite;
}
.ids-hero__orb--2{
  width:420px;height:420px;top:-80px;right:-80px;opacity:0.2;
  background:radial-gradient(circle,#8B5CF6,transparent);
  animation:orb-drift 13s ease-in-out infinite reverse;
}
.ids-hero__orb--3{
  width:320px;height:320px;bottom:-80px;left:42%;opacity:0.15;
  background:radial-gradient(circle,#06B6D4,transparent);
  animation:orb-drift 8s ease-in-out infinite 2s;
}
@keyframes orb-drift{
  0%,100%{transform:translate(0,0)}
  33%{transform:translate(20px,-15px)}
  66%{transform:translate(-15px,20px)}
}

/* Hero inner layout: 2 columns on desktop */
.ids-hero__content{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;
  gap:56px;align-items:center;
}

/* Left column */
.ids-hero__text{}

.ids-hero__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(99,102,241,0.12);border:1px solid rgba(99,102,241,0.3);
  color:var(--accent);font-size:12px;font-weight:600;
  padding:6px 14px;border-radius:50px;margin-bottom:20px;
  letter-spacing:0.5px;text-transform:uppercase;
}
.ids-eyebrow-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);
  animation:pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.7)}}

.ids-hero__headline{
  font-size:clamp(32px,5.5vw,58px);
  font-weight:800;line-height:1.08;
  margin-bottom:18px;
  letter-spacing:-0.02em;
}
.ids-hero__headline .gradient-text{
  background:var(--gradient);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

.ids-hero__sub{
  color:var(--text-secondary);font-size:17px;line-height:1.7;
  margin-bottom:28px;max-width:460px;
}

/* Hero search box */
.ids-hero__search{margin-bottom:28px}
.ids-hero__search-inner{
  display:flex;align-items:center;gap:0;
  background:var(--bg-card);border:1px solid var(--border-hover);
  border-radius:var(--radius);overflow:hidden;
  max-width:480px;
  transition:border-color var(--tr),box-shadow var(--tr);
}
.ids-hero__search-inner:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-glow);
}
.ids-hero__search-icon{
  flex-shrink:0;margin-left:16px;color:var(--text-muted);pointer-events:none;
}
.ids-hero__search input[type=search]{
  flex:1;background:none;border:none;outline:none;
  padding:13px 12px;color:var(--text-primary);font-size:15px;
}
.ids-hero__search input[type=search]::placeholder{color:var(--text-muted)}
.ids-hero__search .ids-btn--sm{
  border-radius:0;margin:0;
  height:100%;padding:13px 22px;
}

.ids-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}

/* Trust badges */
.ids-hero__trust{display:flex;gap:20px;flex-wrap:wrap}
.ids-trust-item{
  display:flex;align-items:center;gap:6px;
  font-size:13px;color:var(--text-secondary);
}
.ids-trust-item span{font-size:15px}

/* Right column — floating product cards */
.ids-hero__visual{position:relative;display:flex;flex-direction:column;gap:14px}

.ids-floating-card{
  display:flex;align-items:center;gap:14px;
  background:var(--bg-card);border:1px solid var(--border-hover);
  border-radius:var(--radius);padding:14px 18px;
  box-shadow:var(--shadow);
  animation:card-bob 6s ease-in-out infinite;
  border-left:3px solid var(--brand-color,var(--accent));
  transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr),background var(--tr);
  text-decoration:none;cursor:pointer;
}
.ids-floating-card:hover{
  transform:translateX(6px);
  box-shadow:var(--shadow-lg);
  background:var(--bg-card-hover);
  border-color:var(--accent);
}
.ids-floating-card--0{animation-delay:0s}
.ids-floating-card--1{animation-delay:1.5s}
.ids-floating-card--2{animation-delay:3s}
.ids-floating-card--3{animation-delay:4.5s}
@keyframes card-bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
/* Product thumbnail inside floating card */
.ids-floating-card__thumb{
  width:44px;height:44px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;
  background:var(--bg-surface);
}
.ids-floating-card__thumb img{width:100%;height:100%;object-fit:cover}
.ids-floating-card__info{flex:1;min-width:0}
.ids-floating-card__icon{
  font-size:28px;flex-shrink:0;width:44px;height:44px;
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.05);
}
.ids-floating-card__name{
  font-weight:700;font-size:15px;color:var(--text-primary);
}
.ids-floating-card__price{
  font-size:13px;color:var(--text-secondary);margin-top:2px;
}
.ids-floating-card__badge{
  margin-left:auto;flex-shrink:0;
  background:rgba(34,197,94,0.12);color:var(--green);
  font-size:11px;font-weight:700;padding:4px 10px;
  border-radius:50px;border:1px solid rgba(34,197,94,0.3);
  white-space:nowrap;
}

/* ══════════════════════════════════════════
   CATEGORY CARDS
═══════════════════════════════════════════ */
.ids-categories__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(155px,1fr));
  gap:16px;
}
.ids-cat-card{
  display:flex;flex-direction:column;align-items:flex-start;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);padding:22px 18px;
  text-decoration:none;
  transition:transform var(--tr),border-color var(--tr),box-shadow var(--tr);
  position:relative;overflow:hidden;cursor:pointer;
}
.ids-cat-card::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 10%,var(--cat-color,#6366F1),transparent 65%);
  opacity:0;transition:opacity 0.3s ease;pointer-events:none;
}
.ids-cat-card:hover{
  transform:translateY(-4px);
  border-color:var(--cat-color,var(--accent));
  box-shadow:0 8px 32px rgba(0,0,0,0.35);
}
.ids-cat-card:hover::after{opacity:0.12}
.ids-cat-card__icon-wrap{
  width:52px;height:52px;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  margin-bottom:14px;position:relative;z-index:1;
  /* Tinted backplate that uses the per-category accent color */
  color:var(--cat-color,var(--accent));
  transition:background var(--tr),border-color var(--tr);
}
.ids-cat-card:hover .ids-cat-card__icon-wrap{
  background:color-mix(in srgb, var(--cat-color, var(--accent)) 14%, transparent);
  border-color:color-mix(in srgb, var(--cat-color, var(--accent)) 35%, var(--border));
}
.ids-cat-card__icon{
  line-height:1;display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;color:inherit;
}
.ids-cat-card__icon svg{width:100%;height:100%;display:block}

/* Category section icon header (per-category product carousel) */
.ids-catprod-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  background:color-mix(in srgb,var(--cat-color,var(--accent)) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--cat-color,var(--accent)) 30%,var(--border));
  color:var(--cat-color,var(--accent));
}
.ids-catprod-icon svg{width:24px;height:24px;display:block}

/* Category filter pills (shop archive) */
.ids-cat-pill svg{
  width:16px;height:16px;flex-shrink:0;color:var(--cat-color,currentColor);
  vertical-align:-3px;margin-right:6px;
}
.ids-cat-pill--active svg{color:#fff}
.ids-cat-card__info{position:relative;z-index:1;flex:1}
.ids-cat-card__name{
  font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:4px;
}
.ids-cat-card__count{font-size:12px;color:var(--text-muted)}
.ids-cat-card__arrow{
  margin-top:12px;color:var(--cat-color,var(--text-muted));
  position:relative;z-index:1;opacity:0;
  transition:opacity var(--tr),transform var(--tr);
}
.ids-cat-card:hover .ids-cat-card__arrow{opacity:1;transform:translateX(4px)}

/* ══════════════════════════════════════════
   PRODUCT CARDS
═══════════════════════════════════════════ */
.ids-products-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.ids-products-grid--4{grid-template-columns:repeat(4,1fr)}
.ids-products-grid--3{grid-template-columns:repeat(3,1fr)}

/* ── 3D hover tilt: parent grid provides perspective so cards feel like they
 * move IN SPACE, not just scale. Applied to all product grid containers. ── */
.ids-products-grid,.ids-products-grid--4,.ids-products-grid--3,
.related.products ul.products,.upsells.products ul.products,
.elementor-widget-woocommerce-products .products{
  perspective:1400px;
  perspective-origin:50% 50%;
}

.ids-product-card,.package-card{
  position:relative;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;
  transform-style:preserve-3d;
  transform:translateZ(0) rotateX(0) rotateY(0);
  transition:transform .45s cubic-bezier(.2,.8,.25,1),
             border-color .25s ease,
             box-shadow .45s cubic-bezier(.2,.8,.25,1);
  will-change:transform;
  backface-visibility:hidden;
}
/* Only enable real 3D tilt on devices with a real cursor + no motion-sensitivity */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .ids-product-card:hover,.package-card:hover{
    transform:translateZ(30px) rotateX(4deg) rotateY(-4deg);
    border-color:var(--accent);
    box-shadow:
      0 30px 60px -20px rgba(0,0,0,0.55),
      0 18px 40px -10px var(--accent-glow),
      0 0 0 1px rgba(255,255,255,0.04) inset;
  }
}
/* Mobile/touch: keep the lift but skip the tilt (avoids weird mid-tap rotation) */
@media (hover:none),(prefers-reduced-motion:reduce){
  .ids-product-card:hover,.ids-product-card:active,
  .package-card:hover,.package-card:active{
    transform:translateY(-3px);
    border-color:var(--accent);
    box-shadow:0 8px 40px var(--accent-glow);
  }
}

.ids-product-card__img-wrap{
  position:relative;display:block;overflow:hidden;
  padding-top:100%;background:var(--bg-elevated);
  transform:translateZ(0);
  transition:transform .45s cubic-bezier(.2,.8,.25,1);
}
.ids-product-card__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.8,.25,1);
  backface-visibility:hidden;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  /* Image stays slightly back so it feels like the card frame floats forward */
  .ids-product-card:hover .ids-product-card__img-wrap{transform:translateZ(8px)}
  .ids-product-card:hover .ids-product-card__img{transform:scale(1.06)}
  /* Badges, title and CTA float ABOVE the card on Z — the depth-layer effect */
  .ids-product-card:hover .ids-product-card__badges{transform:translateZ(40px)}
  .ids-product-card:hover .ids-product-card__body{transform:translateZ(20px)}
  .ids-product-card:hover .ids-product-card__title{transform:translateZ(10px)}
  .ids-product-card:hover .ids-product-card__footer .ids-btn{transform:translateZ(30px)}
  /* Feature pills (Elementor or generic) pop the most */
  .ids-product-card:hover .feature-pill,
  .package-card:hover .feature-pill{
    transform:translateZ(45px);
    box-shadow:0 6px 18px -4px rgba(0,0,0,0.4);
  }
}
.ids-product-card__img-placeholder,
.ids-product-card__badges,.ids-product-card__body,
.ids-product-card__title,.ids-product-card__footer .ids-btn,
.feature-pill{
  transition:transform .45s cubic-bezier(.2,.8,.25,1),box-shadow .45s ease;
  transform-style:preserve-3d;
}
.ids-product-card:hover .ids-product-card__img{transform:scale(1.05)}
.ids-product-card__img-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:44px;color:var(--text-muted);
}

.ids-product-card__badges{
  position:absolute;top:10px;left:10px;
  display:flex;flex-direction:column;gap:4px;
}
.product-badge{
  display:inline-block;padding:3px 8px;border-radius:4px;
  font-size:10px;font-weight:800;letter-spacing:0.4px;text-transform:uppercase;
}
.badge--sale{background:var(--red);color:#fff}
.badge--hot{background:var(--gradient);color:#fff}
.badge--new{background:var(--green);color:#fff}
.badge--instant{
  background:rgba(234,179,8,0.14);color:var(--yellow);
  border:1px solid rgba(234,179,8,0.3);
}

.ids-product-card__body{
  padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;
}
.ids-product-card__title{
  font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  transition:color var(--tr);
}
.ids-product-card__title:hover{color:var(--accent)}
.ids-product-card__meta{display:flex;gap:6px;flex-wrap:wrap}
.ids-product-card__cat{
  font-size:11px;color:var(--text-muted);
  background:rgba(255,255,255,0.05);
  padding:3px 8px;border-radius:50px;
}

.ids-product-card__footer{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:auto;padding-top:12px;border-top:1px solid var(--border);
  gap:8px;
}
.ids-product-card__price{display:flex;flex-direction:column;gap:1px;min-width:0}
.ids-price-from{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px}
.ids-product-card__price .woocommerce-Price-amount{
  font-size:15px;font-weight:800;color:var(--accent);font-family:'Poppins',sans-serif;
}
.ids-product-card__price del .woocommerce-Price-amount{
  font-size:12px;color:var(--text-muted);font-weight:400;
}
.ids-product-card__price ins{text-decoration:none}
.ids-add-to-cart{flex-shrink:0;font-size:12px;padding:7px 14px}

/* Dual-button row on product cards */
.ids-card-btns{display:flex;gap:6px;align-items:center;flex-shrink:0}
.ids-card-btns .ids-btn--ghost{padding:7px 10px;font-size:16px;line-height:1;border-radius:var(--radius-sm)}
.ids-card-btns .ids-btn--primary{padding:7px 12px;font-size:12px}

/* ── AJAX Add-to-Cart button states (icon / spinner / check) ──────────── */
.ids-add-to-cart{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;min-height:40px;
  transition:background var(--tr),border-color var(--tr),color var(--tr),transform .2s ease;
  overflow:hidden;
}
.ids-add-to-cart__icon,
.ids-add-to-cart__check,
.ids-add-to-cart__spinner{
  display:inline-flex;align-items:center;justify-content:center;
  position:absolute;inset:0;
  transition:opacity .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1);
}
.ids-add-to-cart__icon{opacity:1;transform:translateY(0) scale(1)}
.ids-add-to-cart__check{opacity:0;transform:translateY(-12px) scale(0.7);color:#fff;font-weight:800;font-size:18px}
.ids-add-to-cart__spinner{
  opacity:0;
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(99,102,241,0.25);
  border-top-color:var(--accent);
  position:absolute;inset:auto;margin:auto;
  top:0;right:0;bottom:0;left:0;
}
/* Loading state */
.ids-add-to-cart.is-loading{pointer-events:none}
.ids-add-to-cart.is-loading .ids-add-to-cart__icon{opacity:0;transform:translateY(12px) scale(0.7)}
.ids-add-to-cart.is-loading .ids-add-to-cart__spinner{opacity:1;animation:ids-spin .7s linear infinite}
/* Added state — green flash */
.ids-add-to-cart.is-added{
  background:var(--green,#22c55e)!important;
  border-color:var(--green,#22c55e)!important;
  color:#fff!important;
  animation:ids-btn-pop .45s cubic-bezier(.34,1.56,.64,1);
}
.ids-add-to-cart.is-added .ids-add-to-cart__icon{opacity:0;transform:translateY(12px) scale(0.6)}
.ids-add-to-cart.is-added .ids-add-to-cart__check{opacity:1;transform:translateY(0) scale(1)}
/* Error state — red shake */
.ids-add-to-cart.is-error{
  background:rgba(239,68,68,0.15)!important;
  border-color:#ef4444!important;color:#ef4444!important;
  animation:ids-btn-shake .45s cubic-bezier(.36,.07,.19,.97);
}
@keyframes ids-spin{to{transform:rotate(360deg)}}
@keyframes ids-btn-pop{
  0%{transform:scale(1)}
  40%{transform:scale(1.15)}
  100%{transform:scale(1)}
}
@keyframes ids-btn-shake{
  10%,90%{transform:translateX(-2px)}
  20%,80%{transform:translateX(3px)}
  30%,50%,70%{transform:translateX(-5px)}
  40%,60%{transform:translateX(5px)}
}

/* Fly-to-cart clone — base style (transition is set inline by JS) */
.ids-fly-clone{
  position:fixed!important;
  pointer-events:none!important;
}

/* ── Toast notifications ──────────────────────────────────────────────── */
.ids-toast-host{
  position:fixed;top:20px;right:20px;z-index:99999;
  display:flex;flex-direction:column;gap:10px;
  pointer-events:none;
}
.ids-toast{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(15,18,30,0.95);
  border:1px solid var(--border);
  color:var(--text-primary);
  padding:12px 18px;border-radius:12px;
  box-shadow:0 12px 36px -8px rgba(0,0,0,0.55),0 0 0 1px rgba(255,255,255,0.04) inset;
  font-size:14px;font-weight:600;
  min-width:240px;max-width:380px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  opacity:0;transform:translateX(120%);
  transition:opacity .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1);
  pointer-events:auto;
}
.ids-toast.is-in{opacity:1;transform:translateX(0)}
.ids-toast.is-out{opacity:0;transform:translateX(120%) scale(.95);transition:opacity .25s ease,transform .3s ease}
.ids-toast__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;font-weight:800;font-size:13px;
  flex-shrink:0;
}
.ids-toast--success .ids-toast__icon{background:var(--green,#22c55e);color:#fff}
.ids-toast--error .ids-toast__icon{background:#ef4444;color:#fff}
.ids-toast__msg{flex:1;line-height:1.4}
@media(max-width:480px){
  .ids-toast-host{top:auto;bottom:80px;right:12px;left:12px}
  .ids-toast{min-width:0;max-width:100%}
  .ids-toast.is-in{transform:translateY(0)}
  .ids-toast{transform:translateY(120%)}
  .ids-toast.is-out{transform:translateY(120%) scale(.95)}
}
@media(prefers-reduced-motion:reduce){
  .ids-add-to-cart.is-added,.ids-cart-count.is-pop,.ids-cart-btn.is-shake,
  .ids-add-to-cart__icon,.ids-add-to-cart__check,.ids-add-to-cart__spinner{
    animation:none!important;transition:none!important;
  }
}

/* Buy Now standalone button (single product) */
.ids-buy-now-btn{
  background:linear-gradient(135deg,#F97316 0%,#EF4444 100%);
  color:#fff;padding:12px 28px;font-size:15px;
  border-radius:var(--radius-sm);font-weight:700;
  box-shadow:0 0 20px rgba(249,115,22,0.3);
  transition:opacity var(--tr),transform var(--tr),box-shadow var(--tr);
  white-space:nowrap;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
}
.ids-buy-now-btn:hover{opacity:0.9;transform:translateY(-1px);box-shadow:0 0 32px rgba(249,115,22,0.45)}

/* ══════════════════════════════════════════
   FEATURE CARDS
═══════════════════════════════════════════ */
.ids-features__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.ids-feature-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);padding:28px 24px;
  transition:border-color var(--tr),transform var(--tr);
}
.ids-feature-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.ids-feature-card__icon{
  font-size:28px;margin-bottom:16px;
  width:52px;height:52px;border-radius:var(--radius-sm);
  background:rgba(99,102,241,0.1);border:1px solid rgba(99,102,241,0.2);
  display:flex;align-items:center;justify-content:center;
}
.ids-feature-card__title{font-size:16px;font-weight:700;margin-bottom:10px}
.ids-feature-card__desc{color:var(--text-secondary);font-size:14px;line-height:1.65}

/* ══════════════════════════════════════════
   BRANDS MARQUEE
═══════════════════════════════════════════ */
.ids-brands.ids-section{
  background:var(--bg-surface);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:40px 0;
}
.ids-brands .ids-section-header{margin-bottom:24px}
.ids-brands .ids-section-title{font-size:18px;margin-bottom:0}
.ids-brands__track-wrap{
  overflow:hidden;position:relative;
  /* Fade edges */
  -webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
  mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
}
.ids-brands__track{
  display:flex;gap:0;width:max-content;
  animation:marquee 35s linear infinite;
}
.ids-brands__track:hover{animation-play-state:paused}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.ids-brand-chip{
  display:flex;align-items:center;gap:8px;
  padding:10px 24px;font-size:13px;font-weight:600;
  color:var(--text-muted);white-space:nowrap;
  transition:color var(--tr);cursor:default;
}
.ids-brand-chip:hover{color:var(--text-primary)}
.ids-brand-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  opacity:0.8;
}

/* ══════════════════════════════════════════
   PAYMENT METHODS SECTION
═══════════════════════════════════════════ */
.ids-payments-grid{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:stretch;
}
.ids-payment-card{
  display:flex;align-items:center;justify-content:center;
  width:140px;height:80px;padding:14px 18px;
  background:#fff;border:1px solid rgba(0,0,0,0.06);
  border-radius:14px;
  transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr);
}
.ids-payment-card:hover{
  border-color:rgba(99,102,241,0.4);transform:translateY(-3px);
  box-shadow:0 10px 28px -10px rgba(0,0,0,0.45);
}
.ids-payment-card img{
  max-width:100%!important;max-height:100%!important;
  width:auto!important;height:auto!important;
  display:block;object-fit:contain;
}
@media(max-width:600px){
  .ids-payments-grid{gap:8px}
  .ids-payment-card{width:96px;height:60px;padding:8px 12px;border-radius:10px}
}

/* Footer payment logos */
.ids-payment-logo{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:6px 10px;
  transition:border-color var(--tr);
}
.ids-payment-logo:hover{border-color:var(--border-hover)}
.ids-payment-logo img{height:24px;width:auto;display:block;object-fit:contain}

/* ══════════════════════════════════════════
   CTA BANNER
═══════════════════════════════════════════ */
.ids-cta-banner{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#13143a 0%,#1a1040 50%,#0f1535 100%);
  border:1px solid rgba(99,102,241,0.35);
  border-radius:var(--radius-lg);
  padding:70px 40px 60px;text-align:center;
  margin:0 24px;
  box-shadow:0 0 80px rgba(99,102,241,0.12),inset 0 1px 0 rgba(255,255,255,0.06);
}
.ids-cta-banner__orb{
  position:absolute;border-radius:50%;pointer-events:none;
}
.ids-cta-banner__orb--1{
  width:500px;height:500px;top:-200px;left:-150px;
  background:radial-gradient(circle,rgba(99,102,241,0.18),transparent 65%);
}
.ids-cta-banner__orb--2{
  width:400px;height:400px;bottom:-180px;right:-100px;
  background:radial-gradient(circle,rgba(139,92,246,0.15),transparent 65%);
}
.ids-cta-banner__orb--3{
  width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(99,102,241,0.1),transparent 70%);
}
.ids-cta-banner__stats{
  display:flex;align-items:center;justify-content:center;gap:0;
  margin-bottom:32px;position:relative;z-index:1;
}
.ids-cta-stat{display:flex;flex-direction:column;align-items:center;padding:0 28px}
.ids-cta-stat__num{font-size:22px;font-weight:800;color:var(--text-primary);font-family:"Poppins",sans-serif;line-height:1.1}
.ids-cta-stat__label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:3px;text-transform:uppercase;letter-spacing:.6px}
.ids-cta-stat-div{width:1px;height:36px;background:rgba(255,255,255,0.1)}
.ids-cta-banner__title{
  font-size:clamp(28px,4vw,46px);margin-bottom:14px;position:relative;z-index:1;
  background:linear-gradient(135deg,#fff 30%,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ids-cta-banner__sub{
  color:var(--text-secondary);font-size:17px;margin-bottom:36px;
  max-width:500px;margin-left:auto;margin-right:auto;position:relative;z-index:1;
}
.ids-cta-banner__actions{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;
  margin-bottom:28px;
}
.ids-btn--cta{
  background:var(--gradient);color:#fff;
  padding:16px 40px;font-size:16px;font-weight:700;border-radius:var(--radius-sm);
  box-shadow:0 0 32px rgba(99,102,241,0.45);
  transition:transform .2s,box-shadow .2s,opacity .2s;
  white-space:nowrap;display:inline-flex;align-items:center;gap:8px;
}
.ids-btn--cta:hover{transform:translateY(-2px);box-shadow:0 0 48px rgba(99,102,241,0.6);opacity:.95;color:#fff}
.ids-cta-banner__trust{
  font-size:12px;color:var(--text-secondary);position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
}

/* ══════════════════════════════════════════
   CATEGORY PILL FILTERS (archive)
═══════════════════════════════════════════ */
.ids-cat-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.ids-cat-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:50px;font-size:13px;font-weight:600;
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--text-secondary);transition:all var(--tr);text-decoration:none;
}
.ids-cat-pill:hover{
  border-color:var(--cat-color,var(--accent));
  color:var(--cat-color,var(--accent));
  background:rgba(99,102,241,0.06);
}
.ids-cat-pill--active{
  background:var(--gradient);border-color:transparent;
  color:#fff;box-shadow:0 0 20px var(--accent-glow);
}

/* Shop toolbar */
.ids-shop-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:24px;padding:12px 16px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);
  flex-wrap:wrap;gap:10px;
}
.woocommerce-result-count{color:var(--text-secondary);font-size:14px;margin:0}
.woocommerce-ordering select{
  background:var(--bg-elevated);border:1px solid var(--border);
  color:var(--text-secondary);font-size:13px;padding:6px 12px;
  border-radius:var(--radius-sm);outline:none;cursor:pointer;
}
.woocommerce-ordering select:focus{border-color:var(--accent);color:var(--text-primary)}

/* ══════════════════════════════════════════
   PAGE HEADER & BREADCRUMBS
═══════════════════════════════════════════ */
.ids-page-header{margin-bottom:32px}
.ids-page-title{font-size:clamp(22px,4vw,38px);margin-bottom:8px}
.ids-page-subtitle{color:var(--text-secondary);font-size:16px}

.ids-breadcrumbs{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-bottom:24px;font-size:13px;color:var(--text-muted);
}
.ids-breadcrumbs a{color:var(--text-muted);transition:color var(--tr)}
.ids-breadcrumbs a:hover{color:var(--accent)}
.ids-breadcrumbs span[aria-hidden]{color:var(--text-muted);font-size:12px}

/* ══════════════════════════════════════════
   BLOG POSTS
═══════════════════════════════════════════ */
.ids-posts-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px;
}
.ids-post-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr);
}
.ids-post-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 32px rgba(99,102,241,0.15)}
.ids-post-card__thumb{display:block;overflow:hidden;aspect-ratio:16/9;position:relative}
.ids-post-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.45s ease}
.ids-post-card:hover .ids-post-card__thumb img{transform:scale(1.06)}
.ids-post-card__thumb-placeholder{
  width:100%;height:100%;background:var(--bg-elevated);
  display:flex;align-items:center;justify-content:center;font-size:40px;
}
.ids-post-card__cat-badge{
  position:absolute;top:12px;left:12px;
  background:var(--accent);color:#fff;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  padding:3px 9px;border-radius:20px;
}
.ids-post-card__body{padding:20px;display:flex;flex-direction:column;flex:1}
.ids-post-card__meta{
  display:flex;align-items:center;gap:10px;margin-bottom:10px;
}
.ids-post-card__date{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px}
.ids-post-card__date svg{flex-shrink:0}
.ids-post-card__sep{width:3px;height:3px;border-radius:50%;background:var(--text-muted);flex-shrink:0}
.ids-post-card__read-time{font-size:11px;color:var(--text-muted)}
.ids-post-card__title{margin-bottom:10px}
.ids-post-card__title a{font-size:15px;font-weight:700;color:var(--text-primary);transition:color var(--tr);line-height:1.4}
.ids-post-card__title a:hover{color:var(--accent)}
.ids-post-card__excerpt{color:var(--text-secondary);font-size:13px;line-height:1.65;margin-bottom:18px;flex:1}
.ids-post-card__more{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;color:var(--accent);
  transition:gap var(--tr),color var(--tr);margin-top:auto;
}
.ids-post-card__more:hover{gap:10px;color:var(--accent-hover)}

/* ══════════════════════════════════════════
   SEARCH & 404
═══════════════════════════════════════════ */
.search-form{display:flex;gap:8px;max-width:480px;margin:0 auto}
.search-field{
  flex:1;background:var(--bg-card);border:1px solid var(--border-hover);
  border-radius:var(--radius-sm);padding:11px 16px;
  color:var(--text-primary);font-size:14px;outline:none;
}
.search-field:focus{border-color:var(--accent)}
.search-submit{
  background:var(--gradient);color:#fff;border:none;
  border-radius:var(--radius-sm);padding:11px 20px;
  font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--tr);
}
.search-submit:hover{opacity:0.9}

.ids-404{text-align:center;padding:80px 0}
.ids-404__icon{font-size:72px;margin-bottom:24px;opacity:0.55;display:block}
.ids-404__title{font-size:clamp(28px,5vw,48px);margin-bottom:16px}
.ids-404__text{color:var(--text-secondary);font-size:17px;margin-bottom:32px}

.ids-no-results{text-align:center;padding:80px 0}
.ids-no-results__icon{font-size:56px;display:block;margin-bottom:20px;opacity:0.5}
.ids-no-results h2{margin-bottom:12px}
.ids-no-results p{color:var(--text-secondary);margin-bottom:24px}

/* ══════════════════════════════════════════
   BLOG SECTION LABEL
═══════════════════════════════════════════ */
.ids-label--blog{background:rgba(99,102,241,0.15);color:var(--accent)}

/* ══════════════════════════════════════════
   GLOBAL INPUT VISIBILITY (dark theme)
═══════════════════════════════════════════ */
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
textarea, select {
  color:var(--text-primary) !important;
  background:var(--bg-card) !important;
  border:1px solid var(--border-hover) !important;
}
input::placeholder,textarea::placeholder{color:rgba(241,245,249,.45)!important;opacity:1!important}

/* ══════════════════════════════════════════
   CATEGORY CAROUSEL SLIDESHOW
═══════════════════════════════════════════ */
.ids-cat-carousel-vp{
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
}
.ids-cat-carousel-vp::-webkit-scrollbar{display:none}
.ids-cat-carousel{display:flex;gap:14px}
.ids-cat-carousel .ids-cat-card{
  flex:0 0 160px;scroll-snap-align:start;
  /* remove the arrow since we no longer use it */
}
.ids-cat-carousel .ids-cat-card__arrow{display:none}
@media(max-width:700px){.ids-cat-carousel .ids-cat-card{flex:0 0 130px}}
@media(max-width:480px){.ids-cat-carousel .ids-cat-card{flex:0 0 calc(33.33% - 10px);min-width:0}}
@media(max-width:360px){.ids-cat-carousel .ids-cat-card{flex:0 0 calc(50% - 8px)}}

/* ══════════════════════════════════════════
   PRODUCT CAROUSEL
═══════════════════════════════════════════ */
.ids-carousel-viewport{
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  border-radius:var(--radius);
}
.ids-carousel-viewport::-webkit-scrollbar{display:none}
.ids-carousel{display:flex;gap:20px}
.ids-carousel>[role=listitem]{flex:0 0 calc(25% - 15px);scroll-snap-align:start}
.ids-carousel>[role=listitem] .ids-product-card{height:100%}
.ids-carousel-nav{display:flex;gap:8px;align-items:center}
.ids-carousel-btn{
  width:38px;height:38px;border-radius:50%;
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--text-primary);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--tr);flex-shrink:0;
}
.ids-carousel-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.ids-carousel-btn svg{pointer-events:none}
@media(max-width:900px){.ids-carousel>[role=listitem]{flex:0 0 calc(50% - 10px)}}
@media(max-width:480px){.ids-carousel>[role=listitem]{flex:0 0 calc(50% - 6px)}}

/* ══════════════════════════════════════════
   PER-CATEGORY PRODUCT SECTIONS
═══════════════════════════════════════════ */
.ids-catprod-header{display:flex;align-items:center;gap:14px}
.ids-catprod-icon{
  width:48px;height:48px;border-radius:var(--radius);flex-shrink:0;
  background:color-mix(in srgb,var(--cat-color) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--cat-color) 25%,transparent);
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
.ids-cat-products .ids-section-sub{margin-top:2px}

/* ══════════════════════════════════════════
   FOOTER — Modern UI
═══════════════════════════════════════════ */
.ids-footer{
  position:relative;
  background:linear-gradient(180deg,var(--bg-base) 0%,#070910 100%);
  border-top:1px solid rgba(255,255,255,0.06);
  overflow:hidden;
}
.ids-footer::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%,rgba(99,102,241,0.07) 0%,transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 10%,rgba(139,92,246,0.05) 0%,transparent 55%);
  pointer-events:none;
}
.ids-footer > *{position:relative;z-index:1}

/* Newsletter band */
.ids-footer__newsletter{
  background:linear-gradient(135deg,rgba(99,102,241,0.10) 0%,rgba(139,92,246,0.06) 100%);
  border-bottom:1px solid rgba(255,255,255,0.06);padding:44px 0;
}
.ids-footer__newsletter-inner{
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.ids-footer__newsletter-text h3{
  font-size:20px;font-weight:800;color:var(--text-primary);margin-bottom:6px;
  font-family:'Poppins',sans-serif;letter-spacing:-0.01em;
}
.ids-footer__newsletter-text p{font-size:14px;color:var(--text-muted);margin:0}
.ids-newsletter-form__inner{display:flex;gap:10px;flex-wrap:wrap}
.ids-newsletter-input{
  flex:1;min-width:240px;background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;padding:13px 18px;color:var(--text-primary);
  font-size:14px;outline:none;transition:border-color var(--tr),box-shadow var(--tr);
}
.ids-newsletter-input:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,0.14);
}

/* Main footer grid */
.ids-footer__main{padding:64px 0 52px}
.ids-footer__grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px;
}

/* Brand col */
.ids-footer__brand{max-width:340px}
.ids-footer__brand .ids-logo__text{font-size:22px;font-weight:800;color:var(--text-primary)}
.ids-footer__tagline{
  color:var(--text-muted);font-size:14px;line-height:1.75;margin:16px 0 22px;
}
.ids-footer__social{display:flex;gap:10px;margin-bottom:22px}
.ids-social-link{
  width:40px;height:40px;border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),
             background .25s ease,border-color .25s ease,color .25s ease;
}
.ids-social-link svg{width:18px;height:18px;fill:currentColor;transition:transform .25s ease}
.ids-social-link:hover{
  transform:translateY(-3px);
  background:var(--gradient);
  border-color:transparent;color:#fff;
  box-shadow:0 8px 20px -6px var(--accent-glow);
}
.ids-social-link:hover svg{transform:scale(1.1)}
.ids-social--telegram:hover{background:linear-gradient(135deg,#2AABEE,#229ED9)}
.ids-social--whatsapp:hover{background:linear-gradient(135deg,#25D366,#128C7E)}
.ids-social--facebook:hover{background:linear-gradient(135deg,#1877F2,#0a5dc9)}
.ids-social--instagram:hover{background:linear-gradient(135deg,#feda75,#d62976,#962fbf)}

.ids-footer__trust-badges{display:flex;gap:8px;flex-wrap:wrap}
.ids-footer__badge{
  font-size:11.5px;font-weight:600;color:var(--text-secondary);
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;padding:6px 12px;
  transition:border-color .2s ease,color .2s ease,transform .2s ease;
}
.ids-footer__badge:hover{
  border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px);
}
/* Contact info in footer */
.ids-footer__contact{display:flex;flex-direction:column;gap:12px;margin:22px 0}
.ids-footer__contact-item{
  display:flex;align-items:center;gap:12px;
  font-size:14px;color:var(--text-muted);transition:color var(--tr);
}
.ids-footer__contact-item:hover{color:var(--text-primary)}
.ids-footer__contact-item svg{
  width:34px;height:34px;flex-shrink:0;color:var(--accent);
  background:rgba(99,102,241,0.1);border-radius:10px;padding:8px;
}

/* Footer link columns */
.ids-footer__col-title{
  font-size:12px;font-weight:700;color:var(--text-primary);
  text-transform:uppercase;letter-spacing:1.4px;margin-bottom:22px;
  font-family:'Poppins',sans-serif;position:relative;padding-bottom:12px;
}
.ids-footer__col-title::after{
  content:'';position:absolute;left:0;bottom:0;
  width:28px;height:2px;border-radius:2px;background:var(--gradient);
}
.ids-footer__links{display:flex;flex-direction:column;gap:13px;list-style:none;padding:0;margin:0}
.ids-footer__links a{
  font-size:14px;color:var(--text-muted);
  transition:color .2s ease,padding-left .2s ease;
  display:inline-flex;align-items:center;gap:8px;
  position:relative;width:fit-content;
}
.ids-footer__links a::before{
  content:'→';opacity:0;margin-right:-14px;
  color:var(--accent);font-weight:700;
  transition:opacity .2s ease,margin-right .2s ease;
}
.ids-footer__links a:hover{color:var(--text-primary);padding-left:0}
.ids-footer__links a:hover::before{opacity:1;margin-right:0}

/* Legacy widget col (for backwards-compat if sidebars still used) */
.ids-footer__col .widget-title,.ids-footer__col .widgettitle{
  font-size:12px;font-weight:700;color:var(--text-primary);
  text-transform:uppercase;letter-spacing:1.2px;margin-bottom:18px;
  font-family:'Poppins',sans-serif;
}
.ids-footer__col ul{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:0}
.ids-footer__col ul a{font-size:14px;color:var(--text-muted);transition:color var(--tr)}
.ids-footer__col ul a:hover{color:var(--text-primary)}

/* Payment logos strip */
.ids-footer__payments{
  padding:28px 0;
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.ids-footer__payments-label{
  font-size:11px;color:var(--text-muted);text-align:center;
  margin-bottom:18px;text-transform:uppercase;letter-spacing:2px;font-weight:600;
}
.ids-payment-logos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.ids-payment-logo{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:10px;padding:8px 10px;
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.ids-payment-logo:hover{
  transform:translateY(-2px);
  border-color:rgba(99,102,241,0.3);
  background:rgba(255,255,255,0.06);
}
.ids-payment-logo img{display:block;height:28px;width:auto;filter:none}

/* Footer bottom */
.ids-footer__bottom{background:rgba(0,0,0,0.35);padding:22px 0}
.ids-footer__bottom-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;
}
.ids-footer__copy{font-size:13px;color:var(--text-muted)}
.ids-footer__copy strong,.ids-footer__copy a{color:var(--text-secondary)}
.ids-footer__legal-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ids-footer__legal-links a{
  font-size:13px;color:var(--text-muted);transition:color var(--tr);
  padding:4px 10px;border-radius:6px;
}
.ids-footer__legal-links a:hover{color:var(--text-primary);background:rgba(255,255,255,0.05)}
.ids-footer__legal-links a:not(:last-child){position:relative}
.ids-footer__legal-links a:not(:last-child)::after{
  content:'';position:absolute;right:-4px;top:50%;transform:translateY(-50%);
  width:1px;height:12px;background:rgba(255,255,255,0.12);
}

@media(max-width:900px){
  .ids-footer__grid{grid-template-columns:1fr 1fr;gap:40px}
  .ids-footer__brand{grid-column:1 / -1;max-width:none}
}
/* Mobile: brand row on top (compact), Shop/Support/Company in a 3-col grid
   so the footer stays SHORT instead of a tall single column. */
@media(max-width:560px){
  .ids-footer{position:relative}
  .ids-footer__main{padding:26px 0 18px!important}
  .ids-footer__grid{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:14px 16px!important;
  }
  /* Brand: compact, full-width header band */
  .ids-footer__brand{
    grid-column:1 / -1;max-width:none;
    display:grid;grid-template-columns:auto 1fr;
    align-items:center;gap:12px;
    padding:0 0 14px;margin:0 0 4px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .ids-footer__brand .custom-logo,
  .ids-footer__brand .ids-logo img{height:30px!important;margin:0}
  .ids-footer__tagline{display:none}                 /* save vertical space */
  .ids-footer__brand .ids-footer__contact{display:none}
  .ids-footer__brand .ids-footer__trust-badges{display:none}
  .ids-footer__social{
    grid-column:2;margin:0;gap:6px;justify-content:flex-end;
  }
  .ids-social-link{width:30px;height:30px;border-radius:8px}
  .ids-social-link svg{width:14px;height:14px}
  /* Link columns: tighter type, smaller gaps */
  .ids-footer__col{min-width:0}
  .ids-footer__col-title{
    font-size:10.5px!important;letter-spacing:1px!important;
    margin-bottom:10px!important;padding-bottom:6px!important;
  }
  .ids-footer__col-title::after{width:18px;height:2px}
  .ids-footer__links{gap:7px!important}
  .ids-footer__links a{
    font-size:12px!important;line-height:1.35;
    white-space:normal;overflow-wrap:anywhere;word-break:break-word;
  }
  .ids-footer__links a::before{display:none}        /* hide hover arrow on mobile (no hover) */
  /* Newsletter band */
  .ids-footer__newsletter{padding:18px 0!important}
  .ids-footer__newsletter-text h3{font-size:15px}
  .ids-footer__newsletter-text p{font-size:12.5px}
  .ids-footer__newsletter-inner{flex-direction:column;align-items:stretch;gap:10px}
  .ids-newsletter-form__inner{width:100%;gap:6px}
  .ids-newsletter-input{padding:10px 14px;font-size:13px}
  /* Payments strip */
  .ids-footer__payments{padding:14px 0!important}
  .ids-footer__payments-label{font-size:10px;margin-bottom:8px;letter-spacing:1.4px}
  .ids-payment-logos{gap:6px}
  .ids-payment-logo img{height:22px!important}
  /* Bottom bar: side-by-side, not stacked */
  .ids-footer__bottom{padding:10px 0!important}
  .ids-footer__bottom-inner{
    flex-direction:row!important;justify-content:space-between!important;
    align-items:center!important;gap:8px!important;text-align:left!important;
    flex-wrap:wrap;
  }
  .ids-footer__copy{font-size:11px;flex:1 1 auto}
  .ids-footer__legal-links{gap:4px;flex-shrink:0}
  .ids-footer__legal-links a{font-size:11px;padding:2px 6px}
  .ids-footer__legal-links a:not(:last-child)::after{height:10px}
}
/* Extra-narrow phones: drop to 2 columns of links so labels aren't squeezed */
@media(max-width:360px){
  .ids-footer__grid{grid-template-columns:1fr 1fr!important;gap:14px 14px!important}
}
/* Legacy nav menu in bottom bar */
.ids-footer__legal-menu{display:flex;gap:16px;flex-wrap:wrap}
.ids-footer__legal-menu a{font-size:13px;color:var(--text-muted);transition:color var(--tr)}
.ids-footer__legal-menu a:hover{color:var(--text-primary)}
.ids-footer__legal-nav{display:flex}

/* ══════════════════════════════════════════
   WP NOTICES / MISC
═══════════════════════════════════════════ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  padding:14px 18px;border-radius:12px;margin:0 0 14px;
  font-size:14px;font-weight:500;
  display:flex;align-items:center;gap:12px;list-style:none;
  justify-content:space-between;flex-wrap:wrap;
}
/* Kill the ugly browser focus outline WooCommerce triggers on notices */
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus,
.woocommerce-notices-wrapper :focus{outline:none!important;box-shadow:none!important}
.woocommerce-message{background:rgba(34,197,94,0.10);border:1px solid rgba(34,197,94,0.28);color:#4ade80}
.woocommerce-info{background:rgba(99,102,241,0.10);border:1px solid rgba(99,102,241,0.28);color:var(--accent)}
.woocommerce-error{background:rgba(239,68,68,0.10);border:1px solid rgba(239,68,68,0.28);color:#f87171;flex-direction:column;align-items:flex-start;gap:6px}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{font-weight:600;text-decoration:none}
/* "View cart" button inside the added-to-cart notice */
.woocommerce-message .button,.woocommerce-message a.button{
  background:rgba(255,255,255,0.06)!important;
  border:1px solid rgba(255,255,255,0.14)!important;
  color:var(--text-primary)!important;
  padding:7px 16px!important;border-radius:8px!important;
  font-size:13px!important;font-weight:600!important;
  text-decoration:none!important;flex-shrink:0;order:2;
  transition:border-color .2s ease,background .2s ease;
}
.woocommerce-message .button:hover{border-color:var(--accent)!important;background:rgba(99,102,241,0.12)!important}
.woocommerce-message::before{content:'✓';font-weight:800;flex-shrink:0}
.woocommerce-notices-wrapper{margin-bottom:18px}
.woocommerce-notices-wrapper:empty{display:none}

.gradient-text{
  background:var(--gradient);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* Pagination */
.woocommerce-pagination,.navigation{margin-top:40px}
.woocommerce-pagination ul,.page-numbers{display:flex;gap:6px;flex-wrap:wrap}
.woocommerce-pagination a,.woocommerce-pagination span,
.page-numbers a,.page-numbers span{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:var(--radius-sm);
  background:var(--bg-card);border:1px solid var(--border);
  font-size:14px;color:var(--text-secondary);transition:all var(--tr);
}
.woocommerce-pagination a:hover,.page-numbers a:hover{border-color:var(--accent);color:var(--accent)}
.woocommerce-pagination .current,.page-numbers .current{
  background:var(--gradient);border-color:transparent;color:#fff;
}

/* ── Focus indicators (WCAG 2.4.7) ──
   Aggressive overrides because woocommerce.css strips outlines with !important. */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ids-action-btn:focus-visible,
.ids-hamburger:focus-visible,
.ids-cat-pill:focus-visible,
.ids-var-pill:focus-visible,
.ids-accord__head:focus-visible,
.ids-gallery-thumb:focus-visible,
.ids-carousel-btn:focus-visible,
.ids-mob-sticky__atc:focus-visible,
.ids-mob-sticky__buy:focus-visible,
.announcement-close:focus-visible,
.ids-card-btns .ids-btn:focus-visible,
.ids-btn:focus-visible,
button.single_add_to_cart_button:focus-visible,
.ids-buy-now-btn:focus-visible,
#place_order:focus-visible,
.quantity-btn:focus-visible,
.ids-qty-btn:focus-visible,
.ids-search-toggle:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--accent) !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px var(--accent-glow) !important;
}

/* ══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media(max-width:1200px){
  .ids-footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .ids-products-grid{grid-template-columns:repeat(3,1fr)}
  .ids-products-grid--4{grid-template-columns:repeat(3,1fr)}
  .ids-footer__newsletter-inner{flex-direction:column;align-items:flex-start;gap:20px}
  .ids-newsletter-form,.ids-newsletter-form__inner{width:100%}
  .ids-newsletter-input{min-width:0;width:100%}
}

@media(max-width:1000px){
  .ids-hero__content{grid-template-columns:1fr;gap:32px;text-align:center}
  .ids-hero__visual{max-width:460px;margin:0 auto}
  .ids-hero{padding:56px 0 48px}
  .ids-hero__sub{margin:0 auto 28px;text-align:center}
  .ids-hero__search{max-width:480px;margin:0 auto 28px}
  .ids-hero__actions{justify-content:center}
  .ids-hero__trust{justify-content:center}
  .ids-features__grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .ids-products-grid,.ids-products-grid--4{grid-template-columns:repeat(2,1fr)}
  .ids-posts-grid{grid-template-columns:repeat(2,1fr)}
  .ids-categories__grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  /* Single product: stack */
  .ids-single-product{grid-template-columns:1fr;gap:24px}
  .ids-product-gallery{max-width:100%}
}

@media(max-width:700px){
  .ids-container{padding:0 14px}
  .ids-section{padding:40px 0}
  .ids-section--sm{padding:32px 0}
  .ids-footer__grid{grid-template-columns:1fr}
  .ids-cta-banner{padding:40px 20px;margin:0 14px;border-radius:var(--radius)}
  .ids-section-header--row{flex-direction:column;align-items:flex-start}

  /* Hero mobile */
  .ids-hero{padding:40px 0 36px}
  .ids-hero__search-inner{flex-wrap:wrap}
  .ids-hero__search-inner input[type=search]{min-width:0;width:100%}
  .ids-hero__search-inner .ids-btn--sm{width:100%;border-radius:0 0 var(--radius-sm) var(--radius-sm)}
  .ids-hero__actions{flex-direction:column;align-items:center;gap:10px}
  .ids-hero__actions .ids-btn{width:100%;max-width:280px;justify-content:center}
  .ids-hero__trust{gap:10px;justify-content:center}
  .ids-trust-item:nth-child(n+4){display:none}
  .ids-floating-card{padding:12px 14px}
  .ids-floating-card__icon{width:36px;height:36px;font-size:20px}
  .ids-floating-card__name{font-size:13px}
  .ids-floating-card__price{font-size:12px}

  /* Category pills */
  .ids-cat-pills{gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .ids-cat-pills::-webkit-scrollbar{display:none}
  .ids-cat-pill{padding:10px 14px;font-size:13px;min-height:40px;display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap}

  /* Payment logos */
  .ids-payments-grid{gap:8px}
  .ids-payment-card{padding:6px 10px}
  .ids-payment-card img{height:26px}
  .ids-footer__payments .ids-payment-logo img{height:28px}
}

@media(max-width:600px){
  .ids-products-grid,.ids-products-grid--4{grid-template-columns:repeat(2,1fr);gap:10px}
  .ids-product-card__body{padding:10px}
  .ids-product-card__title{font-size:12px;-webkit-line-clamp:2}
  .ids-product-card__meta{display:none} /* hide category pill — saves vertical space */
  /* Footer: stack price on top, button below */
  .ids-product-card__footer{flex-direction:column;align-items:stretch;gap:6px;padding-top:8px}
  .ids-product-card__price{align-self:flex-start}
  .ids-product-card__price .woocommerce-Price-amount{font-size:13px}
  /* Keep both buttons visible — cart icon + Buy Now side by side */
  .ids-card-btns{display:flex;gap:6px;align-items:stretch}
  .ids-card-btns .ids-btn--ghost{flex:0 0 auto;padding:0 10px;font-size:14px;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
  .ids-card-btns .ids-btn--primary{flex:1;text-align:center;font-size:12px;padding:10px 6px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}
  /* Badges: smaller, max 2 visible */
  .product-badge{font-size:9px;padding:2px 5px}
  .badge--instant{display:none} /* SALE + HOT already on image, drop ⚡Instant on small cards */
  .ids-features__grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .ids-feature-card{padding:18px 14px}
  .ids-feature-card__icon{width:40px;height:40px;font-size:20px;margin-bottom:10px}
  .ids-feature-card__title{font-size:13px}
  .ids-feature-card__desc{font-size:12px;line-height:1.5}
  .ids-posts-grid{grid-template-columns:1fr}
  .ids-hero__headline{letter-spacing:-0.01em}
  .ids-shop-toolbar{flex-direction:column;align-items:flex-start;gap:8px}
  .ids-checkout-grid{grid-template-columns:1fr}
  .ids-section-title{font-size:clamp(20px,5vw,28px)}
  /* Carousel: 2 visible */
  .ids-carousel>[role=listitem]{flex:0 0 calc(50% - 5px)}
}

@media(max-width:480px){
  .ids-header__inner{height:56px}
  .ids-logo img{height:28px}
  .ids-hero__headline{font-size:clamp(26px,7vw,40px)}
  .ids-hero__sub{font-size:15px}
  .ids-products-grid,.ids-products-grid--4{grid-template-columns:repeat(2,1fr);gap:8px}
  .ids-footer__payments{padding:16px 0}
  .ids-footer__main{padding:32px 0 24px}
  .ids-footer__newsletter{padding:28px 0}
  .announcement-bar{font-size:12px;padding:8px 40px}
  /* Single product buy area */
  .ids-single-product-btns{flex-direction:column;gap:10px}
  .ids-single-product-btns .ids-btn,.ids-single-product-btns .ids-buy-now-btn{width:100%;justify-content:center;text-align:center}
  /* Card body tighter */
  .ids-product-card__body{padding:8px}
  .ids-product-card__title{font-size:12px}
  .ids-product-card__footer{gap:5px;padding-top:7px}
}

@media(max-width:380px){
  .ids-products-grid,.ids-products-grid--4{grid-template-columns:repeat(2,1fr);gap:6px}
  .ids-categories__grid{grid-template-columns:repeat(2,1fr)}
  .ids-product-card__body{padding:7px}
  .ids-card-btns .ids-btn--ghost{min-width:36px;min-height:38px}
  .ids-card-btns .ids-btn--primary{font-size:11px;padding:9px 4px;min-height:38px}
}

/* ══════════════════════════════════════════
   THIRD-PARTY CONFLICT OVERRIDES
   Neutralise NASA Core / Elementor / WooCommerce
   layout rules that conflict with our theme
═══════════════════════════════════════════ */

/* Force page wrapper to full viewport width */
#page.ids-site{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden;
}

/* Prevent any external CSS from floating or shrinking our main content */
.ids-main,
.ids-main .ids-container,
.ids-section,
.ids-section .ids-container{
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
/* Restore container's own max-width after clearing external overrides */
.ids-container{max-width:1320px !important;margin-left:auto !important;margin-right:auto !important;padding-left:24px !important;padding-right:24px !important}
@media(max-width:700px){.ids-container{padding-left:14px !important;padding-right:14px !important}}

/* Product grids must never be floated */
.ids-products-grid{float:none !important;clear:both;width:100% !important}

/* WooCommerce adds float:left / float:right to these elements via woocommerce-layout.css.
   Override when they appear in our shop toolbar (we control the layout there). */
.ids-shop-toolbar .woocommerce-result-count,
.ids-shop-toolbar .woocommerce-ordering{float:none !important;width:auto !important}

/* ══════════════════════════════════════════
   SINGLE PRODUCT PAGE
═══════════════════════════════════════════ */
.ids-single-product{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;
  padding:32px 0 56px;align-items:start;
}
/* Gallery */
.ids-product-gallery{position:sticky;top:90px}
.ids-product-gallery__main{
  border-radius:var(--radius);overflow:hidden;
  background:var(--bg-card);border:1px solid var(--border);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
}
.ids-product-gallery__main-img{width:100%;height:100%;object-fit:contain}
.ids-product-gallery__thumbs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ids-product-gallery__thumb{
  width:72px;height:72px;border-radius:8px;overflow:hidden;
  background:var(--bg-card);border:2px solid var(--border);cursor:pointer;
  transition:border-color .2s;flex-shrink:0;
}
.ids-product-gallery__thumb.active,.ids-product-gallery__thumb:hover{border-color:var(--accent)}
.ids-product-gallery__thumb img{width:100%;height:100%;object-fit:cover}
/* Summary */
.ids-product-summary{display:flex;flex-direction:column;gap:0}
.ids-product-summary__cat{
  font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;
  letter-spacing:1.2px;margin-bottom:10px;
}
.ids-product-summary__title{
  font-size:clamp(22px,3vw,32px);font-weight:800;line-height:1.2;
  margin-bottom:16px;color:var(--text-primary);
}
.ids-product-summary__price{
  margin-bottom:20px;font-size:26px;font-weight:700;color:var(--accent);
}
.ids-product-summary__price .woocommerce-Price-amount{font-size:inherit}
/* Short description — clean, readable */
.ids-product-summary__short-desc{
  font-size:14px;line-height:1.75;color:var(--text-secondary);
  margin-bottom:24px;padding:20px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);
  max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;
}
.ids-product-summary__short-desc::-webkit-scrollbar{width:4px}
.ids-product-summary__short-desc::-webkit-scrollbar-track{background:transparent}
.ids-product-summary__short-desc::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}
.ids-product-summary__short-desc p{margin-bottom:8px}
.ids-product-summary__short-desc p:last-child{margin-bottom:0}
.ids-product-summary__short-desc ul,.ids-product-summary__short-desc ol{
  padding-left:20px;margin-bottom:8px;list-style:disc;
}
.ids-product-summary__short-desc li{margin-bottom:4px}
.ids-product-summary__short-desc strong,.ids-product-summary__short-desc b{
  color:var(--text-primary);font-weight:600;
}
/* Qty + add to cart row */
.woocommerce-variation-add-to-cart,.cart{
  display:flex;flex-direction:column;gap:0;
}
.quantity{margin-bottom:12px}
.quantity .qty{
  width:80px;padding:10px 14px;border-radius:var(--radius-sm);
  font-size:16px;font-weight:600;text-align:center;
}
button.single_add_to_cart_button{
  width:100%;padding:14px !important;font-size:16px !important;font-weight:700 !important;
  background:var(--bg-elevated) !important;color:var(--text-primary) !important;
  border:2px solid var(--border-hover) !important;border-radius:var(--radius-sm) !important;
  cursor:pointer;transition:all .2s;margin-bottom:0;
}
button.single_add_to_cart_button:hover{border-color:var(--accent) !important;color:var(--accent) !important}
/* WooCommerce tabs */
.woocommerce-tabs .wc-tabs{
  display:flex;gap:4px;border-bottom:2px solid var(--border);padding-bottom:0;
  list-style:none;margin-bottom:0;
}
.woocommerce-tabs .wc-tabs li a{
  display:block;padding:10px 20px;font-size:14px;font-weight:600;
  color:var(--text-muted);border-radius:8px 8px 0 0;transition:all .2s;
}
.woocommerce-tabs .wc-tabs li.active a{
  color:var(--accent);border-bottom:2px solid var(--accent);margin-bottom:-2px;background:rgba(99,102,241,.06);
}
.woocommerce-Tabs-panel{
  padding:24px 0;display:none;
  font-size:14px;line-height:1.8;color:var(--text-secondary);
}
.woocommerce-Tabs-panel--active{display:block}
.woocommerce-Tabs-panel p{margin-bottom:12px}
.woocommerce-Tabs-panel ul,.woocommerce-Tabs-panel ol{padding-left:20px;margin-bottom:12px;list-style:disc}
.woocommerce-Tabs-panel li{margin-bottom:6px}
.woocommerce-Tabs-panel strong,.woocommerce-Tabs-panel b{color:var(--text-primary)}
/* Woocommerce variation selection */
.woocommerce-variation-price{margin:12px 0;font-size:22px;font-weight:700;color:var(--accent)}
.woocommerce-variation-availability{font-size:13px;margin-bottom:12px;color:var(--green)}

/* ══════════════════════════════════════════
   VARIATION SELECTOR — PILL BUTTONS
═══════════════════════════════════════════ */
table.variations{width:100%;border:none;margin-bottom:20px;border-collapse:collapse}
table.variations tbody tr{display:block;margin-bottom:18px}
table.variations th.label{display:block;padding:0 0 8px}
table.variations th.label label{
  font-size:12px;font-weight:700;color:var(--text-secondary);
  text-transform:uppercase;letter-spacing:0.9px;
}
table.variations td.value{display:block;padding:0;position:relative}
/* hide native select only when pills exist — JS adds data-pills attr */
table.variations td.value[data-pills] select{display:none}
.ids-var-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.ids-var-pill{
  padding:9px 20px;border:1.5px solid var(--border-hover);border-radius:30px;
  background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:500;
  cursor:pointer;transition:all 0.18s ease;font-family:'Poppins',sans-serif;
  line-height:1;
}
.ids-var-pill:hover{border-color:var(--accent);color:var(--accent);background:rgba(99,102,241,.06)}
.ids-var-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.ids-var-pill:disabled{opacity:.4;cursor:not-allowed}
.reset_variations{font-size:12px;color:var(--text-muted);display:inline-block;margin-top:8px}
/* Meta label */
.meta-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-right:4px}
.meta-value{font-size:13px;color:var(--text-secondary)}

/* ══════════════════════════════════════════
   BUY NOW BUTTON — SINGLE PRODUCT
═══════════════════════════════════════════ */
.ids-buy-now-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:14px 24px;margin-top:10px;
  background:var(--gradient);color:#fff;border:none;border-radius:var(--radius-sm);
  font-size:16px;font-weight:700;font-family:'Poppins',sans-serif;cursor:pointer;
  text-decoration:none;text-align:center;transition:opacity .2s,transform .2s;
}
.ids-buy-now-btn:hover{opacity:.9;transform:translateY(-1px);color:#fff}

/* ══════════════════════════════════════════
   CHECKOUT FORM — MODERN DESIGN
═══════════════════════════════════════════ */
.ids-checkout-fields,
.woocommerce-billing-fields{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:20px;
}
.woocommerce-billing-fields__field-wrapper{display:flex;flex-direction:column;gap:0}
.woocommerce-checkout .form-row{margin-bottom:18px}
.woocommerce-checkout .form-row label{
  display:block;font-size:12px;font-weight:700;
  color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:7px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row input[type=tel],
.woocommerce-checkout .form-row input[type=email],
.woocommerce-checkout .form-row input[type=text]{
  width:100%;padding:13px 16px !important;border-radius:var(--radius-sm) !important;
  font-size:15px !important;transition:border-color .2s,box-shadow .2s;
}
.woocommerce-checkout .form-row input:focus{
  border-color:var(--accent) !important;box-shadow:0 0 0 3px rgba(99,102,241,.15) !important;outline:none;
}
.woocommerce-checkout .form-row abbr.required{color:var(--red);border:none;text-decoration:none}
/* Coupon toggle row */
.woocommerce-form-coupon-toggle{
  background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.2);
  border-radius:var(--radius-sm);padding:14px 20px;margin-bottom:20px;
}
.woocommerce-form-coupon-toggle .woocommerce-info{
  background:none;border:none;padding:0;margin:0;font-size:14px;color:var(--text-secondary);
}
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-form-coupon-toggle .woocommerce-info a::before{display:none !important}
.woocommerce-form-coupon-toggle .showcoupon{color:var(--accent);font-weight:600}
/* Coupon code form */
.checkout_coupon.woocommerce-form-coupon{
  background:var(--bg-card);border:1px solid var(--border-hover);border-radius:var(--radius);
  padding:20px 24px;margin-bottom:24px;
}
.checkout_coupon.woocommerce-form-coupon p:first-child{
  font-size:13px;color:var(--text-muted);margin-bottom:14px;
}
.checkout_coupon .form-row-first,.checkout_coupon .form-row-last{
  display:inline-block;
}
.checkout_coupon .form-row{
  display:flex !important;gap:10px;align-items:center;float:none !important;width:100% !important;margin:0 !important;
}
.checkout_coupon .input-text{
  flex:1;letter-spacing:.12em;font-weight:600;text-transform:uppercase;min-width:0;
}
.checkout_coupon .button{
  background:var(--gradient) !important;color:#fff !important;border:none !important;
  border-radius:var(--radius-sm) !important;padding:13px 24px !important;
  font-weight:700 !important;font-size:14px !important;white-space:nowrap;cursor:pointer;
  transition:opacity .2s;min-height:auto;
}
.checkout_coupon .button:hover{opacity:.9}
/* Payment methods */
.wc_payment_methods{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.wc_payment_method{
  background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-sm);
  overflow:hidden;transition:border-color .2s;
}
.wc_payment_method:has(input:checked){border-color:var(--accent)}
.wc_payment_method>label{
  display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;
  font-weight:600;font-size:15px;
}
.wc_payment_method>label img{
  max-height:26px !important;max-width:70px !important;
  object-fit:contain !important;height:auto !important;
}
.wc_payment_method .payment_box{
  padding:6px 18px 14px;border-top:1px solid var(--border);
}
.wc_payment_method .payment_box p{font-size:13px;color:var(--text-muted);margin-bottom:8px}
.wc_payment_method .payment_box img{
  max-height:36px !important;max-width:110px !important;object-fit:contain !important;
}
/* Payment method inline images (like bKash/Nagad/Rocket logos row) */
.payment_box .ids-payment-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}
.payment_box .ids-payment-row img{max-height:28px !important;width:auto !important}
/* Place order */
#place_order{
  width:100%;padding:16px !important;font-size:17px !important;font-weight:700 !important;
  background:var(--gradient) !important;border:none !important;border-radius:var(--radius-sm) !important;
  color:#fff !important;cursor:pointer;transition:opacity .2s;margin-top:8px;letter-spacing:.3px;
}
#place_order:hover{opacity:.9}
/* Order review box */
.woocommerce-checkout-review-order{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;position:sticky;top:90px;
}
.woocommerce-checkout-review-order h3{
  font-size:16px;font-weight:700;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border);
}
/* Order table in review */
.woocommerce-checkout-review-order table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:16px}
.woocommerce-checkout-review-order table th,
.woocommerce-checkout-review-order table td{
  padding:8px 0;border-bottom:1px solid var(--border);color:var(--text-secondary);
}
.woocommerce-checkout-review-order .cart_item td:first-child{color:var(--text-primary);font-weight:500}
.woocommerce-checkout-review-order tfoot tr:last-child td,
.woocommerce-checkout-review-order tfoot .order-total td{
  font-size:17px;font-weight:700;color:var(--accent);border-bottom:none;
}
/* Billing fields section heading */
.woocommerce-billing-fields>h3,.woocommerce-shipping-fields>h3{
  font-size:16px;font-weight:700;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border);
}
/* Footer payment logos — smaller / neater */
.ids-footer__payments{padding:20px 0;border-top:1px solid var(--border)}
.ids-footer__payments .ids-container{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;
}
.ids-footer__payments-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;flex-shrink:0}
.ids-payment-logos{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ids-payment-logo{
  background:var(--bg-card);border:1px solid var(--border);border-radius:6px;
  padding:4px 8px;display:flex;align-items:center;justify-content:center;
  height:36px;min-width:48px;
}
.ids-payment-logo img{height:22px !important;width:auto !important;max-width:70px;object-fit:contain}

/* Suppress stray NASA Core / Elementor product lists rendered inside footer widgets */
.ids-footer .woocommerce .nasa-sc,
.ids-footer .elementor-widget-container ul.products,
.ids-footer .elementor-widget-container li.product{
  float:none !important;width:auto !important;
}

/* Prevent Elementor container max-width from leaking outside elementor sections */
body.elementor-page .ids-container,
body.elementor-default .ids-container{
  max-width:1320px !important;
}
