/*
Theme Name: J3D Tienda V2
Theme URI: https://j3d.com.py
Author: J3D
Description: Tienda WooCommerce J3D - impresion 3D Paraguay
Version: 5.1
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: j3d-store-v2
Tags: woocommerce, ecommerce
*/

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --teal:#0F5C6B; --teal2:#1A7A8E; --teal3:#d6f0f3; --teal4:#0a3d47; --teal5:#e8f7f9;
  --orange:#E87E00; --orange2:#FF9A1F;
  --dark:#0d1117; --dark2:#161b22; --dark3:#21262d;
  --text:#0d1117; --muted:#6B7280; --muted2:#9CA3AF;
  --border:#E2E6EA; --bg:#F7F9FA; --card:#fff;
  --success:#059669; --danger:#DC2626;
  --shadow:0 2px 8px rgba(0,0,0,.08); --shadow2:0 8px 32px rgba(0,0,0,.12);
  --r:12px; --r2:16px; --r3:20px;
}
html { scroll-behavior: smooth; }


/* ── QUICK VIEW MODAL ── */
.j3d-breadcrumbs {
  padding:12px 0; margin-bottom:16px; font-size:12px;
  border-bottom:1px solid var(--border);
}
.j3d-breadcrumbs ol {
  list-style:none; display:flex; flex-wrap:wrap; gap:4px; align-items:center;
}
.j3d-breadcrumbs li {
  display:flex; align-items:center;
}
.j3d-breadcrumbs li::after {
  content:'›'; margin:0 6px; color:var(--muted2); font-size:14px;
}
.j3d-breadcrumbs li:last-child::after { display:none; }
.j3d-breadcrumbs a {
  color:var(--teal); text-decoration:none; transition:color .15s;
}
.j3d-breadcrumbs a:hover { color:var(--teal2); text-decoration:underline; }
.j3d-breadcrumbs .current {
  color:var(--text); font-weight:600;
}


/* ══ FUENTES FORZADAS — pisa Astra/cualquier tema ══ */
body { font-family: 'DM Sans', sans-serif !important; }
h1, h2, h3, h4, h5, h6 { font-family: 'Syne', sans-serif !important; }


body { font-family:'DM Sans',sans-serif; color:var(--text); background:#fff; overflow-x:hidden; }
h1,h2,h3,h4 { font-family:'Syne',sans-serif; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-thumb { background:#CBD5E0; border-radius:3px; }

/* ── NAVBAR ── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:900;
  height:64px; display:flex; align-items:center;
  padding:0 20px; gap:10px; transition:.3s;
  background:transparent;
}
#navbar.scrolled {
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 20px rgba(0,0,0,.08);
}
body:not(.home) #navbar { background:var(--teal4); }
body:not(.home) #navbar.scrolled { background:rgba(255,255,255,.97); }
body:not(.home) #navbar.scrolled .nav-logo { color:var(--teal4); }
body:not(.home) #navbar.scrolled .nav-link { color:var(--muted); }
body:not(.home) #navbar.scrolled .nav-link:hover { background:var(--bg); color:var(--text); }

.nav-logo { font-family:'Syne',sans-serif; font-size:24px; font-weight:900; color:#fff; transition:color .3s; flex-shrink:0; }
#navbar.scrolled .nav-logo { color:var(--teal4); }
.nav-logo span { color:var(--orange2); }
.nav-links { display:flex; gap:4px; margin-left:auto; align-items:center; }
.nav-link { padding:7px 13px; border-radius:8px; font-size:13px; font-weight:500; color:rgba(255,255,255,.85); transition:.2s; }
.nav-link:hover { background:rgba(255,255,255,.15); color:#fff; }
#navbar.scrolled .nav-link { color:var(--muted); }
#navbar.scrolled .nav-link:hover { background:var(--bg); color:var(--text); }
.mob-menu-btn { display:none; background:none; border:none; cursor:pointer; padding:6px; flex-shrink:0; }



/* ── NAV SEARCH BAR ── */
.nav-search {
  display:flex; align-items:center; flex:1; max-width:280px; margin:0 12px;
}
.nav-search-form {
  display:flex; align-items:center; width:100%;
  background:rgba(255,255,255,.1); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15); border-radius:20px;
  padding:6px 12px; transition:.2s;
}
.nav-search-form:focus-within {
  background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.3);
}
.nav-search-input {
  flex:1; background:none; border:none; padding:4px 8px;
  font-family:'DM Sans',sans-serif; font-size:13px; color:rgba(255,255,255,.9);
  outline:none; min-width:100px;
}
.nav-search-input::placeholder { color:rgba(255,255,255,.5); }
.nav-search-btn {
  background:none; border:none; cursor:pointer; padding:4px 6px;
  color:rgba(255,255,255,.7); transition:color .15s; display:flex;
}
.nav-search-btn:hover { color:rgba(255,255,255,1); }

#navbar.scrolled .nav-search-form {
  background:var(--bg); border-color:var(--border);
}
#navbar.scrolled .nav-search-input { color:var(--text); }
#navbar.scrolled .nav-search-input::placeholder { color:var(--muted2); }
#navbar.scrolled .nav-search-btn { color:var(--muted); }

