/* ============================================================
   Domótica Económica — Design System Override
   Hereda los tokens del index.html y reestiliza Flatsome
   ============================================================ */

:root {
  --de-primary: #446084;
  --de-accent:  #7a00df;
  --de-dark:    #1a1a2e;
  --de-text:    #333;
  --de-text-light: #666;
  --de-bg-alt:  #f7f8fc;
  --de-border:  #e8e8e8;
  --de-radius:  10px;
  --de-shadow:  0 2px 16px rgba(0,0,0,.08);
}

/* ── BASE ──────────────────────────────────────────────────── */
body.de-styled {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: var(--de-text) !important;
  background: #fff;
  line-height: 1.6;
}
body.de-styled a { text-decoration: none; }
body.de-styled img { max-width: 100%; height: auto; }

/* ── HEADER override ──────────────────────────────────────── */
body.de-styled #header {
  background: #fff !important;
  border-bottom: 1px solid var(--de-border);
  box-shadow: 0 1px 8px rgba(0,0,0,.06);
}
body.de-styled #wrapper #masthead .top-bar,
body.de-styled .header-top {
  background: var(--de-dark) !important;
  color: #ccc;
  font-size: .8rem;
}
body.de-styled .header-top a,
body.de-styled .header-top .nav > li > a { color: #aaa !important; }
body.de-styled .header-top a:hover { color: #fff !important; }

body.de-styled .header-main {
  background: #fff !important;
}
body.de-styled .header-main .header-inner,
body.de-styled .header-main .flex-row {
  padding-top: .4rem !important;
  padding-bottom: .4rem !important;
}

/* Logo */
body.de-styled .header-logo img { max-height: 42px !important; }

/* Search input */
body.de-styled #header .searchform input[type="search"],
body.de-styled #header .header-search-form input {
  border: 1.5px solid var(--de-border) !important;
  border-radius: 25px !important;
  padding: .6rem 1rem .6rem 2.8rem !important;
  font-size: .95rem !important;
  background: #fff !important;
}
body.de-styled #header .searchform input[type="search"]:focus {
  border-color: var(--de-primary) !important;
}

/* Navbar (segundo nivel azul) */
body.de-styled .nav-spacing-large > li > a,
body.de-styled .header-nav-main .nav > li > a {
  font-weight: 600 !important;
  font-size: .9rem !important;
}
body.de-styled #wrapper .nav-divided .nav-divider { display: none; }

/* Cambia color de barra inferior a primary */
body.de-styled .header-bottom,
body.de-styled .header-bottom-nav {
  background-color: var(--de-primary) !important;
  color: #fff !important;
}
body.de-styled .header-bottom .nav > li > a {
  color: rgba(255,255,255,.9) !important;
  padding: .75rem 1rem !important;
  border-radius: 4px !important;
  margin: 0 .15rem;
  transition: background .2s, color .2s;
}
body.de-styled .header-bottom .nav > li > a:hover,
body.de-styled .header-bottom .nav > li.active > a,
body.de-styled .header-bottom .nav > li > a:focus {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

/* ── BREADCRUMBS override ──────────────────────────────────── */
body.de-styled .shop-page-title,
body.de-styled .page-title-inner,
body.de-styled .woocommerce-breadcrumb,
body.de-styled .yoast-breadcrumbs,
body.de-styled .rank-math-breadcrumb {
  background: var(--de-bg-alt) !important;
  padding: .9rem 1.5rem !important;
  border-bottom: 1px solid var(--de-border);
  font-size: .85rem !important;
  color: var(--de-text-light) !important;
}
body.de-styled .woocommerce-breadcrumb a,
body.de-styled .rank-math-breadcrumb a {
  color: var(--de-primary) !important;
}
body.de-styled .woocommerce-breadcrumb a:hover,
body.de-styled .rank-math-breadcrumb a:hover {
  color: var(--de-accent) !important;
  text-decoration: underline;
}

/* ── CONTENT WRAPPER ───────────────────────────────────────── */
body.de-styled #content,
body.de-styled .main-content,
body.de-styled #main {
  background: #fff;
  padding-top: 1rem !important;
}