/* ── CART BUTTON NAVBAR ── */
.nav-cart {
  display:flex; align-items:center; gap:6px;
  background:var(--teal); color:#fff;
  padding:8px 14px; border-radius:20px;
  font-size:13px; font-weight:600; transition:background .2s;
  position:relative; flex-shrink:0; white-space:nowrap;
}
.nav-cart:hover { background:var(--teal2); color:#fff; }
.nav-cart-label { display:inline; }
.nav-cart-count {
  position:absolute; top:-6px; right:-6px;
  background:var(--orange); color:#fff;
  font-size:9px; font-weight:800;
  width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:2px solid #fff;
}

/* ── MOBILE NAV ── */
#mob-nav {
  position:fixed; inset:0; background:var(--teal4); z-index:950;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  transform:translateY(-100%); transition:transform .3s ease;
}
#mob-nav.open { transform:translateY(0); }
.mob-nav-link { font-family:'Syne',sans-serif; font-size:26px; font-weight:800; color:rgba(255,255,255,.75); padding:10px 0; transition:.15s; }
.mob-nav-link:hover { color:#fff; }
.mob-nav-close {
  position:absolute; top:18px; right:18px;
  background:rgba(255,255,255,.1); border:none; color:#fff;
  width:42px; height:42px; border-radius:50%; font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

/* ── HERO ── */
#hero {
  min-height:100svh;
  background:linear-gradient(150deg, var(--teal4) 0%, var(--teal) 55%, #1a6b7a 100%);
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:88px 20px 52px;
  position:relative; overflow:hidden;
}
.hero-blob { position:absolute; border-radius:50%; opacity:.08; pointer-events:none; }
.hero-blob-1 { width:500px; height:500px; background:var(--orange); top:-160px; right:-120px; }
.hero-blob-2 { width:320px; height:320px; background:#fff; bottom:-100px; left:-80px; }
.hero-inner { position:relative; z-index:1; max-width:560px; width:100%; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.15); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2); border-radius:20px;
  padding:5px 14px; font-size:12px; color:rgba(255,255,255,.9);
  font-weight:500; margin-bottom:18px;
}
.hero-badge::before {
  content:''; width:7px; height:7px; border-radius:50%;
  background:var(--orange2); animation:pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.3)} }