/* ── SIDEBAR ───────────────────────────────────────────────── */
body.de-styled .sidebar-inner,
body.de-styled .widget-area {
  background: #fff;
  border: 1.5px solid var(--de-border);
  border-radius: var(--de-radius);
  padding: 1.2rem;
}
body.de-styled .widget-title,
body.de-styled .sidebar h4,
body.de-styled .widget .widget-title span {
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .8rem !important;
  border: none !important;
  padding-bottom: 0 !important;
}
body.de-styled .sidebar ul,
body.de-styled .widget ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}
body.de-styled .sidebar ul li,
body.de-styled .widget ul li {
  margin-bottom: .3rem;
  border: none !important;
  padding: 0 !important;
}
body.de-styled .sidebar ul li a,
body.de-styled .widget ul li a {
  font-size: .88rem !important;
  color: var(--de-text) !important;
  display: flex;
  justify-content: space-between;
  padding: .35rem .5rem !important;
  border-radius: 4px;
  transition: background .2s, color .2s;
}
body.de-styled .sidebar ul li a:hover,
body.de-styled .widget ul li a:hover,
body.de-styled .sidebar ul li.current-cat > a,
body.de-styled .widget ul li.current-cat > a {
  background: #ede9fe;
  color: var(--de-accent) !important;
}
body.de-styled .widget .count { color: var(--de-text-light); font-size: .8rem; }

/* ── PAGE HEADER (categoría + blog) ────────────────────────── */
body.de-styled .shop-page-title.featured-title { display: none; }
body.de-styled .page-title h1,
body.de-styled .archive-page-header h1,
body.de-styled .product_taxonomy_description + h1,
body.de-styled .woocommerce-products-header h1,
body.de-styled .page-header h1 {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
  margin-bottom: .5rem !important;
  line-height: 1.25;
}
body.de-styled .archive-page-header .term-description,
body.de-styled .woocommerce-products-header__title + .archive-description,
body.de-styled .term-description {
  color: var(--de-text-light) !important;
  font-size: .95rem;
  max-width: 720px;
}

/* ── FILTERS BAR (WooCommerce) ─────────────────────────────── */
body.de-styled .woocommerce-result-count,
body.de-styled .woocommerce-ordering {
  font-size: .88rem !important;
  color: var(--de-text-light);
}
body.de-styled .woocommerce-ordering select,
body.de-styled select.orderby {
  padding: .5rem .8rem !important;
  border: 1.5px solid var(--de-border) !important;
  border-radius: 6px !important;
  font-size: .85rem !important;
  background: #fff;
  cursor: pointer;
}


/* ── PRODUCT GRID ──────────────────────────────────────────── */
body.de-styled ul.products li.product,
body.de-styled .product-small {
  background: #fff;
  border: 1.5px solid var(--de-border);
  border-radius: var(--de-radius);
  overflow: hidden;
  transition: all .2s;
  padding: 0 !important;
  margin-bottom: 1rem !important;
}
body.de-styled .box-vertical .box-image,
body.de-styled .product-small .box {
  border-radius: 0 !important;
}
body.de-styled ul.products li.product:hover,
body.de-styled .product-small:hover {
  border-color: var(--de-accent);
  transform: translateY(-3px);
  box-shadow: var(--de-shadow);
}
body.de-styled .product-small .box-text,
body.de-styled .products .product-info,
body.de-styled .box-text {
  padding: .9rem 1rem 1.1rem !important;
}
body.de-styled .product-small .name,
body.de-styled .products .product-title,
body.de-styled .product-small h3 {
  font-size: .92rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  line-height: 1.35 !important;
  min-height: 2.6em;
  margin-bottom: .35rem !important;
}
body.de-styled .product-small .name a:hover,
body.de-styled .products .product-title a:hover {
  color: var(--de-accent) !important;
}
body.de-styled .price,
body.de-styled .product .price {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
}
body.de-styled .price del,
body.de-styled .price del .amount {
  font-size: .8rem !important;
  color: var(--de-text-light) !important;
  text-decoration: line-through;
  font-weight: 500 !important;
  margin-left: .3rem;
  display: inline;
}
body.de-styled .price ins {
  text-decoration: none;
  color: var(--de-dark) !important;
}

/* Hide WC default category labels above title (Flatsome-specific) */
body.de-styled .product-small .category { display: none; }

/* Add to cart button */
body.de-styled .product-small .add_to_cart_button,
body.de-styled .products .button.add_to_cart_button,
body.de-styled .button.product_type_simple,
body.de-styled .button.product_type_external {
  background: var(--de-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: .55rem .8rem !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  width: 100% !important;
  margin: .5rem 0 0 !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: block;
  text-align: center;
}
body.de-styled .product-small .add_to_cart_button:hover,
body.de-styled .button:hover {
  background: var(--de-accent) !important;
}

/* Sale badge */
body.de-styled span.onsale,
body.de-styled .badge-container {
  background: var(--de-accent) !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  padding: .2rem .55rem !important;
  border-radius: 4px !important;
  border: none !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  top: .6rem !important;
  left: .6rem !important;
}

/* ── PRODUCT SINGLE ───────────────────────────────────────── */
body.de-styled.single-product .product-images {
  background: linear-gradient(135deg, #f0f4ff, #e8e0ff);
  border-radius: var(--de-radius);
  padding: 1rem;
}
body.de-styled.single-product .product-info {
  padding: 0 1rem;
}
body.de-styled.single-product .product_title {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
  margin-bottom: .5rem !important;
  line-height: 1.25 !important;
}
body.de-styled.single-product .price-wrapper,
body.de-styled.single-product .product-info .price {
  background: var(--de-bg-alt);
  border: 1.5px solid var(--de-border);
  border-radius: var(--de-radius);
  padding: 1.2rem 1.5rem !important;
  margin: 1rem 0 !important;
  font-size: 1.8rem !important;
}
body.de-styled.single-product .product-info .price del .amount {
  font-size: .9rem !important;
}
body.de-styled.single-product .product_meta {
  font-size: .82rem !important;
  border-top: 1px solid var(--de-border) !important;
  padding-top: 1rem !important;
  margin-top: 1.5rem !important;
}
body.de-styled.single-product .single_add_to_cart_button {
  background: var(--de-accent) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  padding: .8rem 1.5rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.de-styled.single-product .single_add_to_cart_button:hover {
  background: #6500bb !important;
  transform: translateY(-1px);
}

/* Tabs */
body.de-styled.single-product .woocommerce-tabs .tabs,
body.de-styled.single-product .nav-tabs {
  border-bottom: 2px solid var(--de-border) !important;
  margin-bottom: 1.5rem !important;
}
body.de-styled.single-product .woocommerce-tabs .tabs li > a,
body.de-styled.single-product .nav-tabs li > a {
  padding: .8rem 1.4rem !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--de-text-light) !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
}
body.de-styled.single-product .woocommerce-tabs .tabs li.active > a {
  color: var(--de-accent) !important;
  border-color: var(--de-accent) !important;
  background: transparent !important;
}

/* ── BLOG ARCHIVE ──────────────────────────────────────────── */
body.de-styled.blog .post-item,
body.de-styled.archive .post-item,
body.de-styled.category .post-item {
  background: #fff;
  border-radius: var(--de-radius);
  overflow: hidden;
  box-shadow: var(--de-shadow);
  transition: transform .2s, box-shadow .2s;
  margin-bottom: 1.5rem;
}
body.de-styled.blog .post-item:hover,
body.de-styled.archive .post-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,.12);
}
body.de-styled.blog .post-item .post-title,
body.de-styled.archive .post-item .post-title,
body.de-styled.blog .blog-archive .post-item h2,
body.de-styled.archive .post-item h2 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--de-dark) !important;
  margin-bottom: .6rem !important;
}
body.de-styled.blog .post-item .post-title a:hover {
  color: var(--de-accent) !important;
}
body.de-styled.blog .post-item .from_the_blog_excerpt,
body.de-styled.blog .post-item .post-excerpt {
  font-size: .85rem !important;
  color: var(--de-text-light) !important;
}