.hero-title { font-family:'Syne',sans-serif; font-size:clamp(34px,9vw,64px); font-weight:900; color:#fff; line-height:1.05; margin-bottom:14px; }
.hero-title span { color:var(--orange2); }
.hero-sub { font-size:clamp(14px,3.5vw,16px); color:rgba(255,255,255,.75); line-height:1.7; margin-bottom:28px; }
.hero-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.btn-primary {
  background:var(--orange); color:#fff; padding:13px 26px;
  border-radius:12px; font-family:'Syne',sans-serif; font-size:15px; font-weight:700;
  display:inline-flex; align-items:center; gap:7px;
  transition:background .2s,transform .15s; border:none; cursor:pointer;
}
.btn-primary:hover { background:var(--orange2); transform:translateY(-1px); color:#fff; }
.btn-secondary {
  background:rgba(255,255,255,.15); backdrop-filter:blur(8px); color:#fff;
  padding:13px 26px; border-radius:12px; font-size:14px; font-weight:600;
  border:1px solid rgba(255,255,255,.25); transition:background .2s;
}
.btn-secondary:hover { background:rgba(255,255,255,.25); color:#fff; }
.hero-stats { display:flex; gap:24px; justify-content:center; margin-top:32px; flex-wrap:wrap; }
.hero-stat { text-align:center; }
.hero-stat-n { font-family:'Syne',sans-serif; font-size:26px; font-weight:900; color:var(--orange2); }
.hero-stat-l { font-size:11px; color:rgba(255,255,255,.6); margin-top:2px; }

/* ── SECTIONS ── */
section { padding:56px 20px; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-badge { display:inline-block; background:var(--teal5); color:var(--teal); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:4px 12px; border-radius:20px; margin-bottom:10px; }
.section-title { font-family:'Syne',sans-serif; font-size:clamp(22px,4vw,38px); font-weight:800; line-height:1.15; margin-bottom:8px; color:var(--text); }
.section-sub { font-size:14px; color:var(--muted); line-height:1.7; margin-bottom:32px; }

/* ── CATEGORIES ── */
#categories { background:var(--bg); padding:24px 20px; }
.cat-scroll { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.cat-scroll::-webkit-scrollbar { display:none; }
.cat-pill {
  display:inline-flex; align-items:center; gap:6px; flex-shrink:0;
  background:var(--card); border:1px solid var(--border); border-radius:40px;
  padding:9px 16px; font-size:13px; font-weight:600;
  cursor:pointer; transition:.2s; color:var(--text); white-space:nowrap;
}
.cat-pill:hover,.cat-pill.active { background:var(--teal); border-color:var(--teal); color:#fff; }
.cat-count-badge { background:rgba(0,0,0,.07); border-radius:8px; padding:1px 6px; font-size:10px; font-weight:700; }
.cat-pill.active .cat-count-badge,.cat-pill:hover .cat-count-badge { background:rgba(255,255,255,.2); }

/* ── PRODUCTS ── */
#productos-section { background:#fff; padding:48px 20px 64px; }
.prod-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; gap:10px; flex-wrap:wrap; }
.ver-todo-link { font-size:13px; font-weight:600; color:var(--teal); }
.ver-todo-link:hover { text-decoration:underline; }
.prod-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:14px; }
.prod-card {
  background:var(--card); border:1px solid var(--border); border-radius:var(--r2);
  overflow:hidden; transition:transform .2s,box-shadow .2s,border-color .2s;
  cursor:pointer; display:flex; flex-direction:column;
  animation:scaleIn .4s ease-out;
}
.prod-card:hover { transform:translateY(-3px); box-shadow:var(--shadow2); border-color:var(--teal3); }
.prod-img {
  aspect-ratio:1/1;
  background:linear-gradient(135deg,var(--teal5),var(--teal3));
  display:flex; align-items:center; justify-content:center;
  font-size:44px; position:relative; overflow:hidden;
}
.prod-img img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.prod-body { padding:12px; flex:1; display:flex; flex-direction:column; background:#fff; }
.prod-cat { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--teal); margin-bottom:4px; }
.prod-name { font-family:'Syne',sans-serif; font-size:13px; font-weight:700; line-height:1.3; margin-bottom:4px; flex:1; color:var(--text); }
.stock-badge { display:inline-block; font-size:9px; font-weight:600; padding:2px 7px; border-radius:8px; margin-bottom:6px; }
.in-stock  { background:#ECFDF5; color:#065F46; }
.out-stock { background:#FEF2F2; color:#991B1B; }
.low-stock { background:#FFF3E0; color:#92400E; }
.prod-footer { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:auto; }
.prod-price { font-family:'Syne',sans-serif; font-size:15px; font-weight:800; color:var(--teal); }
.add-cart-btn {
  background:var(--orange); color:#fff; border:none; border-radius:8px;
  padding:6px 11px; font-size:11px; font-weight:700; cursor:pointer; transition:background .15s;
}
.add-cart-btn:hover { background:var(--orange2); }

/* ── PROCESO ── */
#proceso { background:var(--bg); }
.proceso-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-top:32px; }
.paso { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:24px 16px; text-align:center; }
.paso-num { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--teal),var(--teal2)); color:#fff; font-family:'Syne',sans-serif; font-size:17px; font-weight:900; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; }
.paso-icon { font-size:24px; margin-bottom:8px; display:block; }
.paso-title { font-family:'Syne',sans-serif; font-size:14px; font-weight:700; margin-bottom:4px; color:var(--text); }
.paso-desc { font-size:12px; color:var(--muted); line-height:1.5; }

/* ── TESTIMONIOS ── */
#testimonios { background:#fff; }
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin-top:32px; }
.testi-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--r2); padding:22px; }
.testi-stars { color:var(--orange2); font-size:13px; margin-bottom:8px; }
.testi-text { font-size:13px; color:var(--text); line-height:1.7; margin-bottom:12px; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:9px; }
.testi-avatar { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--teal),var(--teal2)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Syne',sans-serif; font-size:13px; font-weight:700; flex-shrink:0; }
.testi-name { font-weight:700; font-size:13px; color:var(--text); }
.testi-role { font-size:11px; color:var(--muted); }

/* ── FOOTER ── */
footer { background:var(--dark); padding:44px 20px 22px; color:rgba(255,255,255,.6); }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:28px; margin-bottom:32px; }
.footer-brand { font-family:'Syne',sans-serif; font-size:22px; font-weight:900; color:#fff; margin-bottom:8px; }
.footer-brand span { color:var(--orange2); }
.footer-desc { font-size:12px; line-height:1.7; color:rgba(255,255,255,.45); margin-bottom:16px; }
.footer-social { display:flex; gap:7px; flex-wrap:wrap; }
.social-btn { width:36px; height:36px; border-radius:9px; background:var(--dark2); border:1px solid var(--dark3); display:flex; align-items:center; justify-content:center; font-size:16px; cursor:pointer; transition:.15s; color:#fff; }
.social-btn:hover { border-color:var(--teal2); background:var(--dark3); }
.footer-col-title { font-family:'Syne',sans-serif; font-size:11px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; }
.footer-link { display:block; font-size:12px; color:rgba(255,255,255,.45); margin-bottom:8px; transition:color .15s; }
.footer-link:hover { color:rgba(255,255,255,.85); }
.footer-bottom { border-top:1px solid var(--dark3); padding-top:18px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; font-size:11px; color:rgba(255,255,255,.28); }

/* ── FLOATING WA ── */
#wa-float { position:fixed; bottom:22px; right:22px; z-index:500; width:52px; height:52px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:24px; cursor:pointer; box-shadow:0 4px 20px rgba(37,211,102,.45); transition:transform .2s; border:none; text-decoration:none; }
#wa-float:hover { transform:scale(1.1); }

/* ── WOOCOMMERCE ── */
.woocommerce-page .woocommerce,.woocommerce { max-width:1200px; margin:80px auto 60px; padding:0 20px; }
.woocommerce .button,.woocommerce button.button,.woocommerce input.button { background:var(--orange)!important; color:#fff!important; font-family:'Syne',sans-serif!important; font-weight:700!important; border-radius:10px!important; padding:10px 20px!important; border:none!important; transition:background .2s!important; }
.woocommerce .button:hover,.woocommerce button.button:hover { background:var(--orange2)!important; color:#fff!important; }
.woocommerce ul.products li.product .price { color:var(--teal); font-family:'Syne',sans-serif; font-weight:800; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea { border:1px solid var(--border)!important; border-radius:9px!important; padding:10px 13px!important; font-family:'DM Sans',sans-serif!important; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--teal)!important; }
.woocommerce-message::before,.woocommerce-info::before { color:var(--teal)!important; }

/* ── TOAST ── */
@keyframes toastIn { from{opacity:0;transform:translateX(-50%) translateY(10px)} to{opacity:1;transform:translateX(-50%) translateY(0)} }


/* ──════────────────
   ANIMACIONES
   ────────────────── */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}

@keyframes slideInLeft {
  from { opacity:0; transform:translateX(-20px); }
  to { opacity:1; transform:translateX(0); }
}

@keyframes scaleIn {
  from { opacity:0; transform:scale(0.95); }
  to { opacity:1; transform:scale(1); }
}


/* ════════════════════════════
   RESPONSIVE — MOBILE
   ════════════════════════════ */

/* Tablet */
@media(max-width:900px) {
  .footer-top { grid-template-columns:1fr 1fr; gap:20px; }
  .footer-top>div:first-child { grid-column:1/-1; }
  .proceso-grid { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:repeat(2,1fr); }
}

/* Mobile */
@media(max-width:768px) {
  /* Navbar */
  #navbar { padding:0 12px; gap:6px; }
  .nav-search { max-width:120px; margin:0 6px; }
  .nav-search-input { font-size:12px; min-width:80px; }
  .nav-links { display:none !important; }
  .mob-menu-btn { display:flex; margin-left:auto; }
  /* Carrito mobile: solo ícono */
  .nav-cart { padding:8px 11px; }
  .nav-cart-label { display:none; }
  .nav-wa { padding:7px 10px !important; font-size:12px !important; border-radius:16px !important; }

  /* Hero */
  #hero { padding:80px 16px 44px; }
  .hero-title { font-size:clamp(28px,8vw,42px); }
  .hero-sub { font-size:14px; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:10px; }
  .btn-primary,.btn-secondary { width:100%; max-width:100%; justify-content:center; }
  .hero-stats { gap:16px; justify-content:space-around; margin-top:24px; }
  .hero-stat-n { font-size:22px; }
  .hero-stat-l { font-size:10px; }
  .hero-blob-1 { width:280px; height:280px; }
  .hero-blob-2 { width:180px; height:180px; }

  /* Sections */
  section { padding:36px 16px; }
  .section-title { font-size:clamp(20px,6vw,28px); }
  .section-sub { margin-bottom:20px; }

  /* Categories */
  #categories { padding:16px; }
  .cat-pill { padding:8px 13px; font-size:12px; }

  /* Products grid — 2 columnas */
  #productos-section { padding:32px 16px 48px; }
  .prod-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .prod-name { font-size:12px; }
  .prod-price { font-size:13px; }
  .prod-body { padding:10px; }
  .prod-img { font-size:36px; }

  /* Proceso — 2 columnas */
  #proceso { padding:36px 16px; }
  .proceso-grid { grid-template-columns:repeat(2,1fr); gap:10px; margin-top:20px; }
  .paso { padding:16px 12px; }
  .paso-num { width:36px; height:36px; font-size:15px; }
  .paso-icon { font-size:20px; margin-bottom:6px; }
  .paso-title { font-size:12px; }
  .paso-desc { font-size:11px; }

  /* Testimonios — 1 columna */
  #testimonios { padding:36px 16px; }
  .testi-grid { grid-template-columns:1fr; gap:10px; }

  /* Footer */
  footer { padding:32px 16px 18px; }
  .footer-top { grid-template-columns:1fr; gap:22px; }
  .footer-bottom { flex-direction:column; align-items:center; text-align:center; }

  /* WhatsApp float */
  #wa-float { width:46px; height:46px; font-size:20px; bottom:16px; right:14px; }
}

/* ── CARRITO MOBILE ── */
@media(max-width:768px) {
  .remove {
    font-size:24px !important;
    padding:8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:44px !important;
    min-height:44px !important;
    background:var(--bg) !important;
    border-radius:10px !important;
  }
  .remove:active { background:var(--danger) !important; color:#fff !important; }
  
  /* Asegurar que el carrito no oculte el botón eliminar */
  div[style*="display:flex"][style*="gap:8px"] { flex-wrap:wrap; }
}

/* Visual refresh */
:root {
  --surface:#ffffff;
  --soft:#F2F7F8;
  --ring:0 0 0 4px rgba(15,92,107,.1);
  --shadow3:0 18px 48px rgba(13,17,23,.12);
}

#navbar {
  height:72px;
  padding:0 clamp(16px,4vw,42px);
  gap:14px;
}

.nav-logo { font-size:28px; letter-spacing:0; }
.nav-search { max-width:360px; }
.nav-search-form { border-radius:12px; padding:8px 12px; }
.nav-link { padding:9px 14px; }
.nav-cart,.nav-wa { border-radius:12px !important; padding:10px 14px !important; }

#hero {
  min-height:92svh;
  justify-content:flex-start;
  text-align:left;
  padding:128px clamp(18px,5vw,64px) 72px;
  background:radial-gradient(circle at 82% 24%, rgba(255,154,31,.22), transparent 28%), linear-gradient(145deg, #083640 0%, var(--teal4) 42%, var(--teal) 100%);
}

.hero-inner {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}

.hero-inner::after {
  content:"";
  min-height:420px;
  border-radius:28px;
  background:linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.58)), linear-gradient(145deg, var(--teal5), var(--teal3));
  box-shadow:var(--shadow3);
  border:1px solid rgba(255,255,255,.7);
}

.hero-badge { justify-self:start; border-radius:999px; padding:7px 16px; margin-bottom:22px; }
.hero-title { max-width:760px; font-size:clamp(42px,6.4vw,86px); line-height:.98; margin-bottom:20px; }
.hero-sub { max-width:640px; font-size:clamp(16px,1.6vw,20px); color:rgba(255,255,255,.82); margin-bottom:32px; }
.hero-actions { justify-content:flex-start; gap:14px; }
.btn-primary,.btn-secondary { min-height:48px; border-radius:12px; padding:14px 24px; }
.hero-stats { justify-content:flex-start; gap:14px; margin-top:36px; }
.hero-stats > div { min-width:145px; padding:16px 18px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }

section { padding:72px clamp(18px,4vw,42px); }
.section-inner { max-width:1240px; }
.section-title { font-size:clamp(28px,3.6vw,48px); }
.section-sub { font-size:16px; max-width:620px; margin-left:auto; margin-right:auto; }

#categories { position:sticky; top:72px; z-index:80; padding:18px clamp(18px,4vw,42px); background:rgba(247,249,250,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }
.cat-scroll { gap:10px; }
.cat-pill { border-radius:12px; padding:11px 16px; box-shadow:0 1px 0 rgba(13,17,23,.03); }

#productos-section { padding-top:76px; padding-bottom:84px; }
.prod-header { align-items:flex-end; margin-bottom:30px; }
.ver-todo-link { background:var(--teal5); color:var(--teal); padding:10px 14px; border-radius:12px; }
.prod-grid { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:22px; }
.prod-card { border-radius:18px; min-height:100%; box-shadow:0 1px 0 rgba(13,17,23,.04); }
.prod-card:hover { transform:translateY(-5px); box-shadow:var(--shadow3); border-color:rgba(15,92,107,.25); }
.prod-img { aspect-ratio:4/3; font-size:34px; }
.prod-body { padding:18px; gap:6px; }
.prod-cat { font-size:10px; }
.prod-name { font-size:16px; line-height:1.35; margin-bottom:8px; }
.stock-badge { font-size:10px; padding:4px 8px; width:max-content; }
.prod-price { font-size:18px; }
.add-cart-btn { min-width:42px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; }

.proceso-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.paso { text-align:left; padding:26px; border-radius:18px; box-shadow:0 1px 0 rgba(13,17,23,.04); }
.paso-num { margin:0 0 18px; }
.paso-icon { display:none; }
.paso-title { font-size:17px; margin-bottom:8px; }
.paso-desc { font-size:14px; }

.testi-grid { gap:20px; }
.testi-card { background:#fff; border-radius:18px; padding:26px; box-shadow:0 1px 0 rgba(13,17,23,.04); }

@media(max-width:980px) {
  .hero-inner { grid-template-columns:1fr; text-align:center; }
  .hero-inner::after { min-height:260px; order:-1; }
  .hero-badge { justify-self:center; }
  .hero-actions,.hero-stats { justify-content:center; }
  .proceso-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:768px) {
  body {
    padding-top:0 !important;
  }

  #navbar {
    gap:8px !important;
    overflow:visible !important;
  }

  .nav-logo {
    flex:0 0 auto;
    font-size:25px !important;
  }

  .nav-search {
    display:none !important;
  }

  body.home .nav-search,
  body.front-page .nav-search {
    display:flex !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    max-width:none !important;
    margin:0 !important;
  }

  .nav-search-form {
    min-width:0 !important;
    padding:7px 10px !important;
  }

  .nav-search-input {
    min-width:0 !important;
    width:100% !important;
  }

  .nav-cart {
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    justify-content:center !important;
  }

  #navbar { height:64px; padding:0 12px; }
  .nav-wa { display:none !important; }
  .mob-menu-btn {
    display:flex !important;
    flex:0 0 44px !important;
    margin-left:0 !important;
  }
  #hero { min-height:auto; padding:88px 16px 48px; text-align:center; }
  .hero-inner { gap:24px; }
  .hero-inner::after { min-height:180px; border-radius:20px; }
  .hero-title { font-size:clamp(34px,10vw,46px); }
  .hero-sub { font-size:15px; }
  .hero-actions { flex-direction:column; }
  .hero-stats > div { width:100%; max-width:260px; }
  #categories { position:relative; top:auto; }
  .prod-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .prod-img { aspect-ratio:1/1; }
  .prod-body { padding:12px; }
  .prod-name { font-size:13px; }
  .prod-price { font-size:14px; }
  .add-cart-btn { min-width:36px; min-height:34px; }
  .proceso-grid { grid-template-columns:1fr; }
  .paso { padding:20px; }
}

@media(max-width:420px) {
  .prod-grid { grid-template-columns:1fr; }
}

/* Product gallery */
.j3d-gallery {
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.j3d-gallery-main {
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(135deg,var(--teal5),var(--teal3));
}

.j3d-slide {
  display:none;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.j3d-slide.active {
  display:block;
}

.j3d-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.j3d-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.48);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.j3d-prev { left:12px; }
.j3d-next { right:12px; }

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

.j3d-dot {
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.55);
}

.j3d-dot.active {
  background:#fff;
}

.j3d-thumbs {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(68px,1fr));
  gap:8px;
}

.j3d-thumb {
  display:block;
  aspect-ratio:1/1;
  padding:0;
  border:2px solid transparent;
  border-radius:10px;
  overflow:hidden;
  background:transparent;
  cursor:pointer;
}

.j3d-thumb.active {
  border-color:var(--teal);
}

.j3d-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.j3d-product-page .single-prod-desc img,
.single-product .entry-summary img,
.single-product .summary img {
  max-width:100% !important;
  max-height:180px !important;
  object-fit:cover !important;
  border-radius:12px !important;
}

.j3d-product-page .single-prod-desc .gallery,
.j3d-product-page .single-prod-desc .wp-block-gallery {
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(90px,1fr)) !important;
  gap:8px !important;
}