/* ── SINGLE POST ───────────────────────────────────────────── */
body.de-styled.single-post .entry-header,
body.de-styled.single-post .page-title {
  background: linear-gradient(135deg, var(--de-dark) 0%, #16213e 50%, #0f3460 100%) !important;
  color: #fff !important;
  padding: 3rem 1.5rem 4rem !important;
  margin-bottom: 0 !important;
}
body.de-styled.single-post .entry-header .entry-title,
body.de-styled.single-post .page-title .entry-title,
body.de-styled.single-post .featured-title h1 {
  color: #fff !important;
  font-size: clamp(1.6rem, 4vw, 2.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  max-width: 880px;
  margin: 0 auto !important;
}
body.de-styled.single-post .entry-meta,
body.de-styled.single-post .entry-divider {
  color: rgba(255,255,255,.7) !important;
  font-size: .85rem !important;
  max-width: 880px;
  margin: 1rem auto 0 !important;
}
body.de-styled.single-post .entry-content {
  max-width: 880px !important;
  margin: -3rem auto 0 !important;
  background: #fff !important;
  border: 1.5px solid var(--de-border);
  border-radius: var(--de-radius);
  padding: 2.5rem 2.2rem !important;
  box-shadow: var(--de-shadow);
  position: relative;
  z-index: 2;
}
body.de-styled.single-post .entry-content h2 {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
  margin: 2rem 0 .8rem !important;
}
body.de-styled.single-post .entry-content h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  margin: 1.5rem 0 .6rem !important;
}
body.de-styled.single-post .entry-content p {
  font-size: 1rem !important;
  margin-bottom: 1.1rem !important;
  color: var(--de-text) !important;
}
body.de-styled.single-post .entry-content blockquote {
  border-left: 4px solid var(--de-accent) !important;
  padding: .8rem 1.2rem !important;
  background: var(--de-bg-alt) !important;
  margin: 1.2rem 0 !important;
  font-style: italic;
  color: var(--de-text-light) !important;
  border-radius: 0 var(--de-radius) var(--de-radius) 0 !important;
}
body.de-styled.single-post .entry-content code {
  background: var(--de-bg-alt) !important;
  padding: .15rem .4rem !important;
  border-radius: 4px !important;
  font-size: .85em !important;
  color: var(--de-accent) !important;
}
body.de-styled.single-post .entry-content img {
  border-radius: var(--de-radius) !important;
}

/* TOC (Easy Table of Contents plugin) */
body.de-styled .ez-toc-container {
  background: var(--de-bg-alt) !important;
  border-left: 4px solid var(--de-primary) !important;
  border-radius: 0 var(--de-radius) var(--de-radius) 0 !important;
  padding: 1.2rem 1.4rem !important;
  margin: 1.5rem 0 !important;
}
body.de-styled .ez-toc-title {
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  text-transform: uppercase;
  letter-spacing: .05em;
}
body.de-styled .ez-toc-list a {
  color: var(--de-primary) !important;
  font-size: .9rem !important;
}
body.de-styled .ez-toc-list a:hover {
  color: var(--de-accent) !important;
}

/* ── BUTTONS GLOBAL ────────────────────────────────────────── */
body.de-styled .button.primary,
body.de-styled .btn.btn-primary {
  background: var(--de-accent) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: .8rem 1.5rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
body.de-styled .button.primary:hover {
  background: #6500bb !important;
}
body.de-styled .button.secondary {
  background: var(--de-primary) !important;
  color: #fff !important;
}

/* ── PAGINATION ────────────────────────────────────────────── */
body.de-styled .page-numbers,
body.de-styled .nav-pagination li > a,
body.de-styled .nav-pagination li > span {
  padding: .55rem .9rem !important;
  border-radius: 6px !important;
  border: 1.5px solid var(--de-border) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--de-text) !important;
  margin: 0 .15rem !important;
  background: #fff !important;
}
body.de-styled .nav-pagination li > a:hover {
  border-color: var(--de-accent) !important;
  color: var(--de-accent) !important;
}
body.de-styled .nav-pagination li.active > span,
body.de-styled .page-numbers.current {
  background: var(--de-primary) !important;
  color: #fff !important;
  border-color: var(--de-primary) !important;
}

/* ── FOOTER override ──────────────────────────────────────── */
body.de-styled .absolute-footer {
  display: none !important;
}
body.de-styled #footer {
  background: var(--de-dark) !important;
  color: rgba(255,255,255,.7) !important;
  padding: 3rem 1.5rem 1.5rem !important;
}
body.de-styled #footer h3,
body.de-styled #footer h4,
body.de-styled #footer .widget-title {
  color: #fff !important;
  font-size: .9rem !important;
  margin-bottom: 1rem !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body.de-styled #footer ul li a {
  color: rgba(255,255,255,.6) !important;
  font-size: .85rem !important;
}
body.de-styled #footer ul li a:hover {
  color: #fff !important;
}
body.de-styled #footer p {
  color: rgba(255,255,255,.65);
  font-size: .85rem;
  line-height: 1.7;
}

/* ── EMOJIS in cat icons (compatibility con menus de Flatsome) ── */
body.de-styled .nav > li > a img.emoji {
  width: 1.1em;
  height: 1.1em;
  vertical-align: -.18em;
  margin-right: .15rem;
}

/* ── RESPONSIVE TWEAKS ─────────────────────────────────────── */
@media (max-width: 992px) {
  body.de-styled .product-small .name { min-height: auto; }
}
@media (max-width: 640px) {
  body.de-styled.single-post .entry-content {
    padding: 1.5rem 1.2rem !important;
  }
}