/* Stability fixes after real-device review */
#hero {
  min-height:auto !important;
  padding:128px clamp(18px,5vw,64px) 76px !important;
  text-align:center !important;
}

.hero-inner {
  display:block !important;
  max-width:980px !important;
}

.hero-inner::after {
  display:none !important;
}

.hero-badge {
  justify-self:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero-title {
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(38px,5.6vw,72px) !important;
  line-height:1.04 !important;
}

.hero-sub {
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero-actions,
.hero-stats {
  justify-content:center !important;
}

.nav-logo,
.nav-logo span,
.nav-logo strong {
  font-family:'Syne',sans-serif !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}

.nav-logo strong {
  color:inherit;
}

.mob-menu-btn {
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(255,255,255,.14);
}

#navbar.scrolled .mob-menu-btn {
  background:var(--teal);
}

#navbar.scrolled .mob-menu-btn svg {
  stroke:#fff;
}

footer {
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}

.j3d-product-page {
  padding:92px 20px 80px;
  max-width:1180px;
  margin:0 auto;
}

.j3d-product-back {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  font-size:13px;
  margin-bottom:18px;
}

.j3d-product-page .single-prod-grid {
  gap:36px !important;
}

.j3d-product-page .j3d-gallery-main {
  border-radius:18px !important;
}

.j3d-product-page .single-prod-info {
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:26px;
  box-shadow:0 1px 0 rgba(13,17,23,.04);
}

.j3d-cart-page {
  max-width:980px;
  margin:0 auto;
  padding:96px 16px 80px;
}

.j3d-cart-title {
  font-family:'Syne',sans-serif;
  font-size:32px;
  font-weight:900;
  margin-bottom:24px;
}

.j3d-checkout-button {
  width:100%;
  justify-content:center;
  font-size:17px;
  padding:18px 20px;
  border-radius:14px;
  display:flex;
  background:var(--orange) !important;
  color:#fff !important;
  text-align:center;
  box-shadow:0 12px 28px rgba(232,126,0,.25);
}

.j3d-checkout-button:hover {
  background:var(--orange2) !important;
}

.j3d-cart-item {
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid var(--border);
}

.j3d-cart-thumb {
  width:88px;
  height:88px;
  border-radius:14px;
  overflow:hidden;
  background:var(--teal5);
}

.j3d-cart-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.j3d-cart-name {
  font-family:'Syne',sans-serif;
  font-weight:800;
  font-size:15px;
  margin-bottom:6px;
}

.j3d-cart-name a {
  color:var(--text);
}

.j3d-cart-price {
  font-family:'Syne',sans-serif;
  font-weight:900;
  color:var(--teal);
  margin-top:6px;
}