/* ── KILL Flatsome boilerplate that clashes ───────────────── */
body.de-styled .product-small .price del { display: inline !important; }
body.de-styled .star-rating { color: #fbbf24 !important; }
body.de-styled .featured-table { border-radius: var(--de-radius); overflow: hidden; }

/* ============================================================
   Tactical hooks: brand line, chips, sidebar widget extra
   ============================================================ */

/* Brand line en cards de producto */
body.de-styled .de-brand-line {
  font-size: .7rem !important;
  color: var(--de-text-light) !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  margin-bottom: .3rem;
}

/* Chips de protocolo (Zigbee/Wi-Fi/Z-Wave) */
body.de-styled .de-chips {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  margin: .25rem 0 .45rem;
}
body.de-styled .de-chip {
  font-size: .68rem;
  background: var(--de-bg-alt);
  color: var(--de-text);
  padding: .15rem .5rem;
  border-radius: 12px;
  border: 1px solid var(--de-border);
  font-weight: 600;
}
body.de-styled .de-chip-zigbee { background: #d1fae5; color: #065f46; border-color: #6ee7b7; }
body.de-styled .de-chip-wifi   { background: #dbeafe; color: #1e3a8a; border-color: #93c5fd; }
body.de-styled .de-chip-zwave  { background: #fef3c7; color: #78350f; border-color: #fcd34d; }

/* Excerpt corto en cards */
body.de-styled .de-product-excerpt {
  font-size: .78rem !important;
  color: var(--de-text-light) !important;
  margin: .3rem 0 .5rem !important;
  line-height: 1.4 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Sidebar widget categorías inyectado */
body.de-styled .de-cat-widget {
  background: #fff;
  border: 1.5px solid var(--de-border);
  border-radius: var(--de-radius);
  padding: 1.2rem;
  margin-bottom: 1.2rem;
}
body.de-styled .de-cat-widget .widget-title {
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .8rem !important;
  padding-bottom: 0 !important;
  border: none !important;
}
body.de-styled .de-cat-widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.de-styled .de-cat-widget ul li {
  margin-bottom: .3rem;
  padding: 0;
}
body.de-styled .de-cat-widget ul li a {
  font-size: .88rem !important;
  color: var(--de-text) !important;
  display: flex !important;
  justify-content: space-between;
  padding: .35rem .5rem !important;
  border-radius: 4px;
  transition: background .2s, color .2s;
}
body.de-styled .de-cat-widget ul li a:hover,
body.de-styled .de-cat-widget ul li.current-cat > a {
  background: #ede9fe;
  color: var(--de-accent) !important;
}
body.de-styled .de-cat-widget ul li a span {
  color: var(--de-text-light);
  font-size: .78rem;
  font-weight: 500;
}

/* Filter bar visible */
body.de-styled .woocommerce-result-count,
body.de-styled .woocommerce-ordering {
  display: inline-block !important;
}
/* removed: filter-bar rule was breaking single product layout */

/* ============================================================
   SINGLE PRODUCT extras
   ============================================================ */
body.de-styled.single-product .de-single-brand-line {
  margin-bottom: .6rem;
}
body.de-styled.single-product .de-brand-pill {
  background: var(--de-dark);
  color: #fff;
  padding: .25rem .8rem;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  display: inline-block;
}
body.de-styled.single-product .de-extra-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .6rem;
  margin-top: 1.2rem;
}
body.de-styled.single-product .de-extra-info > div {
  display: flex;
  gap: .5rem;
  align-items: center;
  padding: .7rem .9rem;
  background: var(--de-bg-alt);
  border-radius: 6px;
  font-size: .82rem;
  color: var(--de-text);
}
body.de-styled.single-product .de-extra-info svg {
  color: var(--de-accent);
  flex-shrink: 0;
}
@media (max-width: 640px) {
  body.de-styled.single-product .de-extra-info {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   AFFILIATE MODE — kill cart, kill shipping, polish
   ============================================================ */

/* Ocultar todo lo del carrito */
body.de-affiliate-mode .header-cart-link,
body.de-affiliate-mode .header-cart-title,
body.de-affiliate-mode .cart-icon,
body.de-affiliate-mode .header-block-block-1,
body.de-affiliate-mode .cart-sidebar,
body.de-affiliate-mode .cart-sidebar-content,
body.de-affiliate-mode .nav-cart,
body.de-affiliate-mode .mfp-bg,
body.de-affiliate-mode .cart-popup,
body.de-affiliate-mode .nav-dropdown-default,
body.de-affiliate-mode li.html.custom.html-1,
body.de-affiliate-mode .nav-icon-cart,
body.de-affiliate-mode .menu-item.cart-item,
body.de-affiliate-mode .menu-item.account-item.cart-item,
body.de-affiliate-mode .widget_shopping_cart,
body.de-affiliate-mode .woocommerce-mini-cart,
body.de-affiliate-mode .added_to_cart,
body.de-affiliate-mode .cart-count,
body.de-affiliate-mode .nav-item-cart,
body.de-affiliate-mode #header .cart-item,
body.de-affiliate-mode li.menu-item-type-custom.menu-item-cart,
body.de-affiliate-mode .header-mini-cart,
body.de-affiliate-mode a[href*="/cart"],
body.de-affiliate-mode a[href*="/carrito"],
body.de-affiliate-mode a[href*="/checkout"],
body.de-affiliate-mode a[href*="/finalizar"] {
  display: none !important;
}

/* Botón "Añadir al carrito" → estilizar como CTA afiliado */



/* Eliminar "Productos recientes" / Añadidos recientemente / cart widgets */
body.de-affiliate-mode .widget_recent_products,
body.de-affiliate-mode .widget_woocommerce_layered_nav_filters,
body.de-affiliate-mode .widget_woocommerce_price_filter:not(.de-cat-widget),
body.de-affiliate-mode #footer .widget_recent_products,
body.de-affiliate-mode aside.widget_recent_products,
body.de-affiliate-mode aside[id*="recent_products"],
body.de-affiliate-mode aside[id*="shipping"],
body.de-affiliate-mode .widget-title:contains("Añadidos recientemente"),
body.de-affiliate-mode .widget-title:contains("Envío y Entrega"),
body.de-affiliate-mode .widget-title:contains("Envío"),
body.de-affiliate-mode .widget-title:contains("Entrega") {
  display: none !important;
}

/* Ocultar widgets de "Añadidos recientemente" y "Envío y Entrega" en footer/sidebar */
body.de-affiliate-mode .widget h3.widget-title,
body.de-affiliate-mode .widget span.widget-title {
  /* re-aplicamos display por defecto, pero ocultamos via JS si el texto coincide */
}

/* Nota affiliate en single product */
body.de-affiliate-mode .de-affiliate-note {
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  padding: .9rem 1rem;
  background: #f0f4ff;
  border-left: 4px solid var(--de-primary);
  border-radius: 0 6px 6px 0;
  font-size: .82rem;
  color: var(--de-text);
  margin-top: 1rem;
  line-height: 1.5;
}
body.de-affiliate-mode .de-affiliate-note svg {
  color: var(--de-primary);
  flex-shrink: 0;
  margin-top: .15rem;
}
body.de-affiliate-mode .de-affiliate-note strong {
  color: var(--de-dark);
}

/* Asegurar que la row anidada (imagen+info) también funcione */


/* Quitar el max-width: 1200px de .row que rompe rows anidadas */


/* En mobile: stack vertical */


/* ============================================================
   CTA "Ver oferta" mejorado (icono SVG via background)
   ============================================================ */
body.de-affiliate-mode.single-product .single_add_to_cart_button {
  background: var(--de-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 0.95rem 1.6rem 0.95rem 3.3rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: 0 4px 14px rgba(122, 0, 223, 0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  position: relative;
  transition: all .2s ease;
}
body.de-affiliate-mode.single-product .single_add_to_cart_button::before {
  content: "";
  position: absolute;
  left: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 17l-4-12h18l-2 8H5'/><circle cx='9' cy='20' r='1.5'/><circle cx='17' cy='20' r='1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.de-affiliate-mode.single-product .single_add_to_cart_button:hover {
  background: #6500bb !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(122, 0, 223, 0.35) !important;
}
body.de-affiliate-mode.single-product .single_add_to_cart_button::after {
  content: "→";
  margin-left: .6rem;
  font-size: 1.1rem;
  font-weight: 700;
  transition: transform .2s;
}
body.de-affiliate-mode.single-product .single_add_to_cart_button:hover::after {
  transform: translateX(3px);
}

/* ============================================================
   PRICE BOX rediseñado
   ============================================================ */
body.de-styled.single-product .product-info .price,
body.de-styled.single-product .price-wrapper,
body.de-styled.single-product .product-info p.price {
  background: linear-gradient(135deg, #fff 0%, #f7f8fc 100%) !important;
  border: 1.5px solid var(--de-border) !important;
  border-radius: 12px !important;
  padding: 1.3rem 1.5rem !important;
  margin: 1rem 0 1.4rem !important;
  display: flex !important;
  flex-direction: column;
  gap: .3rem;
  position: relative;
  overflow: hidden;
}

/* Decoración: barrita lateral con color */
body.de-styled.single-product .product-info .price::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--de-accent), var(--de-primary));
}

/* Precio antiguo (tachado) — pequeño y arriba */
body.de-styled.single-product .product-info .price del,
body.de-styled.single-product .price-wrapper del {
  font-size: .95rem !important;
  color: var(--de-text-light) !important;
  text-decoration: line-through !important;
  font-weight: 500 !important;
  margin: 0 !important;
  opacity: .7;
  display: block;
}
body.de-styled.single-product .product-info .price del .amount,
body.de-styled.single-product .price-wrapper del .amount {
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: inherit !important;
}

/* Precio actual — grande y destacado */
body.de-styled.single-product .product-info .price ins,
body.de-styled.single-product .price-wrapper ins,
body.de-styled.single-product .product-info .price > .amount {
  font-size: 2.4rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  display: inline-flex;
  align-items: baseline;
}
body.de-styled.single-product .product-info .price ins .amount {
  font-size: 2.4rem !important;
  font-weight: 800 !important;
}

/* Símbolo €: alineado correctamente con baseline */
body.de-styled.single-product .product-info .price .woocommerce-Price-currencySymbol {
  font-size: 1.4rem;
  font-weight: 700;
  vertical-align: baseline;
  margin-left: .15rem;
  color: var(--de-text);
}

/* Badge de descuento (vamos a calcularlo via JS más adelante o mostrar si presente) */
body.de-styled.single-product .price-discount-badge {
  display: inline-block;
  background: #fee2e2;
  color: #dc2626;
  font-size: .75rem;
  font-weight: 700;
  padding: .25rem .7rem;
  border-radius: 20px;
  margin-left: .8rem;
  vertical-align: middle;
  letter-spacing: .02em;
}

/* Líneas savings (Ahorras X €) */
body.de-styled.single-product .de-savings {
  font-size: .85rem;
  color: #059669;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .2rem;
}



/* ============================================================
   GRID PRODUCTOS uniforme (versión conservadora — solo título y precio)
   ============================================================ */

/* Título: 2 líneas exactas para que todos los cards tengan misma altura de texto */
body.de-styled .product-small .name a,
body.de-styled .product-small p.name,
body.de-styled .product-small .product-title,
body.de-styled .product-small h3 a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body.de-styled .product-small .name,
body.de-styled .product-small .product-title,
body.de-styled .product-small h3 {
  min-height: 2.6em;
  line-height: 1.35 !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  margin: 0 0 .35rem !important;
}

/* Marca pequeña arriba (SONOFF, SMART LIFE, etc.) */
body.de-styled .product-small .category {
  font-size: .68rem !important;
  letter-spacing: .05em !important;
  color: var(--de-text-light) !important;
  margin-bottom: .15rem !important;
  display: block !important;
  text-transform: uppercase;
  font-weight: 700;
}

/* Precio: mismo estilo en todos */
body.de-styled .product-small .price {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .5rem !important;
}
body.de-styled .product-small .price del {
  font-size: .82rem !important;
  color: var(--de-text-light) !important;
  font-weight: 500 !important;
  opacity: .65;
  text-decoration: line-through !important;
  order: 1;
}
body.de-styled .product-small .price ins,
body.de-styled .product-small .price > .amount {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--de-dark) !important;
  text-decoration: none !important;
  order: 2;
}
body.de-styled .product-small .price .woocommerce-Price-currencySymbol {
  font-size: .95rem;
  font-weight: 700;
}

/* Estrellas: alineadas */
body.de-styled .product-small .star-rating {
  font-size: .85em !important;
  margin: .2rem 0 .3rem !important;
}

/* Chips compactos */
body.de-styled .product-small .de-chips {
  margin: .15rem 0 .25rem !important;
  display: flex;
  gap: .3rem;
  flex-wrap: wrap;
}

/* Botón "Ver oferta" en cards: tamaño compacto */
body.de-styled .product-small .button.product_type_external,
body.de-styled .product-small .add_to_cart_button {
  margin-top: .5rem !important;
  padding: .5rem .9rem !important;
  font-size: .8rem !important;
}

/* ============================================================
   AFFILIATE MODE — limpieza adicional del header
   ============================================================ */

/* Quitar dividers vacíos que quedaron tras eliminar el cart */
body.de-affiliate-mode .header-divider {
  display: none !important;
}

/* Quitar también el icono de "Mi cuenta" — no hay login en affiliate */
body.de-affiliate-mode .account-item,
body.de-affiliate-mode li.account-item,
body.de-affiliate-mode a[href*="/my-account"],
body.de-affiliate-mode a[href*="/mi-cuenta"] {
  display: none !important;
}

/* Mobile nav: quitar también el cart/account de móvil */
body.de-affiliate-mode .mobile-nav .cart-item,
body.de-affiliate-mode .mobile-nav .account-item {
  display: none !important;
}

/* ============================================================
   VISTA RÁPIDA: mejor contraste y legibilidad
   ============================================================ */

/* El botón Vista Rápida flotante sobre la imagen */
body.de-styled .product-small .quick-view,
body.de-styled .product-small a.quick-view,
body.de-styled .image-tools a {
  background: rgba(26, 26, 46, 0.85) !important;
  color: #fff !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  padding: .5rem .9rem !important;
  border-radius: 6px !important;
  letter-spacing: .02em !important;
  border: none !important;
  text-transform: none !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
body.de-styled .product-small .quick-view:hover,
body.de-styled .image-tools a:hover {
  background: var(--de-accent) !important;
  color: #fff !important;
}

/* Tooltips Flatsome (cuando aparecen al hacer hover) */
body.de-styled .tooltipster-base,
body.de-styled .tooltipster-box,
body.de-styled .tooltipster-content {
  background: var(--de-dark) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  padding: .35rem .7rem !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.2) !important;
}
body.de-styled .tooltipster-arrow,
body.de-styled .tooltipster-arrow-uncropped,
body.de-styled .tooltipster-arrow-background,
body.de-styled .tooltipster-arrow-border {
  border-color: var(--de-dark) !important;
}

/* Tooltips nativos title HTML5 — no se pueden estilar */
/* Flatsome tiene un tooltip propio para "Vista rápida" */
body.de-styled .has-tooltip[title]:hover::after,
body.de-styled .image-tools[data-tooltip]::after {
  background: var(--de-dark) !important;
  color: #fff !important;
  border-radius: 4px !important;
}

/* Overlay de Vista Rápida (cuando se abre el modal) */
body.de-styled .mfp-wrap .mfp-content {
  background: #fff;
  border-radius: var(--de-radius);
}
body.de-styled .mfp-wrap .product_title {
  color: var(--de-dark) !important;
}

/* Icons del Vista Rápida en hover sobre imagen */
body.de-styled .product-small .image-tools {
  background: rgba(0,0,0,.4);
  border-radius: 0;
  padding: .35rem;
}
body.de-styled .product-small .image-tools a {
  color: #fff !important;
  background: rgba(255,255,255,.15) !important;
  border-radius: 6px !important;
  margin: 0 .15rem;
  font-size: .8rem !important;
}
body.de-styled .product-small .image-tools a:hover {
  background: var(--de-accent) !important;
}

/* ============================================================
   Sidebar widget card styling (aplicar a TODOS los widgets de la sidebar)
   ============================================================ */
body.de-styled #shop-sidebar > aside.widget,
body.de-styled .widget.widget_de_categories_widget,
body.de-styled .widget.widget_product_categories,
body.de-styled .widget.widget_price_filter {
  background: #fff;
  border: 1.5px solid var(--de-border);
  border-radius: var(--de-radius);
  padding: 1.2rem;
  margin-bottom: 1.2rem;
}

/* Widget title consistente */
body.de-styled #shop-sidebar .widget-title,
body.de-styled #shop-sidebar .widget > .widget-title {
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--de-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  margin-bottom: .8rem !important;
  padding-bottom: 0 !important;
  border: none !important;
  display: block;
}

/* Listado de categorías - links */
body.de-styled #shop-sidebar .widget ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.de-styled #shop-sidebar .widget ul li {
  margin-bottom: .3rem !important;
  padding: 0 !important;
  border: none !important;
}
body.de-styled #shop-sidebar .widget ul li a {
  font-size: .88rem !important;
  color: var(--de-text) !important;
  display: block !important;
  padding: .35rem .5rem !important;
  border-radius: 4px !important;
  transition: background .2s, color .2s !important;
  text-decoration: none !important;
}
body.de-styled #shop-sidebar .widget ul li a:hover,
body.de-styled #shop-sidebar .widget ul li.current-cat > a {
  background: #ede9fe !important;
  color: var(--de-accent) !important;
}

/* ============================================================
   Ocultar el dark blue "Tienda" title bar (NO en categorías)
   ============================================================ */

/* Hacer que el banner de page-title sea más pequeño y limpio */
body.de-styled .shop-page-title.featured-title {
  padding: 1.5rem 0 !important;
  min-height: auto !important;
}
body.de-styled .shop-page-title .page-title-bg,
body.de-styled .shop-page-title .title-bg {
  background: var(--de-bg-alt) !important;
}
body.de-styled .shop-page-title .title-overlay {
  display: none !important;
}
body.de-styled .shop-page-title.dark,
body.de-styled .shop-page-title.dark h1,
body.de-styled .shop-page-title.dark .woocommerce-breadcrumb {
  background: var(--de-bg-alt) !important;
  color: var(--de-dark) !important;
}
body.de-styled .shop-page-title h1.shop-page-title {
  color: var(--de-dark) !important;
  font-size: 1.7rem !important;
  font-weight: 800 !important;
}
body.de-styled .shop-page-title .woocommerce-breadcrumb a {
  color: var(--de-primary) !important;
}
body.de-styled .shop-page-title .woocommerce-breadcrumb {
  color: var(--de-text-light) !important;
  font-size: .85rem !important;
  text-transform: none !important;
  font-weight: 500 !important;
}