.j3d-cart-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.j3d-cart-actions .quantity input {
  width:72px !important;
  border:1px solid var(--border) !important;
  border-radius:10px !important;
  padding:10px !important;
}

.j3d-remove {
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#FEF2F2 !important;
  color:#991B1B !important;
  text-decoration:none !important;
  font-size:18px !important;
}

.j3d-cart-update {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  padding:18px 0;
}

.j3d-cart-update input {
  flex:1;
  min-width:180px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  font-family:'DM Sans',sans-serif;
}

.j3d-cart-update button {
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 16px;
  background:#fff;
  cursor:pointer;
  font-weight:700;
}

.j3d-cart-summary {
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:18px;
  padding:24px;
  margin-top:20px;
}

.j3d-summary-row,
.j3d-summary-total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}

.j3d-summary-row span {
  color:var(--muted);
}

.j3d-summary-total {
  border-top:1px solid var(--border);
  padding-top:16px;
  margin-top:12px;
  margin-bottom:20px;
  font-family:'Syne',sans-serif;
  font-size:20px;
  font-weight:900;
}

.j3d-summary-total strong {
  color:var(--teal);
}

.j3d-continue {
  display:block;
  text-align:center;
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
}

.j3d-related {
  padding:0;
  margin-top:56px;
}

.j3d-related h2 {
  font-family:'Syne',sans-serif;
  font-size:24px;
  font-weight:900;
  margin-bottom:22px;
}

@media(max-width:768px) {
  #hero {
    padding:92px 16px 48px !important;
  }

  .hero-title {
    font-size:clamp(32px,10vw,44px) !important;
  }

  .hero-stats {
    flex-direction:column;
    align-items:center;
  }

  .hero-stats > div {
    width:100%;
    max-width:280px;
  }

  .j3d-product-page {
    padding:76px 14px 56px;
  }

  .j3d-product-page .single-prod-info {
    padding:18px;
  }

  .j3d-cart-page {
    padding-top:76px;
    padding-bottom:calc(110px + env(safe-area-inset-bottom));
  }

  .j3d-cart-item {
    grid-template-columns:72px minmax(0,1fr);
    align-items:start;
  }

  .j3d-cart-thumb {
    width:72px;
    height:72px;
  }

  .j3d-cart-actions {
    grid-column:1/-1;
    justify-content:space-between;
  }

  .j3d-cart-update button,
  .j3d-cart-update input {
    width:100%;
  }

  .j3d-cart-summary {
    position:relative;
    z-index:20;
    margin-bottom:calc(18px + env(safe-area-inset-bottom));
  }

  .j3d-checkout-button {
    display:flex !important;
    min-height:56px !important;
    opacity:1 !important;
    visibility:visible !important;
    -webkit-appearance:none;
    appearance:none;
  }
}

/* Final product layout standardization */
.single-product #navbar {
  position:sticky !important;
}

.single-product .j3d-product-page {
  padding-top:26px !important;
}

.single-product .j3d-product-back {
  margin-bottom:16px !important;
}

.single-product .single-prod-grid {
  align-items:start !important;
}

.single-product .j3d-gallery {
  width:100% !important;
  max-width:560px !important;
  margin:0 auto !important;
}

.single-product .j3d-gallery-main {
  background:#fff !important;
  box-shadow:0 1px 0 rgba(13,17,23,.05) !important;
}

.single-product .j3d-slide,
.single-product .j3d-slide:not(.active) {
  display:none !important;
}

.single-product .j3d-slide.active {
  display:block !important;
}

.single-product .j3d-slide img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.single-product .j3d-thumbs {
  grid-template-columns:repeat(auto-fill,minmax(58px,1fr)) !important;
  max-height:86px !important;
  overflow:hidden !important;
}

.single-product .single-prod-desc img {
  width:100% !important;
  max-height:120px !important;
  object-fit:cover !important;
}

@media(max-width:768px) {
  .single-product .j3d-product-page {
    padding-top:18px !important;
  }

  .single-product .j3d-gallery {
    max-width:100% !important;
  }

  .single-product .j3d-gallery-main {
    border-radius:18px !important;
  }

  .single-product .j3d-thumbs {
    grid-template-columns:repeat(4,1fr) !important;
    max-height:78px !important;
  }
}


/* Product page cleanup */
.single-product #navbar {
  position: fixed !important;
  top: 0 !important;
}
.single-product .j3d-product-page,
.single-product .woocommerce {
  padding-top: 84px !important;
  margin-top: 0 !important;
}
.single-product #secondary,
.single-product .widget-area,
.single-product .sidebar,
.single-product .ast-woocommerce-container + #secondary {
  display: none !important;
}
.single-product #primary,
.single-product .content-area,
.single-product .site-main,
.single-product .ast-woocommerce-container {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Visual product polish v3 */
@keyframes j3dRise {
  from { opacity:0; transform:translateY(28px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes j3dGlow {
  0%,100% { box-shadow:0 18px 45px rgba(15,92,107,.16); }
  50% { box-shadow:0 24px 70px rgba(232,126,0,.24); }
}
@keyframes j3dShine {
  from { transform:translateX(-130%) skewX(-18deg); }
  to { transform:translateX(230%) skewX(-18deg); }
}
@keyframes j3dPulseDot {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(1.25); opacity:.65; }
}
body.single-product {
  background:
    radial-gradient(circle at 16% 18%, rgba(255,154,31,.16), transparent 28%),
    radial-gradient(circle at 86% 34%, rgba(15,92,107,.14), transparent 30%),
    linear-gradient(180deg,#eef3f4 0%,#f8fbfb 100%) !important;
}
body.single-product #navbar {
  background:linear-gradient(90deg,var(--teal4),var(--teal)) !important;
  box-shadow:0 14px 34px rgba(10,61,71,.18) !important;
}
.single-product .j3d-product-page {
  position:relative;
  overflow:hidden;
  max-width:1120px !important;
}
.single-product .j3d-product-page::before,
.single-product .j3d-product-page::after {
  content:"";
  position:fixed;
  width:280px;
  height:280px;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  filter:blur(8px);
}
.single-product .j3d-product-page::before {
  left:8vw;
  top:22vh;
  background:radial-gradient(circle,rgba(255,154,31,.16),transparent 68%);
  animation:j3dGlow 5s ease-in-out infinite;
}
.single-product .j3d-product-page::after {
  right:10vw;
  bottom:14vh;
  background:radial-gradient(circle,rgba(15,92,107,.14),transparent 68%);
  animation:j3dGlow 6s ease-in-out infinite reverse;
}
.single-product .j3d-product-back {
  background:rgba(255,255,255,.7);
  border:1px solid rgba(15,92,107,.12);
  border-radius:999px;
  padding:8px 13px;
  backdrop-filter:blur(10px);
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
.single-product .j3d-product-back:hover {
  transform:translateX(-3px);
  background:#fff;
  color:var(--teal);
}
.single-product .single-prod-grid {
  align-items:start !important;
  animation:j3dRise .55s ease both;
}
.single-product .j3d-gallery-main {
  background:linear-gradient(145deg,#f7fafb,#e7eff1) !important;
  box-shadow:0 22px 60px rgba(13,17,23,.13), inset 0 1px 0 rgba(255,255,255,.8) !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}
.single-product .j3d-gallery-main:hover {
  transform:translateY(-5px);
  box-shadow:0 30px 80px rgba(13,17,23,.18), 0 0 0 1px rgba(15,92,107,.08) !important;
}
.single-product .j3d-slide img {
  transition:transform .35s ease, filter .35s ease !important;
}
.single-product .j3d-gallery-main:hover .j3d-slide.active img {
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.03);
}
.single-product .j3d-arrow {
  background:rgba(13,17,23,.48) !important;
  backdrop-filter:blur(8px);
  transition:transform .18s ease, background .18s ease !important;
}
.single-product .j3d-arrow:hover {
  transform:translateY(-50%) scale(1.12) !important;
  background:var(--orange) !important;
}
.single-product .j3d-thumb {
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.single-product .j3d-thumb:hover,
.single-product .j3d-thumb.active {
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(15,92,107,.18);
}
.single-product .single-prod-info {
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(14px);
  border:1px solid rgba(15,92,107,.12) !important;
  box-shadow:0 24px 70px rgba(13,17,23,.10) !important;
  animation:j3dRise .65s ease .08s both;
}
.single-product .single-prod-info::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--orange2),var(--teal));
}
.single-product .single-prod-info::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:36%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);
  animation:j3dShine 4.8s ease-in-out infinite;
  pointer-events:none;
}
.single-product .single-prod-title {
  letter-spacing:0 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.single-product .stock-badge.in-stock::before {
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--success);
  margin-right:6px;
  animation:j3dPulseDot 1.7s ease-in-out infinite;
}
.single-product .single-prod-price {
  display:inline-flex;
  align-items:center;
  color:var(--teal) !important;
  background:linear-gradient(90deg,rgba(15,92,107,.08),rgba(255,154,31,.12));
  border-radius:12px;
  padding:8px 12px;
}
.single-product form.cart .button,
.single-product .single_add_to_cart_button,
.single-product .btn-primary {
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(232,126,0,.25) !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.single-product form.cart .button:hover,
.single-product .single_add_to_cart_button:hover,
.single-product .btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(232,126,0,.34) !important;
}
.single-product form.cart .button::after,
.single-product .single_add_to_cart_button::after,
.single-product .btn-primary::after {
  content:"";
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:0;
  width:34%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  animation:j3dShine 3.8s ease-in-out infinite;
}
@media(max-width:768px) {
  body.single-product .j3d-product-page,
  body.admin-bar.single-product .j3d-product-page {
    padding-top:92px !important;
  }
  .single-product .j3d-product-page::before,
  .single-product .j3d-product-page::after {
    display:none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .single-product *, .single-product *::before, .single-product *::after {
    animation:none !important;
    transition:none !important;
  }
}

/* Global visual system v4 */
@keyframes j3dFloatSoft {
  0%,100% { transform:translate3d(0,0,0) scale(1); }
  50% { transform:translate3d(0,-10px,0) scale(1.015); }
}
@keyframes j3dRevealUp {
  from { opacity:0; transform:translateY(28px); filter:blur(4px); }
  to { opacity:1; transform:translateY(0); filter:blur(0); }
}
@keyframes j3dBorderFlow {
  0% { background-position:0% 50%; }
  50% { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
@keyframes j3dTinyPulse {
  0%,100% { opacity:.45; transform:scale(1); }
  50% { opacity:.9; transform:scale(1.18); }
}
@keyframes j3dToastPop {
  from { opacity:0; transform:translate(-50%,12px) scale(.96); }
  to { opacity:1; transform:translate(-50%,0) scale(1); }
}
html {
  background:#eef3f4;
}
body {
  background:
    radial-gradient(circle at 12% 10%, rgba(255,154,31,.13), transparent 26%),
    radial-gradient(circle at 88% 22%, rgba(15,92,107,.12), transparent 30%),
    linear-gradient(180deg,#f4f8f9 0%,#ffffff 42%,#f5f9fa 100%) !important;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background-image:
    linear-gradient(rgba(15,92,107,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,92,107,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 70%);
}
body::after {
  content:"";
  position:fixed;
  width:420px;
  height:420px;
  right:-160px;
  top:22vh;
  pointer-events:none;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,126,0,.16), transparent 68%);
  animation:j3dFloatSoft 8s ease-in-out infinite;
}
#navbar {
  border-bottom:1px solid rgba(255,255,255,.14);
}
#navbar::after {
  content:"";
  position:absolute;
  left:clamp(16px,4vw,42px);
  right:clamp(16px,4vw,42px);
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,154,31,.7),transparent);
  opacity:.75;
}
.nav-logo,
.nav-link,
.nav-cart,
.nav-wa,
.mob-menu-btn,
.btn-primary,
.btn-secondary,
.add-cart-btn,
.single_add_to_cart_button,
.woocommerce .button,
.cat-pill,
.social-btn {
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease, filter .2s ease !important;
}
.nav-logo:hover,
.nav-link:hover,
.nav-cart:hover,
.nav-wa:hover,
.mob-menu-btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.add-cart-btn:hover,
.single_add_to_cart_button:hover,
.woocommerce .button:hover,
.cat-pill:hover,
.social-btn:hover {
  transform:translateY(-2px);
}
.btn-primary,
.nav-wa,
.add-cart-btn,
.single_add_to_cart_button,
.woocommerce .button,
.j3d-checkout-button {
  position:relative;
  overflow:hidden;
}
.btn-primary::after,
.nav-wa::after,
.add-cart-btn::after,
.single_add_to_cart_button::after,
.woocommerce .button::after,
.j3d-checkout-button::after {
  content:"";
  position:absolute;
  inset:-30% auto -30% -45%;
  width:38%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
  transform:skewX(-18deg);
  animation:j3dShine 4.4s ease-in-out infinite;
  pointer-events:none;
}
section,
.prod-card,
.paso,
.testi-card,
.cat-pill,
.j3d-cart-item,
.j3d-cart-summary,
.single-prod-info,
.j3d-gallery,
.footer-top > div,
.woocommerce ul.products li.product,
.woocommerce-cart-form,
.woocommerce-checkout form,
.j3d-related {
  animation:j3dRevealUp .55s ease both;
  animation-delay:var(--j3d-delay,0s);
}
section:nth-of-type(2) { --j3d-delay:.04s; }
section:nth-of-type(3) { --j3d-delay:.08s; }
section:nth-of-type(4) { --j3d-delay:.12s; }
.prod-card,
.paso,
.testi-card,
.j3d-cart-item,
.woocommerce ul.products li.product {
  position:relative;
  overflow:hidden;
}
.prod-card::before,
.paso::before,
.testi-card::before,
.j3d-cart-item::before,
.woocommerce ul.products li.product::before,
.single-prod-info::before,
.j3d-cart-summary::before {
  content:"";
  position:absolute;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(255,154,31,.55), rgba(15,92,107,.18), rgba(255,255,255,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transition:opacity .2s ease;
  pointer-events:none;
}
.prod-card:hover::before,
.paso:hover::before,
.testi-card:hover::before,
.j3d-cart-item:hover::before,
.woocommerce ul.products li.product:hover::before,
.single-prod-info:hover::before,
.j3d-cart-summary:hover::before {
  opacity:1;
}
.prod-card:hover,
.paso:hover,
.testi-card:hover,
.woocommerce ul.products li.product:hover,
.j3d-cart-item:hover {
  transform:translateY(-6px) !important;
  box-shadow:0 22px 60px rgba(13,17,23,.13) !important;
}
.prod-img,
.j3d-cart-thumb,
.woocommerce ul.products li.product img {
  position:relative;
  background:linear-gradient(145deg,#f8fbfc,#e7f0f2) !important;
}
.prod-img img,
.j3d-cart-thumb img,
.woocommerce ul.products li.product img {
  transition:transform .35s ease, filter .35s ease !important;
}
.prod-card:hover .prod-img img,
.j3d-cart-item:hover .j3d-cart-thumb img,
.woocommerce ul.products li.product:hover img {
  transform:scale(1.06) rotate(.6deg);
  filter:saturate(1.1) contrast(1.04);
}
.cat-pill {
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(10px);
}
.cat-pill::after {
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--orange2),var(--teal));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.cat-pill:hover::after,
.cat-pill.active::after {
  transform:scaleX(1);
}
.section-badge,
.prod-cat,
.prod-cat-label,
.stock-badge,
.cat-count-badge {
  box-shadow:0 8px 20px rgba(15,92,107,.08);
}
.section-badge::before,
.prod-cat-label::before {
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:7px;
  border-radius:50%;
  background:var(--orange2);
  animation:j3dTinyPulse 1.9s ease-in-out infinite;
  vertical-align:middle;
}
#hero {
  position:relative;
  isolation:isolate;
}
#hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 20% 70%, rgba(255,255,255,.12), transparent 22%),
    radial-gradient(circle at 75% 28%, rgba(255,154,31,.18), transparent 28%);
  animation:j3dFloatSoft 9s ease-in-out infinite;
}
.hero-badge,
.hero-stats > div {
  box-shadow:0 18px 44px rgba(0,0,0,.10);
}
.hero-stats > div {
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
footer {
  position:relative;
  overflow:hidden;
}
footer::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 20%, rgba(255,154,31,.13), transparent 26%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.035), transparent);
  pointer-events:none;
}
.footer-inner {
  position:relative;
  z-index:1;
}
.footer-social .social-btn {
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.j3d-breadcrumbs {
  border-bottom:0;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(15,92,107,.08);
  border-radius:14px;
  padding:10px 14px;
  backdrop-filter:blur(10px);
}
.j3d-cart-page,
.woocommerce-checkout,
.woocommerce-account,
.woocommerce-page .woocommerce {
  position:relative;
}
.j3d-cart-summary,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(15,92,107,.10) !important;
  border-radius:18px !important;
  box-shadow:0 18px 48px rgba(13,17,23,.10) !important;
  backdrop-filter:blur(12px);
}
input, textarea, select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
input:focus, textarea:focus, select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color:var(--teal) !important;
  box-shadow:0 0 0 4px rgba(15,92,107,.10) !important;
  outline:none !important;
}
.j3d-reveal {
  opacity:0;
  transform:translateY(24px);
}
.j3d-reveal.is-visible {
  opacity:1;
  transform:translateY(0);
  transition:opacity .55s ease, transform .55s ease;
}
.j3d-toast {
  animation:j3dToastPop .22s ease both !important;
}
@media(max-width:768px) {
  body::after { display:none; }
  .prod-card:hover,
  .paso:hover,
  .testi-card:hover,
  .woocommerce ul.products li.product:hover,
  .j3d-cart-item:hover {
    transform:none !important;
  }
  .hero-stats > div {
    width:100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  .j3d-reveal {
    opacity:1 !important;
    transform:none !important;
  }
}
