/* =========================================================
   INFINITUM 3D — DARK PREMIUM & NEON / SITE-WIDE THEME
   Tema unificado para todas as páginas.
   ========================================================= */

:root{
  --neon-bg:#06101f;
  --neon-bg-2:#08162b;
  --neon-bg-3:#0b1b31;
  --neon-panel:rgba(12,28,51,.92);
  --neon-panel-2:rgba(16,37,67,.92);
  --neon-line:rgba(117,166,255,.17);
  --neon-line-strong:rgba(41,210,255,.42);
  --neon-text:#f7f9ff;
  --neon-muted:#9eabc3;
  --neon-blue:#2585ff;
  --neon-cyan:#20dcff;
  --neon-violet:#8a5cff;
  --neon-pink:#ff4fd8;
  --neon-green:#43dfb4;
  --neon-shadow:0 20px 55px rgba(0,0,0,.26);
}

body.site-dark{
  --dark:var(--neon-text);
  --text:var(--neon-muted);
  --background:var(--neon-bg);
  --white:#ffffff;
  min-height:100vh;
  color:var(--neon-text);
  background:
    radial-gradient(circle at 16% 4%,rgba(37,133,255,.12),transparent 24%),
    radial-gradient(circle at 86% 8%,rgba(138,92,255,.14),transparent 26%),
    linear-gradient(180deg,#071426 0%,#06101f 45%,#050d19 100%);
}

body.site-dark main{background:transparent}
body.site-dark .container{width:min(1260px,92%)}
body.site-dark a:focus-visible,
body.site-dark button:focus-visible,
body.site-dark input:focus-visible,
body.site-dark select:focus-visible,
body.site-dark textarea:focus-visible{
  outline:2px solid var(--neon-cyan);
  outline-offset:3px;
}

/* ---------- Cabeçalho unificado ---------- */
body.site-dark .header{
  background:rgba(4,13,27,.90);
  border-bottom:1px solid var(--neon-line);
  box-shadow:0 12px 35px rgba(0,0,0,.13);
  backdrop-filter:blur(20px);
}
body.site-dark .nav{min-height:68px;gap:22px}
body.site-dark .logo-icon,
body.site-dark .footer-logo-icon{
  background:linear-gradient(135deg,var(--neon-cyan),var(--neon-blue) 48%,var(--neon-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 12px rgba(32,220,255,.30));
}
body.site-dark .logo strong,
body.site-dark .menu a,
body.site-dark .footer-logo strong{color:var(--neon-text)}
body.site-dark .logo strong span,
body.site-dark .footer-logo strong span{color:#2c8eff}
body.site-dark .logo small,
body.site-dark .footer-logo small{color:#6f91c7}
body.site-dark .menu{gap:25px}
body.site-dark .menu a{font-size:14px}
body.site-dark .menu a:hover{color:var(--neon-cyan)}
body.site-dark .menu a::after{
  background:linear-gradient(90deg,var(--neon-cyan),var(--neon-violet));
  box-shadow:0 0 12px rgba(32,220,255,.45);
}
body.site-dark .cart-button,
body.site-dark .account-button,
body.site-dark .language-toggle{
  color:#f7f9ff;
  border-color:rgba(117,166,255,.22);
  background:rgba(10,24,45,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.site-dark .cart-button:hover,
body.site-dark .account-button:hover,
body.site-dark .language-toggle:hover{
  color:var(--neon-cyan);
  border-color:rgba(32,220,255,.55);
  background:rgba(13,34,62,.94);
  box-shadow:0 0 24px rgba(32,220,255,.08);
}
body.site-dark #currentLanguageCode,
body.site-dark .language-chevron{color:#f5f7ff}
body.site-dark .language-dropdown{
  color:var(--neon-text);
  border:1px solid rgba(117,166,255,.20);
  background:rgba(7,20,38,.98);
  box-shadow:0 18px 45px rgba(0,0,0,.40);
}
body.site-dark .language-option{color:#eef3ff;background:transparent}
body.site-dark .language-option:hover,
body.site-dark .language-option.active{background:rgba(37,133,255,.15)}
body.site-dark .mobile-menu{color:#fff}

/* ---------- Elementos globais ---------- */
body.site-dark .section-tag,
body.site-dark .eyebrow{color:#5ccaff}
body.site-dark h1,
body.site-dark h2,
body.site-dark h3,
body.site-dark h4{color:var(--neon-text)}
body.site-dark p{color:var(--neon-muted)}
body.site-dark .btn-primary,
body.site-dark .auth-submit,
body.site-dark .add-cart-button,
body.site-dark .product-detail-add-cart,
body.site-dark .account-shop-button,
body.site-dark .account-address-save{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(100deg,#168fff,#16d5ff 48%,#7853ff 100%);
  box-shadow:0 12px 28px rgba(22,148,255,.20),0 0 22px rgba(32,220,255,.07);
}
body.site-dark .btn-secondary,
body.site-dark .categories-all-btn,
body.site-dark .featured-view-all,
body.site-dark .product-detail-customize-link,
body.site-dark .account-secondary-button{
  color:#f7f9ff;
  border-color:rgba(42,198,255,.55);
  background:rgba(7,24,45,.70);
}

/* ---------- CATÁLOGO / PRODUTOS ---------- */
body.site-dark .products-page-main,
body.site-dark .product-detail-page,
body.site-dark .detail-main{color:var(--neon-text)}
body.site-dark .products-page-hero h1,
body.site-dark .products-browser-summary strong,
body.site-dark .product-detail-info h1,
body.site-dark .product-related-head h2,
body.site-dark .detail-copy h1,
body.site-dark .detail-section-heading h2{color:var(--neon-text)}
body.site-dark .products-page-hero p,
body.site-dark .product-detail-description,
body.site-dark .detail-lead,
body.site-dark .detail-note{color:var(--neon-muted)}
body.site-dark .products-page-count,
body.site-dark .detail-tags span{
  color:#9dc5ff;
  border:1px solid rgba(117,166,255,.14);
  background:rgba(22,54,93,.65);
}
body.site-dark .products-browser,
body.site-dark .product-detail-loading,
body.site-dark .product-detail-error,
body.site-dark .option-card,
body.site-dark .catalog-empty{
  color:var(--neon-text);
  border-color:var(--neon-line);
  background:linear-gradient(145deg,rgba(14,33,60,.95),rgba(8,20,38,.96));
  box-shadow:var(--neon-shadow);
}
body.site-dark .products-search-box,
body.site-dark .products-sort-select,
body.site-dark .products-category-chip,
body.site-dark .product-quantity-control,
body.site-dark .product-quantity-control button,
body.site-dark .product-quantity-control input{
  color:#f2f6ff;
  border-color:rgba(117,166,255,.18);
  background:rgba(5,16,31,.78);
}
body.site-dark .products-search-box input{color:#f2f6ff}
body.site-dark .products-search-box input::placeholder{color:#71809b}
body.site-dark .products-sort-select option{color:#fff;background:#0a1a30}
body.site-dark .products-category-chip:hover{border-color:rgba(32,220,255,.5);color:#fff}
body.site-dark .products-category-chip.is-active{
  color:#fff;background:linear-gradient(135deg,#238bff,#7651ff);box-shadow:0 10px 24px rgba(47,115,255,.16)
}
body.site-dark .products-browser-summary{border-color:rgba(117,166,255,.11)}
body.site-dark .clear-product-filters,
body.site-dark .product-detail-back a,
body.site-dark .product-related-head>a,
body.site-dark .product-category-head-actions>a{color:#62cfff}

body.site-dark .featured-product-card,
body.site-dark .catalog-product-card{
  color:var(--neon-text);
  border:1px solid var(--neon-line);
  background:linear-gradient(145deg,rgba(15,34,61,.96),rgba(8,21,40,.98));
  box-shadow:0 15px 34px rgba(0,0,0,.18);
}
body.site-dark .featured-product-visual,
body.site-dark .catalog-product-visual,
body.site-dark .featured-blue,
body.site-dark .featured-purple,
body.site-dark .featured-yellow,
body.site-dark .featured-pink{
  background:radial-gradient(circle at 50% 52%,rgba(65,112,255,.20),transparent 62%),#0c1d35;
}
body.site-dark .product-category{color:#66c9ff}
body.site-dark .featured-product-content h3,
body.site-dark .featured-product-top strong{color:#f8faff}
body.site-dark .featured-product-content>p{color:#9eabc3}
body.site-dark .featured-product-action{color:#bceaff}
body.site-dark .catalog-stock{color:#54e5ae}
body.site-dark .catalog-stock.is-out{color:#ff829a}
body.site-dark .favorite-button{
  color:#ecf5ff;
  border-color:rgba(255,255,255,.15);
  background:rgba(5,14,27,.70);
}

body.site-dark .product-detail-image-wrap,
body.site-dark .detail-art{
  border:1px solid var(--neon-line);
  background:
    radial-gradient(circle at 50% 45%,rgba(66,118,255,.22),transparent 54%),
    linear-gradient(145deg,#102849,#091b31);
  box-shadow:var(--neon-shadow);
}
body.site-dark .product-detail-badge{
  color:#dfeaff;background:rgba(6,17,34,.9);border:1px solid var(--neon-line)
}
body.site-dark .product-detail-meta span:first-child{color:#55c9ff}
body.site-dark .product-detail-meta span:last-child{color:#8290aa}
body.site-dark .product-detail-price-row{border-color:rgba(117,166,255,.11)}
body.site-dark .product-detail-price-row strong{color:#5dcfff}
body.site-dark .product-detail-stock{color:#72f2bd;background:rgba(46,194,132,.12)}
body.site-dark .product-detail-stock.is-out{color:#ff879e;background:rgba(237,79,116,.10)}
body.site-dark .product-detail-customizable{
  border-color:var(--neon-line);background:rgba(13,34,62,.74)
}
body.site-dark .product-detail-customizable strong,
body.site-dark .product-detail-buy-box>label{color:#eaf1ff}
body.site-dark .product-detail-customizable p,
body.site-dark .product-detail-stock-note{color:#94a4bd}
body.site-dark .product-detail-customize-link:hover{border-color:rgba(32,220,255,.45);color:#fff}

/* =========================================================
   AUTENTICAÇÃO
   ========================================================= */
body.site-dark .auth-main{
  min-height:calc(100vh - 68px);
  padding:46px 0 58px;
  background:
    radial-gradient(circle at 15% 16%,rgba(37,133,255,.13),transparent 30%),
    radial-gradient(circle at 86% 18%,rgba(138,92,255,.14),transparent 30%),
    #06101f;
}
body.site-dark .auth-shell{
  overflow:hidden;
  border:1px solid var(--neon-line);
  background:#071425;
  box-shadow:0 28px 75px rgba(0,0,0,.34);
}
body.site-dark .auth-visual{
  color:#fff;
  background:
    linear-gradient(90deg,rgba(4,25,58,.78),rgba(25,70,142,.42),rgba(68,54,157,.22)),
    url("images/auth-banner-gato-impressora-3d.png") 68% center/cover no-repeat;
}
body.site-dark .auth-panel{background:linear-gradient(145deg,#0b1c33,#071425)}
body.site-dark .auth-panel-header h2{color:#fff}
body.site-dark .auth-panel-header p,
body.site-dark .auth-alt,
body.site-dark .auth-demo-note{color:#95a5bd}
body.site-dark .auth-field label{color:#e7efff}
body.site-dark .auth-field input,
body.site-dark .auth-field select{
  color:#f6f9ff;
  border-color:rgba(117,166,255,.18);
  background:rgba(4,14,28,.72);
}
body.site-dark .auth-field input::placeholder{color:#6f7e99}
body.site-dark .auth-field input:focus{
  border-color:rgba(32,220,255,.70);
  background:#07162a;
  box-shadow:0 0 0 4px rgba(32,220,255,.07);
}
body.site-dark .auth-link,
body.site-dark .auth-alt a{color:#55cbff}

/* =========================================================
   CARRINHO
   ========================================================= */
body.site-dark .cart-overlay{background:rgba(0,5,13,.68)}
body.site-dark .cart-panel{
  color:#f6f8ff;
  background:#071425;
  box-shadow:-20px 0 60px rgba(0,0,0,.48)
}
body.site-dark .cart-header,
body.site-dark .cart-item{border-color:rgba(117,166,255,.12)}
body.site-dark .cart-close,
body.site-dark .cart-item-image,
body.site-dark .cart-quantity{
  color:#f5f7ff;
  border-color:rgba(117,166,255,.16);
  background:#0d2039
}
body.site-dark .cart-empty,
body.site-dark .cart-total-label{color:#9eabc3}

/* =========================================================
   INFINITUM 3D - CONTACT IMAGE UPLOAD
========================================================= */
body.site-dark .quote-image-group{
  margin-top:2px;
}
body.site-dark .quote-image-upload{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
}
body.site-dark .quote-image-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
body.site-dark .quote-image-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(63,179,255,.48);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(20,159,255,.16),rgba(126,84,255,.16));
  color:#f7fbff;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body.site-dark .quote-image-button:hover{
  transform:translateY(-1px);
  border-color:rgba(55,202,255,.82);
  box-shadow:0 8px 24px rgba(20,127,255,.14);
  background:linear-gradient(135deg,rgba(20,159,255,.24),rgba(126,84,255,.24));
}
body.site-dark .quote-image-button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
body.site-dark .quote-image-help{
  margin:0;
  flex:1 1 260px;
  color:#7f92ad;
  font-size:.78rem;
  line-height:1.45;
}
body.site-dark .quote-image-preview{
  flex-basis:100%;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
body.site-dark .quote-image-preview:empty{
  display:none;
}
body.site-dark .quote-image-preview-item{
  min-width:0;
  padding:6px;
  border:1px solid rgba(104,151,217,.22);
  border-radius:12px;
  background:rgba(5,19,38,.58);
}
body.site-dark .quote-image-preview-item img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:8px;
  background:#071426;
}
body.site-dark .quote-image-preview-item span{
  display:block;
  margin-top:5px;
  overflow:hidden;
  color:#aebbd0;
  font-size:.67rem;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:760px){
  body.site-dark .quote-image-preview{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

body.site-dark .contact-form-card {
  height: auto !important;
}
body.site-dark .contact-side {
  height: auto !important;
  justify-content: center !important;
}
body.site-dark .contact-mini-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(3, auto) !important;
  gap: 12px !important;
}


/* =========================================================
   ALINEACIÓN DE ANCHOS 
   ========================================================= */
@media (min-width: 1181px) {
  body.home-dark.site-dark.compact-home .premium-categories,
  body.home-dark.site-dark.compact-home .home-idea-banner {
    width: min(1480px, 96vw) !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
  }
  
  body.home-dark.site-dark.compact-home .process .container,
  body.home-dark.site-dark.compact-home .home-contact-full .container {
    width: min(1480px, 96vw) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }
}

@media (min-width: 1051px) and (max-width: 1180px) {
  body.home-dark.site-dark.compact-home .premium-categories,
  body.home-dark.site-dark.compact-home .home-idea-banner {
    width: 94vw !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
  }
  body.home-dark.site-dark.compact-home .process .container,
  body.home-dark.site-dark.compact-home .home-contact-full .container {
    width: 94vw !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }
}

/* ---------------- BANNER "TIENES UNA IDEA" · REFERENCIA APROBADA ---------------- */
body.home-dark.site-dark.compact-home .home-idea-banner {
  position: relative !important;
  overflow: hidden !important;
  min-height: 190px !important;
  margin-top: 55px !important;
  padding: 28px 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 34px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(82, 153, 255, 0.30) !important;
  background-color: #071b49 !important;
  background-image: url("images/banner-opcion1-infinitum.png") !important;
  background-size: cover !important;
  background-position: 58% center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.30) !important;
}

body.home-dark.site-dark.compact-home .home-idea-banner::before {
  content: "" !important;
  position: absolute !important;
  inset: -20px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background-image: url("images/banner-opcion1-infinitum.png") !important;
  background-size: 140% auto !important;
  background-position: 56% center !important;
  background-repeat: no-repeat !important;
  filter: blur(16px) saturate(1.16) brightness(1.08) !important;
  opacity: .48 !important;
  transform: scale(1.03) !important;
  -webkit-mask-image: linear-gradient(
    90deg,
    #000 0%,
    #000 48%,
    rgba(0,0,0,.86) 58%,
    rgba(0,0,0,.52) 68%,
    rgba(0,0,0,.18) 78%,
    transparent 86%
  ) !important;
  mask-image: linear-gradient(
    90deg,
    #000 0%,
    #000 48%,
    rgba(0,0,0,.86) 58%,
    rgba(0,0,0,.52) 68%,
    rgba(0,0,0,.18) 78%,
    transparent 86%
  ) !important;
}

body.home-dark.site-dark.compact-home .home-idea-banner::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 15% 14%,
      rgba(255,188,122,.34) 0%,
      rgba(245,145,170,.20) 18%,
      transparent 44%),
    radial-gradient(circle at 30% 54%,
      rgba(165,99,228,.18) 0%,
      transparent 42%),
    radial-gradient(circle at 54% 10%,
      rgba(255,208,153,.10) 0%,
      transparent 22%),
    linear-gradient(90deg,
      rgba(8,18,48,.58) 0%,
      rgba(30,27,84,.42) 30%,
      rgba(33,49,114,.19) 55%,
      rgba(11,39,97,.08) 72%,
      transparent 88%) !important;
}

body.home-dark.site-dark.compact-home .home-idea-copy,
body.home-dark.site-dark.compact-home .home-idea-button {
  position: relative !important;
  z-index: 3 !important;
}

body.home-dark.site-dark.compact-home .home-idea-copy {
  max-width: 700px !important;
}

body.home-dark.site-dark.compact-home .home-idea-visual {
  display: none !important;
}

body.home-dark.site-dark.compact-home .home-idea-kicker {
  color: #67dbff !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 2.1px !important;
}

body.home-dark.site-dark.compact-home .home-idea-copy h2 {
  font-size: clamp(38px, 3.45vw, 50px) !important;
  line-height: 1.02 !important;
  letter-spacing: -1.35px !important;
  margin: 7px 0 8px !important;
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.34) !important;
}

body.home-dark.site-dark.compact-home .home-idea-copy > p {
  margin: 0 0 17px !important;
  color: #f2f5ff !important;
  font-size: 15.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.28) !important;
}

body.home-dark.site-dark.compact-home .home-idea-benefits {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px 26px !important;
}

body.home-dark.site-dark.compact-home .home-idea-benefits > span {
  color: #f6f8ff !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 9px rgba(0,0,0,.34) !important;
}

body.home-dark.site-dark.compact-home .home-idea-button {
  position: relative !important;
  z-index: 3 !important;
  min-width: 210px !important;
  min-height: 52px !important;
  margin-right: 8px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-shrink: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0875eb !important;
  background: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.25) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

body.home-dark.site-dark.compact-home .home-idea-button span {
  color: inherit !important;
}

body.home-dark.site-dark.compact-home .home-idea-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.34) !important;
}


/* ---------------- SECCIÓN "CÓMO FUNCIONA" ---------------- */
body.home-dark.site-dark.compact-home .process {
  padding: 65px 0 !important;
  background-color: #06101f !important;
}

body.home-dark.site-dark.compact-home .process .container {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 50px !important;
  align-items: center !important;
}

body.home-dark.site-dark.compact-home .process-header {
  position: relative !important;
  z-index: 5 !important;
  grid-column: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 0 !important;
}

body.home-dark.site-dark.compact-home .process-heading h2 {
  font-size: clamp(34px, 3.5vw, 42px) !important;
  line-height: 1.1 !important;
  margin: 16px 0 20px !important;
  letter-spacing: -1px !important;
}

body.home-dark.site-dark.compact-home .process-copy {
  display: block !important;
}

body.home-dark.site-dark.compact-home .process-copy p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #b9c6d8 !important;
  margin: 0 !important;
}

body.home-dark.site-dark.compact-home .process-premium-wrapper {
  grid-column: 2 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.home-dark.site-dark.compact-home .process-grid-premium {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.home-dark.site-dark.compact-home .process-card-premium {
  position: relative !important;
  min-height: auto !important;
  padding: 24px 20px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: left !important;
  border: 1px solid rgba(82, 153, 255, 0.15) !important;
  border-radius: 20px !important;
  background: linear-gradient(160deg, rgba(12, 31, 58, 0.95), rgba(5, 18, 36, 0.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 30px rgba(0,0,0,0.2) !important;
  overflow: visible !important;
}

body.home-dark.site-dark.compact-home .process-card-premium:first-child {
  border-left: 1px solid rgba(82, 153, 255, 0.15) !important;
}

body.home-dark.site-dark.compact-home .process-step-number {
  position: absolute !important;
  top: 16px !important;
  left: 18px !important;
  margin: 0 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  color: #5ea1ff !important;
  opacity: 0.9 !important;
}

body.home-dark.site-dark.compact-home .process-figure {
  width: 118px !important;
  height: 118px !important;
  margin: 15px auto 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 118px !important;
  transform: none !important;
}

body.home-dark.site-dark.compact-home .process-figure img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3)) !important;
  transform: none !important;
}

body.home-dark.site-dark.compact-home .process-card-content {
  width: 100% !important;
  margin-top: 0 !important;
  text-align: left !important;
}

body.home-dark.site-dark.compact-home .process-card-content h3 {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin-bottom: 12px !important;
}

body.home-dark.site-dark.compact-home .process-card-content p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #d3def0 !important;
  margin: 0 !important;
}

/* ---------------- RESPONSIVE CÓMO FUNCIONA / BANNER ---------------- */
@media (max-width: 1180px) {
  body.home-dark.site-dark.compact-home .home-idea-banner {
    min-height: 190px !important;
    padding: 30px 35px !important;
    gap: 20px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  body.home-dark.site-dark.compact-home .home-idea-button {
    margin-top: 15px !important;
  }
  body.home-dark.site-dark.compact-home .process .container {
    grid-template-columns: 240px minmax(0,1fr) !important;
    gap: 30px !important;
  }
  body.home-dark.site-dark.compact-home .process-grid-premium {
    gap: 15px !important;
  }
  body.home-dark.site-dark.compact-home .process-figure {
    width: 95px !important;
    height: 95px !important;
    flex: 0 0 95px !important;
  }
  body.home-dark.site-dark.compact-home .process-card-content h3 { font-size: 18px !important; }
  body.home-dark.site-dark.compact-home .process-card-content p { font-size: 12.5px !important; }
}

@media (max-width: 980px) {
  body.home-dark.site-dark.compact-home .home-idea-banner {
    background-position: 70% center !important;
  }
  body.home-dark.site-dark.compact-home .process .container {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  body.home-dark.site-dark.compact-home .process-header {
    text-align: center !important;
    grid-column: 1 !important;
  }
  body.home-dark.site-dark.compact-home .process-premium-wrapper {
    grid-column: 1 !important;
  }
  body.home-dark.site-dark.compact-home .process-heading h2 {
    max-width: none !important;
    margin: 10px auto !important;
  }
  body.home-dark.site-dark.compact-home .process-grid-premium {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  body.home-dark.site-dark.compact-home .home-idea-banner {
    padding: 30px 25px !important;
  }
  body.home-dark.site-dark.compact-home .home-idea-button {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  body.home-dark.site-dark.compact-home .process-grid-premium {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   CORRECCIÓN DEL HERO (TEXTO INFERIOR Y LLAVERO)
   ========================================================= */
@media (min-width: 1051px) {
  body.home-dark.site-dark.compact-home .hero-grid {
    grid-template-columns: 1.05fr 0.95fr !important;
    gap: 0 !important;
    min-height: 600px !important; 
  }

  body.home-dark.site-dark.compact-home .hero-art {
    transform: scale(1.05) !important; 
    transform-origin: center left !important;
    margin-left: -20px !important;
    display: flex !important;
    justify-content: center !important;
  }

  body.home-dark.site-dark.compact-home .dragon { 
    left: 20px !important; 
    top: 90px !important; 
  }

  body.home-dark.site-dark.compact-home .rocket { 
    right: 50px !important; 
    top: 130px !important; 
  }

  body.home-dark.site-dark.compact-home .figure { 
    right: 60px !important; 
    bottom: 85px !important; 
  }

  body.home-dark.site-dark.compact-home .plant { 
    left: 70px !important; 
    bottom: 50px !important; 
  }
  
  /* BAJAMOS EL TEXTO INFERIOR DERECHO PARA QUE NO SE SUPERPONGA A LA FIGURA */
  body.home-dark.site-dark.compact-home .art-message { 
    right: 35px !important; 
    bottom: -15px !important; 
    font-size: 17px !important; 
    line-height: 1.3 !important;
    text-align: right !important;
  }
}

/* OPCIÓN 1: FOOTER ULTRA-COMPACTO */
body.site-dark .minimal-footer {
  padding: 30px 0 0 !important;
  background: transparent !important;
  border-top: none !important;
}
body.site-dark .minimal-footer::before {
  display: none !important;
}
body.site-dark .footer-main-minimal {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 0 0 25px 0 !important;
  border-bottom: 1px solid rgba(117,166,255,0.08) !important;
}
body.site-dark .footer-left-minimal {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
}
body.site-dark .footer-left-minimal .footer-logo {
  margin-bottom: 0 !important;
}
body.site-dark .footer-slogan-minimal {
  margin: 0 !important;
  color: #9eabc3 !important;
  font-size: 13px !important;
}
body.site-dark .footer-socials-minimal {
  display: flex !important;
  gap: 10px !important;
}
body.site-dark .footer-socials-minimal a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(117,166,255,0.2) !important;
  color: #dce7f6 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: 0.2s ease !important;
}
body.site-dark .footer-socials-minimal a:hover {
  background: linear-gradient(135deg,#1677ff,#8257e6) !important;
  border-color: transparent !important;
  color: #fff !important;
}
body.site-dark .footer-nav-minimal {
  display: flex !important;
  gap: 24px !important;
}
body.site-dark .footer-nav-minimal a {
  color: #dce7f6 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
body.site-dark .footer-nav-minimal a:hover {
  color: #38c7ff !important;
}
body.site-dark .footer-bottom-minimal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 60px !important;
  padding: 0 !important;
  color: #6d7d9c !important;
  font-size: 11px !important;
  border-top: none !important;
}

@media (max-width: 1050px) {
  body.site-dark .footer-main-minimal {
    flex-direction: column !important;
    justify-content: center !important;
  }
}
@media (max-width: 640px) {
  body.site-dark .footer-left-minimal {
    flex-direction: column !important;
    gap: 16px !important;
    text-align: center !important;
  }
  body.site-dark .footer-nav-minimal {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px !important;
  }
  body.site-dark .footer-bottom-minimal {
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    padding: 15px 0 !important;
  }
}



/* =========================================================
   AJUSTE FINAL · TIPOGRAFÍA FORMULARIO + FOOTER
   Solo aumenta ligeramente la legibilidad. No cambia layout.
   ========================================================= */

/* ---------- Formulario ---------- */
body.home-dark.site-dark.compact-home .contact-form-card label {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body.home-dark.site-dark.compact-home .contact-form-card input,
body.home-dark.site-dark.compact-home .contact-form-card select,
body.home-dark.site-dark.compact-home .contact-form-card textarea {
  font-size: 14.5px !important;
  line-height: 1.45 !important;
}

body.home-dark.site-dark.compact-home .contact-form-card input::placeholder,
body.home-dark.site-dark.compact-home .contact-form-card textarea::placeholder {
  font-size: 14px !important;
}

body.home-dark.site-dark.compact-home .quote-image-button {
  font-size: 13.5px !important;
}

body.home-dark.site-dark.compact-home .quote-image-help {
  font-size: 12.5px !important;
}

body.home-dark.site-dark.compact-home .form-submit {
  font-size: 14.5px !important;
  font-weight: 800 !important;
}

body.home-dark.site-dark.compact-home .form-note {
  font-size: 12.5px !important;
}

body.home-dark.site-dark.compact-home .contact-mini-card strong {
  font-size: 14px !important;
  line-height: 1.3 !important;
}

body.home-dark.site-dark.compact-home .contact-mini-card p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* ---------- Footer ---------- */
body.site-dark .site-footer .footer-logo strong {
  font-size: 20px !important;
}

body.site-dark .site-footer .footer-logo small {
  font-size: 9.5px !important;
}

body.site-dark .site-footer .footer-brand > p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

body.site-dark .site-footer .footer-column h4 {
  font-size: 15px !important;
  line-height: 1.3 !important;
}

body.site-dark .site-footer .footer-column a {
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

body.site-dark .site-footer .footer-cta-card h4 {
  font-size: 19px !important;
  line-height: 1.25 !important;
}

body.site-dark .site-footer .footer-cta-card p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

body.site-dark .site-footer .footer-quote-button {
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

body.site-dark .site-footer .footer-bottom {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}


/* =========================================================
   FONDO UNIFICADO Y POSICIÓN LLAVERO
   ========================================================= */

body.site-dark,
body.home-dark {
  background-color: #06101f !important;
  background-image:
    radial-gradient(circle at 18% 8%, rgba(37, 133, 255, .07), transparent 26%),
    radial-gradient(circle at 82% 13%, rgba(138, 92, 255, .09), transparent 30%) !important;
}

body.home-dark .hero,
body.home-dark .categories,
body.home-dark .process,
body.home-dark .featured,
body.home-dark .about,
body.home-dark .contact,
body.home-dark .home-contact-full,
body.site-dark .minimal-footer {
  background: transparent !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Reposicionamiento del Llavero */
@media (min-width: 1051px) {
  body.home-dark.site-dark.compact-home .keychain {
    left: auto !important;
    right: 170px !important;
    top: 20px !important;
  }
}

/* =========================================================
   LOGIN · REGISTRO · MI CUENTA
   Tema unificado con la HOME dark premium de Infinitum 3D
   ========================================================= */

/* ---------- LOGIN / REGISTRO ---------- */
body.site-dark .auth-main{
  min-height:calc(100vh - 68px) !important;
  padding:42px 0 56px !important;
  background:
    radial-gradient(circle at 15% 14%,rgba(37,133,255,.10),transparent 30%),
    radial-gradient(circle at 84% 16%,rgba(138,92,255,.13),transparent 31%),
    linear-gradient(180deg,#06101f 0%,#071426 48%,#050d19 100%) !important;
}

body.site-dark .auth-shell{
  width:min(1180px,94%) !important;
  grid-template-columns:1.04fr .96fr !important;
  overflow:hidden !important;
  border:1px solid rgba(82,153,255,.22) !important;
  border-radius:28px !important;
  background:#071425 !important;
  box-shadow:0 28px 70px rgba(0,0,0,.34) !important;
}

body.site-dark .auth-visual{
  min-height:570px !important;
  padding:46px !important;
  color:#fff !important;
  background:
    linear-gradient(90deg,
      rgba(7,20,55,.68) 0%,
      rgba(35,32,92,.46) 36%,
      rgba(37,74,154,.18) 68%,
      rgba(5,21,48,.08) 100%),
    radial-gradient(circle at 18% 18%,rgba(255,176,116,.20),transparent 34%),
    url("images/auth-banner-gato-impressora-3d.png") 64% center/cover no-repeat !important;
}

body.site-dark .auth-visual::before{
  background:
    radial-gradient(circle at 14% 16%,rgba(255,190,130,.16),transparent 30%),
    radial-gradient(circle at 32% 82%,rgba(150,87,220,.18),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(3,13,32,.10)) !important;
}

body.site-dark .auth-visual::after{
  background:linear-gradient(90deg,rgba(5,16,43,.34),rgba(10,34,83,.10) 56%,transparent 82%) !important;
}

body.site-dark .auth-brand .logo-icon{
  background:linear-gradient(135deg,#20dcff,#2585ff 50%,#ff4fd8) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}

body.site-dark .auth-brand-copy strong{
  color:#fff !important;
  font-size:23px !important;
}

body.site-dark .auth-brand-copy small{
  color:#a7c7ef !important;
  opacity:1 !important;
}

body.site-dark .auth-visual-copy{
  max-width:470px !important;
  transform:none !important;
}

body.site-dark .auth-visual-copy .eyebrow{
  color:#63dbff !important;
  font-size:11px !important;
  letter-spacing:2px !important;
}

body.site-dark .auth-visual-copy h1{
  margin:12px 0 15px !important;
  color:#fff !important;
  font-size:clamp(38px,4.5vw,56px) !important;
  line-height:1.02 !important;
  letter-spacing:-1.8px !important;
  text-shadow:0 4px 22px rgba(0,0,0,.32) !important;
}

body.site-dark .auth-visual-copy p{
  max-width:430px !important;
  color:#dce8fb !important;
  font-size:16px !important;
  line-height:1.65 !important;
}

body.site-dark .auth-panel{
  padding:48px !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(37,133,255,.08),transparent 35%),
    linear-gradient(145deg,#0b1c33,#071425) !important;
}

body.site-dark .auth-panel-header{
  margin-bottom:26px !important;
}

body.site-dark .auth-panel-header .section-tag{
  color:#5ccaff !important;
}

body.site-dark .auth-panel-header h2{
  color:#fff !important;
  font-size:35px !important;
}

body.site-dark .auth-panel-header p{
  color:#9fb0c9 !important;
  font-size:14px !important;
}

body.site-dark .auth-form{
  gap:16px !important;
}

body.site-dark .auth-field{
  gap:7px !important;
}

body.site-dark .auth-field label{
  color:#e9f1ff !important;
  font-size:13px !important;
}

body.site-dark .auth-field input,
body.site-dark .auth-field select{
  min-height:50px !important;
  border:1px solid rgba(117,166,255,.18) !important;
  border-radius:13px !important;
  background:rgba(4,14,28,.76) !important;
  color:#f7f9ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02) !important;
}

body.site-dark .auth-field input::placeholder{
  color:#71819d !important;
}

body.site-dark .auth-field input:focus,
body.site-dark .auth-field select:focus{
  border-color:rgba(32,220,255,.64) !important;
  background:#07182d !important;
  box-shadow:0 0 0 4px rgba(32,220,255,.07) !important;
}

body.site-dark .auth-password-toggle{
  color:#8da2c2 !important;
}

body.site-dark .auth-password-toggle:hover{
  color:#5bd6ff !important;
  background:rgba(37,133,255,.10) !important;
}

body.site-dark .auth-check{
  color:#95a6c0 !important;
}

body.site-dark .auth-link,
body.site-dark .auth-alt a{
  color:#5ed3ff !important;
}

body.site-dark .auth-submit{
  min-height:52px !important;
  border-radius:999px !important;
  color:#fff !important;
  background:linear-gradient(100deg,#168fff,#16d5ff 48%,#7853ff 100%) !important;
  box-shadow:0 12px 28px rgba(22,148,255,.20),0 0 22px rgba(32,220,255,.07) !important;
}

body.site-dark .auth-submit:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 16px 34px rgba(22,148,255,.27) !important;
}

body.site-dark .auth-alt{
  margin-top:20px !important;
  padding-top:20px !important;
  border-color:rgba(117,166,255,.12) !important;
  color:#91a2bb !important;
}

body.site-dark .auth-alt a{
  border:1px solid rgba(32,220,255,.18) !important;
  background:rgba(37,133,255,.10) !important;
}

body.site-dark .auth-alt a:hover{
  background:rgba(37,133,255,.17) !important;
}

body.site-dark .auth-demo-note{
  color:#7888a3 !important;
}

body.site-dark .auth-message.error{
  color:#ff9cad !important;
  background:rgba(180,52,75,.14) !important;
  border:1px solid rgba(255,106,132,.18) !important;
}

body.site-dark .auth-message.success{
  color:#74e8bc !important;
  background:rgba(36,160,111,.13) !important;
  border:1px solid rgba(84,229,174,.16) !important;
}


/* ---------- MI CUENTA ---------- */
body.site-dark .account-dashboard-main{
  padding:38px 0 56px !important;
  background:
    radial-gradient(circle at 12% 7%,rgba(37,133,255,.09),transparent 25%),
    radial-gradient(circle at 88% 10%,rgba(138,92,255,.11),transparent 28%),
    transparent !important;
}

body.site-dark .account-dashboard-shell{
  width:min(1440px,94%) !important;
  gap:16px !important;
}

body.site-dark .account-dashboard-header,
body.site-dark .account-dashboard-tabs,
body.site-dark .account-dashboard-stat,
body.site-dark .account-orders-section,
body.site-dark .account-favorites-section,
body.site-dark .account-addresses-section,
body.site-dark .account-security{
  border-color:rgba(117,166,255,.16) !important;
  background:linear-gradient(145deg,rgba(14,33,60,.96),rgba(8,21,40,.98)) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.18) !important;
}

body.site-dark .account-dashboard-header{
  padding:22px 24px !important;
  border-radius:22px !important;
}

body.site-dark .account-dashboard-avatar{
  background:linear-gradient(135deg,#168fff,#16d5ff 50%,#7853ff) !important;
  box-shadow:0 10px 28px rgba(22,148,255,.20) !important;
}

body.site-dark .account-dashboard-user h1,
body.site-dark .account-section-heading h2,
body.site-dark .account-security h2,
body.site-dark .account-security h3{
  color:#f8faff !important;
}

body.site-dark .account-dashboard-user p,
body.site-dark .account-dashboard-email,
body.site-dark .account-section-heading p{
  color:#96a8c3 !important;
}

body.site-dark .account-dashboard-logout{
  border-color:rgba(255,112,139,.22) !important;
  background:rgba(133,38,58,.12) !important;
  color:#ff91a6 !important;
}

body.site-dark .account-dashboard-logout:hover{
  border-color:rgba(255,112,139,.42) !important;
  background:rgba(158,45,68,.18) !important;
}

body.site-dark .account-dashboard-tabs{
  padding:7px !important;
  border-radius:18px !important;
}

body.site-dark .account-tab-button{
  color:#aab8cd !important;
}

body.site-dark .account-tab-button:hover{
  color:#eaf5ff !important;
  background:rgba(37,133,255,.10) !important;
}

body.site-dark .account-tab-button.active{
  color:#fff !important;
  background:linear-gradient(135deg,rgba(37,133,255,.24),rgba(138,92,255,.24)) !important;
  box-shadow:inset 0 0 0 1px rgba(94,177,255,.22) !important;
}

body.site-dark .account-dashboard-stats{
  gap:12px !important;
}

body.site-dark .account-dashboard-stat{
  color:#f7f9ff !important;
}

body.site-dark .account-dashboard-stat:hover{
  border-color:rgba(32,220,255,.34) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.24) !important;
}

body.site-dark .account-dashboard-stat strong{
  color:#fff !important;
}

body.site-dark .account-dashboard-stat span span{
  color:#91a2bc !important;
}

body.site-dark .account-dashboard-stat-icon.stat-blue{
  color:#72cfff !important;
  background:rgba(37,133,255,.14) !important;
}
body.site-dark .account-dashboard-stat-icon.stat-green{
  color:#70e6b9 !important;
  background:rgba(67,223,180,.11) !important;
}
body.site-dark .account-dashboard-stat-icon.stat-gold{
  color:#ffd576 !important;
  background:rgba(255,190,63,.11) !important;
}
body.site-dark .account-dashboard-stat-icon.stat-pink{
  color:#ff89bc !important;
  background:rgba(255,79,216,.10) !important;
}

body.site-dark .account-orders-section,
body.site-dark .account-favorites-section,
body.site-dark .account-addresses-section,
body.site-dark .account-security{
  border-radius:22px !important;
}

body.site-dark .account-order-search-wrap,
body.site-dark .account-address-field input,
body.site-dark .account-address-field select,
body.site-dark .account-password-field{
  border-color:rgba(117,166,255,.17) !important;
  background:rgba(4,14,28,.72) !important;
  color:#edf4ff !important;
}

body.site-dark .account-order-search-wrap input,
body.site-dark .account-address-field input,
body.site-dark .account-address-field select,
body.site-dark .account-password-field input{
  color:#eef4ff !important;
}

body.site-dark .account-order-search-wrap input::placeholder,
body.site-dark .account-address-field input::placeholder,
body.site-dark .account-password-field input::placeholder{
  color:#71819b !important;
}

body.site-dark .account-order-search-wrap:focus-within,
body.site-dark .account-address-field input:focus,
body.site-dark .account-address-field select:focus,
body.site-dark .account-password-field:focus-within{
  border-color:rgba(32,220,255,.58) !important;
  box-shadow:0 0 0 3px rgba(32,220,255,.06) !important;
}

body.site-dark .account-order-row,
body.site-dark .account-order-detail-panel,
body.site-dark .account-favorite-item,
body.site-dark .account-address-card,
body.site-dark .account-address-form-wrap,
body.site-dark .account-security-card,
body.site-dark .account-security-panel{
  border-color:rgba(117,166,255,.14) !important;
  background:linear-gradient(145deg,rgba(11,29,53,.96),rgba(6,18,35,.98)) !important;
  color:#e9f1ff !important;
  box-shadow:none !important;
}

body.site-dark .account-order-row:hover{
  border-color:rgba(32,220,255,.30) !important;
  background:linear-gradient(145deg,rgba(15,38,69,.98),rgba(8,24,45,.99)) !important;
}

body.site-dark .account-order-row.active{
  border-color:rgba(80,166,255,.48) !important;
  background:linear-gradient(135deg,rgba(24,71,130,.46),rgba(49,38,111,.38)) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
}

body.site-dark .account-order-row-thumb,
body.site-dark .account-favorite-image{
  border-color:rgba(117,166,255,.14) !important;
  background:#0b1f39 !important;
}

body.site-dark .account-order-row-placeholder{
  color:#8fcaff !important;
  background:linear-gradient(135deg,rgba(37,133,255,.13),rgba(138,92,255,.13)) !important;
}

body.site-dark .account-order-row-title strong,
body.site-dark .account-order-detail-placeholder strong,
body.site-dark .account-order-detail-head h3,
body.site-dark .account-order-detail-address strong,
body.site-dark .account-favorite-content h3,
body.site-dark .account-address-name-wrap strong{
  color:#f4f8ff !important;
}

body.site-dark .account-order-row-title small,
body.site-dark .account-order-row-total small,
body.site-dark .account-order-detail-head p,
body.site-dark .account-order-detail-address,
body.site-dark .account-favorite-content p,
body.site-dark .account-address-lines p{
  color:#8fa1bc !important;
}

body.site-dark .account-order-row-total strong,
body.site-dark .account-order-detail-head-total > strong,
body.site-dark .account-order-detail-summary strong,
body.site-dark .account-favorite-content strong{
  color:#63d2ff !important;
}

body.site-dark .account-order-detail-placeholder{
  color:#8496b2 !important;
}

body.site-dark .account-order-detail-placeholder > span{
  color:#67d5ff !important;
  background:rgba(37,133,255,.13) !important;
}

body.site-dark .account-order-detail-head,
body.site-dark .account-order-detail-block{
  border-color:rgba(117,166,255,.11) !important;
}

body.site-dark .account-order-detail-step::before{
  background:rgba(117,166,255,.16) !important;
}

body.site-dark .account-order-detail-step > span{
  border-color:rgba(117,166,255,.24) !important;
  background:#0b1f39 !important;
  color:#91a3bd !important;
}

body.site-dark .account-order-detail-step.active > span{
  border-color:#2585ff !important;
  background:linear-gradient(135deg,#2585ff,#7853ff) !important;
  color:#fff !important;
}

body.site-dark .account-order-detail-step.active::before{
  background:linear-gradient(90deg,#2585ff,#7853ff) !important;
}

body.site-dark .account-order-detail-step small,
body.site-dark .account-order-detail-label,
body.site-dark .account-order-detail-summary span{
  color:#8e9fba !important;
}

body.site-dark .account-order-detail-step.active small{
  color:#62d4ff !important;
}

body.site-dark .account-order-detail-summary,
body.site-dark .account-address-postal-helper,
body.site-dark .account-security-email,
body.site-dark .account-security-list > div{
  background:rgba(37,133,255,.08) !important;
  border-color:rgba(117,166,255,.12) !important;
}

body.site-dark .account-address-field span,
body.site-dark .account-security-form label,
body.site-dark .account-security-list span{
  color:#9aacC5 !important;
}

body.site-dark .account-address-close,
body.site-dark .account-address-cancel,
body.site-dark .account-security-secondary,
body.site-dark .account-password-toggle{
  border-color:rgba(117,166,255,.16) !important;
  background:rgba(10,28,51,.92) !important;
  color:#c9d8ee !important;
}

body.site-dark .account-address-add,
body.site-dark .account-address-save,
body.site-dark .account-security-primary{
  border:0 !important;
  color:#fff !important;
  background:linear-gradient(100deg,#168fff,#16d5ff 48%,#7853ff 100%) !important;
  box-shadow:0 10px 24px rgba(22,148,255,.17) !important;
}

body.site-dark .account-address-delete,
body.site-dark .account-security-danger{
  border-color:rgba(255,112,139,.20) !important;
  background:rgba(133,38,58,.12) !important;
  color:#ff91a6 !important;
}

body.site-dark .account-security-head p,
body.site-dark .account-security-copy p,
body.site-dark .account-security-list span{
  color:#8fa1bc !important;
}

body.site-dark .account-security-status{
  color:#74e8bc !important;
  background:rgba(67,223,180,.10) !important;
  border:1px solid rgba(67,223,180,.16) !important;
}

body.site-dark .account-security-icon{
  color:#7edaff !important;
  background:linear-gradient(135deg,rgba(37,133,255,.14),rgba(138,92,255,.14)) !important;
}

body.site-dark .account-security-email,
body.site-dark .account-security-list strong{
  color:#dbe8f9 !important;
}

body.site-dark .account-order-no-results,
body.site-dark .account-favorites-empty,
body.site-dark .account-addresses-empty{
  border-color:rgba(117,166,255,.16) !important;
  color:#8799b4 !important;
}

body.site-dark .account-order-no-results strong,
body.site-dark .account-favorites-empty h3,
body.site-dark .account-addresses-empty h3{
  color:#edf4ff !important;
}


/* ---------- RESPONSIVE AUTH / ACCOUNT ---------- */
@media (max-width:980px){
  body.site-dark .auth-shell{
    width:min(92%,760px) !important;
    grid-template-columns:1fr !important;
  }

  body.site-dark .auth-visual{
    min-height:300px !important;
    padding:34px !important;
  }

  body.site-dark .auth-visual-copy{
    max-width:560px !important;
  }

  body.site-dark .auth-panel{
    padding:36px !important;
  }

  body.site-dark .account-dashboard-shell{
    width:min(92%,760px) !important;
  }
}

@media (max-width:640px){
  body.site-dark .auth-main{
    padding:24px 0 36px !important;
  }

  body.site-dark .auth-shell{
    border-radius:22px !important;
  }

  body.site-dark .auth-visual{
    min-height:250px !important;
    padding:26px !important;
  }

  body.site-dark .auth-visual-copy h1{
    font-size:36px !important;
  }

  body.site-dark .auth-panel{
    padding:26px 22px !important;
  }

  body.site-dark .auth-row{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  body.site-dark .account-dashboard-main{
    padding:24px 0 38px !important;
  }

  body.site-dark .account-dashboard-shell{
    width:min(92%,640px) !important;
  }
}

/* =========================================================
   LOGIN + REGISTRO · ELIMINA EL CUADRO/VELO DETRÁS DEL TEXTO
   ========================================================= */
body.site-dark .auth-visual-copy::before{
  content:none !important;
  display:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* =========================================================
   MI CUENTA · TIPOGRAFÍA MÁS GRANDE
   Solo mejora legibilidad; no cambia layout ni proporciones.
   ========================================================= */

body.site-dark .account-dashboard-user h1 {
  font-size: 34px !important;
  line-height: 1.08 !important;
}

body.site-dark .account-dashboard-user p {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.site-dark .account-dashboard-email {
  font-size: 12.5px !important;
}

body.site-dark .account-tab-button {
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

body.site-dark .account-dashboard-stat strong {
  font-size: 23px !important;
  line-height: 1.1 !important;
}

body.site-dark .account-dashboard-stat span span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.site-dark .account-section-heading .section-tag {
  font-size: 11.5px !important;
}

body.site-dark .account-section-heading h2 {
  font-size: 28px !important;
  line-height: 1.12 !important;
}

body.site-dark .account-section-heading p {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.site-dark .account-order-search-wrap input {
  font-size: 13.5px !important;
}

body.site-dark .account-order-row-title strong {
  font-size: 13.5px !important;
  line-height: 1.3 !important;
}

body.site-dark .account-order-row-title small,
body.site-dark .account-order-row-total small {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

body.site-dark .account-order-row-total strong {
  font-size: 15px !important;
}

body.site-dark .account-order-detail-head h3 {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

body.site-dark .account-order-detail-head p,
body.site-dark .account-order-detail-address,
body.site-dark .account-order-detail-summary span,
body.site-dark .account-order-detail-step small,
body.site-dark .account-order-detail-label {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

body.site-dark .account-order-detail-head-total > strong,
body.site-dark .account-order-detail-summary strong {
  font-size: 16px !important;
}

body.site-dark .account-order-detail-address strong {
  font-size: 13px !important;
}

body.site-dark .account-favorite-content h3,
body.site-dark .account-address-name-wrap strong,
body.site-dark .account-security h2,
body.site-dark .account-security h3 {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

body.site-dark .account-favorite-content p,
body.site-dark .account-address-lines p,
body.site-dark .account-security-copy p,
body.site-dark .account-security-list span,
body.site-dark .account-address-field span,
body.site-dark .account-security-form label {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

body.site-dark .account-address-field input,
body.site-dark .account-address-field select,
body.site-dark .account-password-field input {
  font-size: 13.5px !important;
}

body.site-dark .account-address-add,
body.site-dark .account-address-save,
body.site-dark .account-address-cancel,
body.site-dark .account-address-delete,
body.site-dark .account-security-primary,
body.site-dark .account-security-secondary,
body.site-dark .account-security-danger {
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.site-dark .account-order-no-results,
body.site-dark .account-favorites-empty,
body.site-dark .account-addresses-empty {
  font-size: 13px !important;
}

body.site-dark .account-order-no-results strong,
body.site-dark .account-favorites-empty h3,
body.site-dark .account-addresses-empty h3 {
  font-size: 18px !important;
}

/* =========================================================
   CONTACTO · IMAGEN PRINCIPAL MÁS PROTAGONISTA
   Hace la impresora más grande dentro del visual sin tocar
   el resto de la estructura del formulario.
   ========================================================= */

body.home-dark.site-dark.compact-home .contact-visual {
  min-height: 260px !important;
  height: 260px !important;
}

body.home-dark.site-dark.compact-home .contact-visual img {
  width: 245px !important;
  max-width: 70% !important;
  max-height: 220px !important;
  object-fit: contain !important;
  transform: scale(1.08) !important;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.26)) !important;
}

body.home-dark.site-dark.compact-home .contact-orbit {
  width: 300px !important;
  height: 300px !important;
}

@media (max-width: 980px) {
  body.home-dark.site-dark.compact-home .contact-visual {
    min-height: 240px !important;
    height: auto !important;
  }

  body.home-dark.site-dark.compact-home .contact-visual img {
    width: 215px !important;
    max-height: 200px !important;
    transform: scale(1.05) !important;
  }

  body.home-dark.site-dark.compact-home .contact-orbit {
    width: 265px !important;
    height: 265px !important;
  }
}

@media (max-width: 680px) {
  body.home-dark.site-dark.compact-home .contact-visual img {
    width: 185px !important;
    max-height: 180px !important;
    transform: none !important;
  }

  body.home-dark.site-dark.compact-home .contact-orbit {
    width: 220px !important;
    height: 220px !important;
  }
}




body.site-dark .product-detail-back a,
body.site-dark .product-related-head>a{color:#62cfff}
body.site-dark .product-specs-section,
body.site-dark .product-category-card{
  border:1px solid var(--neon-line);
  background:linear-gradient(145deg,rgba(14,33,60,.95),rgba(8,20,38,.96));
  box-shadow:var(--neon-shadow);
}
body.site-dark .product-detail-title-row .product-detail-favorite{
  color:#ecf5ff;
  border-color:rgba(255,255,255,.15);
  background:rgba(5,14,27,.70);
}
body.site-dark .product-specs-head h2,
body.site-dark .product-spec-value,
body.site-dark .product-category-card h3{color:var(--neon-text)}
body.site-dark .product-specs-head p,
body.site-dark .product-category-card p{color:#94a4bd}
body.site-dark .product-spec-card{
  border:1px solid rgba(117,166,255,.14);
  background:rgba(10,26,49,.70);
}
body.site-dark .product-spec-label,
body.site-dark .category-current-badge,
body.site-dark .product-category-card-action{color:#62cfff}
body.site-dark .category-current-badge{
  background:rgba(18,114,255,.14);
  border:1px solid rgba(98,207,255,.22);
}
body.site-dark .product-category-card-visual{
  background:
    radial-gradient(circle at 50% 45%,rgba(66,118,255,.22),transparent 54%),
    linear-gradient(145deg,#102849,#091b31);
}
body.site-dark .product-category-card.is-current{
  border-color:rgba(32,220,255,.40);
  box-shadow:0 0 0 1px rgba(32,220,255,.12),0 16px 32px rgba(0,0,0,.20);
}


/* V38 — controlos do carrusel de categorias */
body.site-dark .product-category-carousel-button{
  color:#dff7ff;
  border-color:rgba(117,166,255,.24);
  background:linear-gradient(145deg,rgba(16,42,76,.96),rgba(10,25,47,.96));
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
body.site-dark .product-category-carousel-button:hover:not(:disabled){
  color:#fff;
  border-color:rgba(32,220,255,.55);
  box-shadow:0 0 0 1px rgba(32,220,255,.10),0 10px 26px rgba(0,0,0,.22);
}


/* =========================================================
   V39 · PAINEL "DESCOBRE OUTRAS CATEGORIAS" NA PÁGINA PRODUTO
   Reutiliza exatamente o visual aprovado das páginas de categoria,
   mantendo-o em carrusel horizontal para não criar uma segunda linha.
   ========================================================= */
body.site-dark .product-category-section.category-more-section{
  width:100%;
  padding:8px 0 22px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.site-dark .product-category-panel{
  width:100%;
}
body.site-dark .product-category-section .category-more-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:28px !important;
  margin-bottom:22px !important;
}
body.site-dark .product-category-section .category-more-head h2{
  margin:6px 0 0 !important;
  color:#f8fbff !important;
  font-size:clamp(28px,2.7vw,38px) !important;
  line-height:1.08 !important;
  letter-spacing:-.8px !important;
}
body.site-dark .product-category-head-side{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:16px;
  min-width:0;
}
body.site-dark .product-category-head-side > p{
  max-width:430px;
  margin:0;
  color:#9fb4d2 !important;
  font-size:14px;
  line-height:1.55;
  text-align:right;
}
body.site-dark .product-category-carousel{
  width:100%;
  overflow:hidden;
}
body.site-dark .product-category-grid.category-more-grid{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-template-columns:none !important;
  grid-auto-columns:calc((100% - 80px)/6) !important;
  gap:16px !important;
  align-items:stretch !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 2px 10px !important;
}
body.site-dark .product-category-grid.category-more-grid::-webkit-scrollbar{display:none;}
body.site-dark .product-category-grid.category-more-grid .category-more-card{
  scroll-snap-align:start;
  width:100% !important;
  min-width:0 !important;
  height:258px !important;
  min-height:258px !important;
  max-height:none !important;
}
body.site-dark .product-category-grid.category-more-grid .category-more-image{
  height:146px !important;
  min-height:146px !important;
  max-height:146px !important;
}
body.site-dark .product-category-grid.category-more-grid .category-more-content{
  min-height:112px !important;
  padding:14px !important;
}
body.site-dark .product-category-grid.category-more-grid .category-more-content strong{
  min-height:3.75em !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.24 !important;
}
body.site-dark .product-category-grid.category-more-grid .category-more-content > span{
  margin-top:auto !important;
  font-size:12.5px !important;
}
body.site-dark .product-category-grid.category-more-grid .category-more-content b{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
}
body.site-dark .product-category-carousel-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
body.site-dark .product-category-carousel-button{
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.18s ease;
}
body.site-dark .product-category-carousel-button:disabled{
  opacity:.28;
  cursor:default;
}
@media(max-width:1180px){
  body.site-dark .product-category-grid.category-more-grid{
    grid-auto-columns:calc((100% - 48px)/4) !important;
  }
}
@media(max-width:900px){
  body.site-dark .product-category-section .category-more-head{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  body.site-dark .product-category-head-side{
    width:100%;
    align-items:center;
    justify-content:space-between;
  }
  body.site-dark .product-category-head-side > p{
    max-width:560px;
    text-align:left;
  }
  body.site-dark .product-category-grid.category-more-grid{
    grid-auto-columns:calc((100% - 32px)/3) !important;
  }
}
@media(max-width:680px){
  body.site-dark .product-category-grid.category-more-grid{
    grid-auto-columns:calc((100% - 14px)/2) !important;
    gap:14px !important;}
  body.site-dark .product-category-grid.category-more-grid .category-more-card{
    height:256px !important;
    min-height:256px !important;
  }
  body.site-dark .product-category-grid.category-more-grid .category-more-image{
    height:148px !important;
    min-height:148px !important;
    max-height:148px !important;
  }
}
@media(max-width:430px){
  body.site-dark .product-category-head-side{
    align-items:flex-end;
    gap:12px;
  }
  body.site-dark .product-category-head-side > p{
    font-size:13px;
  }
  body.site-dark .product-category-grid.category-more-grid{
    grid-auto-columns:84% !important;
  }
}
/* =========================================================
   HERO · FÉNIX (fundido ultra suave)
   images/fenix-hero.webp es una imagen con MUCHO margen transparente
   alrededor de la escena y un degradado de transparencia largo, así
   que se disuelve poco a poco en el fondo de la página, sin bordes.
   La imagen se coloca detrás de todo (z-index:-1), por eso el hero
   necesita overflow visible: el degradado puede salirse de su caja.
   ========================================================= */
body.home-dark .hero {
  overflow: visible !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

body.home-dark .hero-content { position: relative; z-index: 2; }

/* Caja que ocupa la escena (proporción fija) */
body.home-dark.site-dark.compact-home .hero-art.hero-art-elegoo {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 0.905 !important;
  margin: 0 !important;
  transform: none !important;
  overflow: visible !important;
}

/* La imagen (con su margen transparente) se centra sobre esa caja */
body.home-dark.site-dark.compact-home .hero-art-elegoo .hero-product-banner {
  position: absolute !important;
  z-index: -1 !important;
  width: 209% !important;
  right: -35.7% !important;
  top: -35.3% !important;
  left: auto !important;
  bottom: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: none;
}

body.home-dark.site-dark.compact-home .hero-art-elegoo .hero-product-banner img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  background: none !important;
  border-radius: 0 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Portátil pequeno / tablet horizontal (dos columnas todavía) */
@media (min-width: 981px) and (max-width: 1180px) {
  body.home-dark.site-dark.compact-home .hero-art.hero-art-elegoo {
    aspect-ratio: 1 / 0.780 !important;
  }
  body.home-dark.site-dark.compact-home .hero-art-elegoo .hero-product-banner {
    width: 180.3% !important;
    right: -29.5% !important;
  }
}

/* Una sola columna (tu web pasa a 1 columna en 980px) */
@media (max-width: 980px) {
  body.home-dark.site-dark.compact-home .hero-art.hero-art-elegoo {
    aspect-ratio: 1 / 0.730 !important;
    margin-top: 10px !important;
  }
  body.home-dark.site-dark.compact-home .hero-art-elegoo .hero-product-banner {
    width: 168.8% !important;
    right: -30.1% !important;
  }
}
/* =========================================================
   ALINEACIÓN DEL HERO CON EL GRID DE CATEGORÍAS (1480px)
   ========================================================= */
@media (min-width: 1181px) {
  /* Expande el contenedor del Hero al mismo ancho que las tarjetas inferiores */
  body.home-dark.site-dark.compact-home .hero .container.hero-grid {
    width: min(1480px, 96vw) !important;
    max-width: none !important;
    grid-template-columns: 1fr 1.1fr !important; /* Distribuye el espacio entre texto e imagen */
    gap: 40px !important;
  }
  
  /* Reajusta la proporción de la imagen para el nuevo contenedor gigante */
  body.site-dark .hero-art-elegoo .hero-product-banner { 
    width: 125% !important; 
    right: 0 !important; 
  }
}

@media (min-width: 1051px) and (max-width: 1180px) {
  body.home-dark.site-dark.compact-home .hero .container.hero-grid {
    width: 94vw !important;
    max-width: none !important;
  }
}

/* =========================================================
   ALINEACIÓN DEL ENCABEZADO DE CATEGORÍAS
   ========================================================= */
@media (min-width: 1181px) {
  body.home-dark.site-dark.compact-home .categories-intro {
    width: min(1480px, 96vw) !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
  }
}

@media (min-width: 1051px) and (max-width: 1180px) {
  body.home-dark.site-dark.compact-home .categories-intro {
    width: 94vw !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
  }
}

@media (min-width: 1051px) {
  body.home-dark.site-dark.compact-home .categories-copy {
    display: flex !important;
    flex-direction: column !important; 
    align-items: flex-end !important;  
    text-align: right !important;      
    gap: 16px !important;              
    max-width: 480px !important;       
  }
  body.home-dark.site-dark.compact-home .categories-copy p {
    margin: 0 !important;
    font-size: 15px !important; 
  }
}

/* =========================================================
   CATÁLOGO DE PRODUCTOS - ESTÉTICA PREMIUM Y EXPANSIÓN (1480px)
   ========================================================= */
@media (min-width: 1181px) {
  body.site-dark .products-page-main .container {
    width: min(1480px, 96vw) !important;
    max-width: none !important;
  }
  body.site-dark .products-page-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 26px !important;
  }
}

@media (min-width: 1051px) and (max-width: 1180px) {
  body.site-dark .products-page-main .container {
    width: 94vw !important;
    max-width: none !important;
  }
  body.site-dark .products-page-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

body.site-dark .products-browser {
  border: 1px solid rgba(82, 153, 255, 0.2) !important;
  background: linear-gradient(145deg, rgba(12, 31, 58, 0.8), rgba(5, 18, 36, 0.9)) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: 24px !important;
  margin-bottom: 35px !important;
  padding: 24px 30px !important;
}

body.site-dark .products-category-chip {
  background: rgba(10, 24, 45, 0.8) !important;
  border: 1px solid rgba(117, 166, 255, 0.15) !important;
  color: #9eabc3 !important;
  border-radius: 12px !important;
  transition: all 0.3s ease !important;
}

body.site-dark .products-category-chip:hover,
body.site-dark .products-category-chip.is-active {
  border-color: rgba(32, 220, 255, 0.6) !important;
  background: rgba(32, 220, 255, 0.1) !important;
  color: #fff !important;
  box-shadow: 0 0 15px rgba(32, 220, 255, 0.2) !important;
}

body.site-dark .catalog-product-card {
  border-radius: 22px !important;
  border: 1px solid rgba(82, 153, 255, 0.15) !important;
  background: linear-gradient(160deg, rgba(14, 33, 60, 0.95), rgba(8, 20, 38, 0.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 30px rgba(0,0,0,0.2) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

body.site-dark .catalog-product-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(32, 220, 255, 0.4) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.3), 0 0 25px rgba(32, 220, 255, 0.15) !important;
}

body.site-dark .catalog-product-visual {
  height: 230px !important; 
  padding: 25px !important;
  background: radial-gradient(circle at 50% 50%, rgba(65, 112, 255, 0.18), transparent 70%), #081528 !important;
  border-bottom: 1px solid rgba(82, 153, 255, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.site-dark .catalog-product-visual img {
  max-height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4)) !important;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; 
}

body.site-dark .catalog-product-card:hover .catalog-product-visual img {
  transform: scale(1.12) !important;
}

body.site-dark .add-cart-button {
  margin-top: 15px !important;
  background: rgba(22, 143, 255, 0.08) !important; 
  border: 1px solid rgba(32, 220, 255, 0.3) !important; 
  color: #62cfff !important;
  border-radius: 12px !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  min-height: 44px !important;
  font-weight: 700 !important;
}

body.site-dark .catalog-product-card:hover .add-cart-button,
body.site-dark .add-cart-button:hover {
  background: linear-gradient(100deg, #168fff, #16d5ff 48%, #7853ff 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(22, 148, 255, 0.35) !important;
}

body.site-dark .catalog-product-card .featured-product-content {
  padding: 20px 22px 24px !important;
}

body.site-dark .catalog-product-card .featured-product-top {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
  margin-bottom: 12px !important;
}

body.site-dark .catalog-product-card .product-category {
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
}

body.site-dark .catalog-product-card .featured-product-top strong {
  font-size: 18px !important;
  color: #62cfff !important; 
  line-height: 1 !important;
}

body.site-dark .catalog-product-card h3 {
  font-size: 19px !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}

body.site-dark .catalog-product-card > p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* =========================================================
   BOTONES DE PAGINACIÓN (SIGUIENTE PÁGINA)
   ========================================================= */
.pagination-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 60px;
  margin-bottom: 20px;
  width: 100%;
}

.pagination-btn {
  background: rgba(10, 24, 45, 0.8);
  border: 1px solid rgba(117, 166, 255, 0.15);
  color: #9eabc3;
  padding: 12px 24px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pagination-btn:hover:not(:disabled) {
  border-color: rgba(32, 220, 255, 0.6);
  background: rgba(32, 220, 255, 0.1);
  color: #fff;
  box-shadow: 0 0 18px rgba(32, 220, 255, 0.15);
  transform: translateY(-2px);
}

.pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.pagination-current {
  color: #fff;
  font-weight: 900;
  font-size: 15px;
  background: linear-gradient(135deg, rgba(22, 143, 255, 0.2), rgba(120, 83, 255, 0.2));
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(32, 220, 255, 0.4);
  box-shadow: 0 0 15px rgba(22, 143, 255, 0.15);
}
/* =========================================================
   FIGURAS 3D: TAMAÑO FORZADO, SOMBRAS Y EFECTO HOVER
   ========================================================= */

/* 1. Damos espaço na parte superior do cartão para a figura não cortar */
body.home-dark.site-dark.compact-home .process-card-premium {
  overflow: visible !important;
  padding-top: 35px !important; 
}

body.home-dark.site-dark.compact-home .process-figure {
  width: 100% !important;
  height: 130px !important; /* Altura base controlada */
  margin: 0 auto 25px !important; 
  overflow: visible !important;
}

/* 2. Forçamos o tamanho visual com 'scale' para ignorar as barreiras do cartão */
body.home-dark.site-dark.compact-home .process-figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  
  /* Zoom de 140% e sobe ligeiramente */
  transform: scale(1.4) translateY(-12px) !important; 
  
  /* Sombra 3D realista */
  filter: drop-shadow(0 15px 20px rgba(0, 0, 0, 0.4)) 
          drop-shadow(0 5px 8px rgba(0, 0, 0, 0.3)) !important; 
          
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.4s ease !important;
}

/* 3. EFEITO PREMIUM: A figura aproxima-se ao passar o rato pelo cartão */
body.home-dark.site-dark.compact-home .process-card-premium:hover .process-figure img {
  transform: scale(1.5) translateY(-18px) !important;
  filter: drop-shadow(0 25px 30px rgba(0, 0, 0, 0.5)) 
          drop-shadow(0 10px 15px rgba(0, 0, 0, 0.3)) !important; 
}

/* Ajuste para telemóveis */
@media (max-width: 980px) {
  body.home-dark.site-dark.compact-home .process-figure img {
    transform: scale(1.2) translateY(-5px) !important; 
  }
}
/* Espaciamento para o novo botão de Início */
body.home-dark.site-dark .btn-inicio {
    margin-right: 8px;
    font-weight: 500;
}

/* Efeito hover igual aos outros botões */
body.home-dark.site-dark .btn-inicio:hover {
    background-color: #1a233a;
    border-color: #2a85ff;
}

/* =========================================================
   NOVOS ESTILOS SOBRE NÓS
   ========================================================= */

/* OPCIÓN 1: TÉCNICA Y LIMPIA */
.about-opt1-grid {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 60px;
  align-items: center;
}

.about-opt1-content h2 {
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.1;
  margin: 12px 0 16px;
  color: #f7f9ff;
}

.about-opt1-content p {
  color: #9eabc3;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 14px;
}

.opt1-values {
  margin: 32px 0;
  display: grid;
  gap: 16px;
}

.about-opt1-visual {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(14, 33, 60, 0.4), rgba(8, 20, 38, 0.8));
  border: 1px solid rgba(82, 153, 255, 0.15);
}

.opt1-glow {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(32, 220, 255, 0.15), transparent 70%);
  filter: blur(20px);
}

.about-opt1-visual img {
  position: relative;
  z-index: 2;
  width: 280px;
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.4));
}

.opt1-floating-stats {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.opt1-floating-stats div {
  position: absolute;
  background: rgba(10, 24, 45, 0.9);
  border: 1px solid rgba(117, 166, 255, 0.2);
  padding: 12px 18px;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
  backdrop-filter: blur(8px);
}

.opt1-floating-stats div:nth-child(1) { top: 10%; left: -5%; }
.opt1-floating-stats div:nth-child(2) { bottom: 15%; right: -5%; }

.opt1-floating-stats strong { display: block; color: #20dcff; font-size: 20px; line-height: 1; }
.opt1-floating-stats span { color: #8fa1bc; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }

/* OPCIÓN 2: CREATIVA CENTRADA / PORTFOLIO SPLIT */
.about-opt2-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.about-opt2-text h2 {
  font-size: clamp(36px, 4.5vw, 52px);
  line-height: 1.1;
  margin: 12px 0 20px;
  color: #fff;
  letter-spacing: -1px;
}

.about-opt2-text p {
  color: #aab8ce;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.about-opt2-text .about-intro {
  font-size: 19px;
  color: #d3def0;
  font-weight: 700;
}

.opt2-features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 35px 0;
}

.opt2-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  background: rgba(14, 33, 60, 0.5);
  border: 1px solid rgba(82, 153, 255, 0.15);
  border-radius: 16px;
}

/* 2. Darle más presencia a los iconos de las características */
body.home-dark.site-dark.about-page .opt2-icon {
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  width: 54px !important;
  height: 54px !important;
  font-size: 26px !important;
  background: linear-gradient(135deg, rgba(32, 220, 255, 0.15), rgba(37, 133, 255, 0.1)) !important;
  border: 1px solid rgba(32, 220, 255, 0.2) !important;
  box-shadow: 0 4px 15px rgba(32, 220, 255, 0.05) !important;
}

/* 3. Refinar los cuadros de características para que luzcan premium */
body.home-dark.site-dark.about-page .opt2-feature {
  gap: 16px !important;
  padding: 22px !important;
  background: linear-gradient(145deg, rgba(14, 33, 60, 0.6), rgba(8, 20, 38, 0.8)) !important;
  transition: transform 0.3s ease, border-color 0.3s ease !important;
}

body.home-dark.site-dark.about-page .opt2-feature:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(32, 220, 255, 0.4) !important;
}

/* 4. Ajustar el texto dentro de las características */
body.home-dark.site-dark.about-page .opt2-feature span:last-child {
  font-size: 15px !important;
  letter-spacing: 0.3px !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* =========================================================
   COLLAGE DE PRODUCTOS - CORRECCIÓN DE NITIDEZ Y PROPORCIÓN
   ========================================================= */
.about-opt2-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 16px;
  position: relative;
}

.collage-item {
  position: relative !important;
  border-radius: 20px;
  overflow: hidden !important;
  background: linear-gradient(145deg, rgba(14, 33, 60, 0.8), rgba(8, 20, 38, 0.9));
  border: 1px solid rgba(82, 153, 255, 0.15);
  display: block !important; /* Quitamos flex para evitar deformaciones */
}

/* Forzamos proporciones perfectas y mejoramos el renderizado */
.collage-item img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; /* Recorta el sobrante sin estirar */
  object-position: center !important;
  image-rendering: -webkit-optimize-contrast !important; /* Maximiza nitidez en Chrome/Edge */
  image-rendering: high-quality !important;
  transform: translateZ(0) !important; /* Activa la aceleración por hardware */
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.collage-item:hover img {
  transform: scale(1.08) translateZ(0) !important;
}

.item-dragon { grid-column: 1 / 2; grid-row: 1 / 3; min-height: 300px; }
.item-decor { grid-column: 2 / 3; grid-row: 1 / 2; min-height: 200px; }
.item-tech { grid-column: 1 / 2; grid-row: 3 / 4; min-height: 200px; }
.item-keychain { grid-column: 2 / 3; grid-row: 2 / 4; min-height: 300px; }

.collage-label {
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: rgba(10, 24, 45, 0.85);
  border: 1px solid rgba(32, 220, 255, 0.3);
  color: #20dcff;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  backdrop-filter: blur(5px);
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2; /* Asegura que la etiqueta quede por encima de la imagen */
}

/* Melhorar a legibilidade dos parágrafos em Sobre Nós (Todas as opções) */
body.home-dark.site-dark.about-page .about-opt1-content p,
body.home-dark.site-dark.about-page .about-opt2-text p {
  color: #d3def0 !important;
  font-weight: 500 !important;
}

body.home-dark.site-dark.about-page .about-value p {
  color: #aab8ce !important;
}

/* RESPONSIVE PARA AMBAS OPCIONES */
@media (max-width: 980px) {
  .about-opt1-grid { grid-template-columns: 1fr; gap: 40px; }
  .about-opt1-visual { min-height: 350px; }
  .about-opt2-values { grid-template-columns: 1fr; }
  .about-opt2-split { grid-template-columns: 1fr; gap: 40px; }
  .opt1-floating-stats div:nth-child(1) { left: 5%; }
  .opt1-floating-stats div:nth-child(2) { right: 5%; }
}
/* =========================================================
   ESTILOS PARA LOS NUEVOS ICONOS FUTURISTAS SVG
   ========================================================= */
body.home-dark.site-dark.about-page .opt2-icon svg {
  width: 26px !important;
  height: 26px !important;
  stroke: #20dcff !important; /* Color cyan neón */
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  fill: none !important;
  transition: transform 0.3s ease, filter 0.3s ease !important;
  filter: drop-shadow(0 0 5px rgba(32, 220, 255, 0.4));
}

body.home-dark.site-dark.about-page .opt2-feature:hover .opt2-icon svg {
  transform: scale(1.12) !important;
  filter: drop-shadow(0 0 8px rgba(32, 220, 255, 0.7));
}

/* =========================================================
   REUBICACIÓN ESTÉTICA Y PROPORCIONES DE LAS ETIQUETAS
   ========================================================= */
.collage-label {
  position: absolute !important;
  background: rgba(4, 13, 27, 0.65) !important; /* Más sutil y transparente */
  border: 1px solid rgba(32, 220, 255, 0.25) !important;
  color: #20dcff !important;
  padding: 5px 10px !important; /* Proporción más pequeña y elegante */
  border-radius: 6px !important; /* Bordes más finos */
  font-size: 10px !important; /* Letra un punto más pequeña */
  font-weight: 800 !important;
  backdrop-filter: blur(8px) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 2 !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}

/* Ubicaciones basadas en el espacio negativo (vacío) de cada foto */
.collage-label.pos-chibi {
  /* Figuras: El espacio vacío oscuro está arriba a la izquierda */
  top: 14px !important;
  left: 14px !important;
  bottom: auto !important;
  right: auto !important;
}

.collage-label.pos-vases {
  /* Jarrones: El fondo blanco/gris libre está arriba a la izquierda */
  top: 14px !important;
  left: 14px !important;
  bottom: auto !important;
  right: auto !important;
}

.collage-label.pos-printer {
  /* Impresora: El eje Z estorba a la izquierda, la derecha está vacía */
  top: 14px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
}
/* =========================================================
   ESTILOS FINALES PÁGINA CONTACTO - DISEÑO NEÓN PREMIUM
   ========================================================= */

/* 1. Panel Principal con Borde Degradado Neón */
body.home-dark.site-dark.contact-page .contact-opt2-panel {
  position: relative !important;
  padding: 60px !important;
  border-radius: 32px !important;
  background: rgba(8, 17, 34, 0.75) !important;
  backdrop-filter: blur(15px) !important;
  margin: 40px auto !important;
  z-index: 1 !important;
  box-shadow: 0 30px 70px rgba(0,0,0,0.4), inset 0 0 60px rgba(10, 25, 55, 0.5) !important;
}

body.home-dark.site-dark.contact-page .contact-opt2-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 32px !important;
  padding: 2px !important; /* Grosor del borde neón */
  background: linear-gradient(135deg, #00f0ff, #8a2be2, #ff007f) !important;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

body.home-dark.site-dark.contact-page .contact-header {
  text-align: center !important;
  margin-bottom: 50px !important;
}

body.home-dark.site-dark.contact-page .contact-header h2 {
  font-size: clamp(36px, 4vw, 54px) !important;
  line-height: 1.1 !important;
  margin: 12px 0 16px !important;
  color: #fff !important;
  letter-spacing: -1px !important;
  text-shadow: 0 0 20px rgba(32, 220, 255, 0.2), 0 0 30px rgba(138, 92, 255, 0.2) !important;
}

body.home-dark.site-dark.contact-page .contact-grid {
  display: grid !important;
  grid-template-columns: 1fr 0.9fr !important;
  gap: 50px !important;
  align-items: flex-start !important;
}

/* 2. Formulario Redondeado y Neón */
body.home-dark.site-dark.contact-page .contact-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
}

body.home-dark.site-dark.contact-page .form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

body.home-dark.site-dark.contact-page .form-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.home-dark.site-dark.contact-page .form-field label {
  color: #e9f1ff !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

/* Inputs más redondeados tipo 'Pill' o rectángulos suaves */
body.home-dark.site-dark.contact-page .form-field input,
body.home-dark.site-dark.contact-page .form-field select,
body.home-dark.site-dark.contact-page .form-field textarea {
  min-height: 54px !important;
  border: 1px solid rgba(82,153,255,0.2) !important;
  border-radius: 20px !important;
  background: rgba(10,24,45,0.85) !important;
  color: #f7f9ff !important;
  font-size: 15px !important;
  padding: 0 20px !important;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.2) !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

body.home-dark.site-dark.contact-page .form-field textarea {
  min-height: 140px !important;
  padding: 20px !important;
  border-radius: 24px !important;
  resize: vertical !important;
}

/* Foco del Input en Cyan */
body.home-dark.site-dark.contact-page .form-field input:focus,
body.home-dark.site-dark.contact-page .form-field select:focus,
body.home-dark.site-dark.contact-page .form-field textarea:focus {
  border-color: #20dcff !important;
  background: #081a33 !important;
  box-shadow: 0 0 18px rgba(32, 220, 255, 0.15), inset 0 0 0 1px #20dcff !important;
  outline: none !important;
}

/* Botón Upload de Archivos */
body.home-dark.site-dark.contact-page .file-input-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

body.home-dark.site-dark.contact-page .file-input-wrapper label[for="images"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  border: 1px solid rgba(138, 92, 255, 0.4) !important;
  border-radius: 20px !important;
  background: rgba(20, 15, 45, 0.4) !important;
  color: #d8c2ff !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

body.home-dark.site-dark.contact-page .file-input-wrapper label[for="images"]:hover {
  border-color: #8a5cff !important;
  background: rgba(138, 92, 255, 0.15) !important;
  box-shadow: 0 0 20px rgba(138, 92, 255, 0.2) !important;
  color: #fff !important;
}

body.home-dark.site-dark.contact-page .file-input-wrapper span {
  color: #7f92ad !important;
  font-size: 12px !important;
}

/* Botón de Submit Super Degradado */
body.home-dark.site-dark.contact-page .form-submit {
  min-height: 56px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(90deg, #00d2ff, #7a28ff, #ff00a0) !important;
  border: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 10px 30px rgba(122, 40, 255, 0.25) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

body.home-dark.site-dark.contact-page .form-submit:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 15px 40px rgba(122, 40, 255, 0.4), 0 0 20px rgba(0, 210, 255, 0.3) !important;
}

body.home-dark.site-dark.contact-page .form-note {
  color: #71819d !important;
  font-size: 13px !important;
  text-align: center !important;
  margin: 0 !important;
}

/* 3. Sección Visual Derecha */
body.home-dark.site-dark.contact-page .contact-opt2-visual-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 30px !important;
}

body.home-dark.site-dark.contact-page .visual-box {
  width: 100% !important;
  border-radius: 24px !important;
  background: rgba(6, 13, 26, 0.6) !important;
  border: 1px solid rgba(82,153,255,0.15) !important;
  padding: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.home-dark.site-dark.contact-page .visual-box img {
  width: 90% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.5)) !important;
}

/* Tarjetas de Beneficios con Bordes Neón Separados */
body.home-dark.site-dark.contact-page .benefits-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

body.home-dark.site-dark.contact-page .benefit-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 18px 22px !important;
  border-radius: 20px !important;
  background: rgba(9, 18, 35, 0.8) !important;
  z-index: 1 !important;
}

/* Máscara de Borde para las Tarjetas */
body.home-dark.site-dark.contact-page .benefit-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 20px !important;
  padding: 2px !important;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

/* Colores Individuales para cada Tarjeta */
body.home-dark.site-dark.contact-page .card-cyan::before { background: linear-gradient(90deg, #00f0ff, #2585ff) !important; }
body.home-dark.site-dark.contact-page .card-purple::before { background: linear-gradient(90deg, #8a5cff, #ff4fd8) !important; }
body.home-dark.site-dark.contact-page .card-pink::before { background: linear-gradient(90deg, #ff4fd8, #ff007f) !important; }

/* Efecto Hover Individual (Brillo Externo) */
body.home-dark.site-dark.contact-page .card-cyan:hover { box-shadow: 0 0 25px rgba(0, 240, 255, 0.15) !important; transform: translateY(-2px) !important; transition: all 0.3s ease; }
body.home-dark.site-dark.contact-page .card-purple:hover { box-shadow: 0 0 25px rgba(138, 92, 255, 0.15) !important; transform: translateY(-2px) !important; transition: all 0.3s ease; }
body.home-dark.site-dark.contact-page .card-pink:hover { box-shadow: 0 0 25px rgba(255, 79, 216, 0.15) !important; transform: translateY(-2px) !important; transition: all 0.3s ease; }

body.home-dark.site-dark.contact-page .benefit-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.05) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

body.home-dark.site-dark.contact-page .card-cyan .benefit-icon { color: #00f0ff !important; text-shadow: 0 0 10px #00f0ff; }
body.home-dark.site-dark.contact-page .card-purple .benefit-icon { color: #8a5cff !important; text-shadow: 0 0 10px #8a5cff; }
body.home-dark.site-dark.contact-page .card-pink .benefit-icon { color: #ff4fd8 !important; text-shadow: 0 0 10px #ff4fd8; }

body.home-dark.site-dark.contact-page .benefit-card strong {
  display: block !important;
  color: #f4f8ff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin-bottom: 3px !important;
}

body.home-dark.site-dark.contact-page .benefit-card p {
  color: #9fb4d2 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* Responsive */
@media (max-width: 1050px) {
  body.home-dark.site-dark.contact-page .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body.home-dark.site-dark.contact-page .contact-opt2-panel {
    padding: 40px !important;
  }
}
@media (max-width: 640px) {
  body.home-dark.site-dark.contact-page .contact-opt2-panel {
    padding: 30px 20px !important;
    border-radius: 24px !important;
  }
  body.home-dark.site-dark.contact-page .contact-opt2-panel::before {
    border-radius: 24px !important;
  }
  body.home-dark.site-dark.contact-page .form-row {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
   CORRECCIONES FINALES PÁGINA CONTACTO - OPÇÃO 2
   ========================================================= */

/* 1. Ocultar el botón nativo de subir archivo que arruinaba el diseño */
body.home-dark.site-dark.contact-page .file-input-wrapper input[type="file"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* 2. Iluminar los campos del formulario para que destaquen del fondo */
body.home-dark.site-dark.contact-page .form-field input,
body.home-dark.site-dark.contact-page .form-field select,
body.home-dark.site-dark.contact-page .form-field textarea {
  background: rgba(22, 45, 80, 0.4) !important; /* Azul más claro y cristalino */
  border: 1px solid rgba(32, 220, 255, 0.25) !important; /* Borde cyan visible */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

/* 3. Asegurar el degradado Cyan -> Violeta del botón principal */
body.home-dark.site-dark.contact-page .form-submit {
  background: linear-gradient(90deg, #00d2ff 0%, #7853ff 50%, #ff00a0 100%) !important;
  border: none !important;
  box-shadow: 0 8px 25px rgba(122, 40, 255, 0.3) !important;
}

/* 4. Estilizar el botón "Anexar imágenes" */
body.home-dark.site-dark.contact-page .file-input-wrapper label[for="images"] {
  background: linear-gradient(135deg, rgba(32, 220, 255, 0.1), rgba(138, 92, 255, 0.15)) !important;
  border: 1px solid rgba(138, 92, 255, 0.5) !important;
  color: #f7f9ff !important;
}

/* 5. Eliminar el borde sólido heredado para que funcione el borde neón de las tarjetas */
body.home-dark.site-dark.contact-page .benefit-card {
  border: none !important; 
  background: rgba(9, 18, 35, 0.9) !important;
}
/* =========================================================
   AJUSTES FINALES CONTACTO - IMAGEN FLOTANTE Y COLOR BOTÓN
   ========================================================= */

/* N1: Quitar bordes y fondo a la caja de la imagen para que flote libremente */
body.home-dark.site-dark.contact-page .visual-box {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* N1: Crear un aura de luz neón detrás de la imagen para resaltarla suavemente */
body.home-dark.site-dark.contact-page .visual-box img {
  filter: drop-shadow(0 0 45px rgba(32, 220, 255, 0.25)) drop-shadow(0 20px 30px rgba(0,0,0,0.6)) !important;
  transform: scale(1.05) !important;
  /* Transición radial suave para difuminar los cuatro bordes y eliminar el cuadro */
  -webkit-mask-image: radial-gradient(ellipse at center, black 50%, transparent 75%) !important;
  mask-image: radial-gradient(ellipse at center, black 50%, transparent 75%) !important;
}

/* N4: Restaurar el color del botón al diseño original (Cyan -> Violeta sutil) */
body.home-dark.site-dark.contact-page .form-submit {
  background: linear-gradient(100deg, #168fff 0%, #16d5ff 48%, #7853ff 100%) !important;
  box-shadow: 0 10px 25px rgba(22, 148, 255, 0.25) !important;
}

body.home-dark.site-dark.contact-page .form-submit:hover {
  box-shadow: 0 15px 35px rgba(22, 148, 255, 0.35), 0 0 20px rgba(32, 220, 255, 0.2) !important;
  transform: translateY(-2px) !important;
}
/* =========================================================
   COOKIE BANNER - INFINITUM 3D
   ========================================================= */
.cookie-banner {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(150%);
  width: min(90%, 850px);
  background: rgba(10, 24, 45, 0.95);
  border: 1px solid rgba(32, 220, 255, 0.25);
  border-radius: 20px;
  padding: 20px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  z-index: 9999;
  backdrop-filter: blur(15px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 25px rgba(32, 220, 255, 0.1);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.6s ease, visibility 0.6s ease;
}

/* Esta clase se añade por Javascript para mostrar el banner */
.cookie-banner.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  visibility: visible;
}

.cookie-content {
  display: flex;
  align-items: center;
  gap: 18px;
}

.cookie-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, rgba(32, 220, 255, 0.15), rgba(37, 133, 255, 0.05));
  border-radius: 14px;
  border: 1px solid rgba(32, 220, 255, 0.2);
  flex-shrink: 0;
  color: #20dcff;
}

.cookie-icon svg {
  width: 24px;
  height: 24px;
  filter: drop-shadow(0 0 5px rgba(32, 220, 255, 0.5));
}

.cookie-content h4 {
  color: #fff;
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 800;
}

.cookie-content p {
  color: #9fb4d2;
  font-size: 13px;
  margin: 0;
  line-height: 1.45;
}

.cookie-content a {
  color: #20dcff;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
  transition: color 0.2s ease;
}

.cookie-content a:hover {
  color: #fff;
}

.cookie-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.btn-cookie-decline {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #aebbd0;
  padding: 10px 20px;
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-cookie-decline:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.btn-cookie-accept {
  background: linear-gradient(100deg, #168fff, #16d5ff);
  border: none;
  color: #fff;
  padding: 10px 24px;
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(22, 148, 255, 0.3);
  transition: all 0.3s ease;
}

.btn-cookie-accept:hover {
  box-shadow: 0 8px 24px rgba(22, 148, 255, 0.4), 0 0 15px rgba(32, 220, 255, 0.3);
  transform: translateY(-2px);
}

@media (max-width: 850px) {
  .cookie-banner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    gap: 20px;
    bottom: 16px;
    padding: 24px 20px;
  }
  .cookie-content {
    flex-direction: column;
  }
  .cookie-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
/* =========================================================
   PÁGINA DE PERSONALIZAÇÃO - AJUSTES DE DESIGN
   ========================================================= */

/* 1. Contraste en los campos del formulario */
body.site-dark .form-field input,
body.site-dark .form-field select,
body.site-dark .form-field textarea,
body.site-dark .personalizacao-form input,
body.site-dark .personalizacao-form select,
body.site-dark .personalizacao-form textarea {
  background: rgba(15, 34, 61, 0.75) !important;
  border: 1px solid rgba(82, 153, 255, 0.25) !important;
  color: #f7f9ff !important;
}

body.site-dark .form-field input::placeholder,
body.site-dark .form-field textarea::placeholder,
body.site-dark .personalizacao-form input::placeholder,
body.site-dark .personalizacao-form textarea::placeholder {
  color: #9fb4d2 !important;
}

/* 2. Espaciado del botón "Anexar imagens" */
body.site-dark .quote-image-group {
  margin-bottom: 28px !important; 
}

/* 3. Estilo elegante para el botón principal (reduciendo el neón extremo) */
body.site-dark .form-submit-pedido,
body.site-dark .personalizacao-submit {
  background: linear-gradient(100deg, #168fff, #16d5ff 48%, #7853ff 100%) !important;
  box-shadow: 0 8px 25px rgba(22, 148, 255, 0.25) !important; 
  border: none !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 54px !important;
  border-radius: 999px !important;
  transition: all 0.3s ease !important;
  width: 100%;
}

body.site-dark .form-submit-pedido:hover,
body.site-dark .personalizacao-submit:hover {
  box-shadow: 0 12px 30px rgba(22, 148, 255, 0.35) !important;
  transform: translateY(-2px) !important;
}

/* 4. Legibilidad en la tarjeta "Guia de Materiais" (Efecto Glassmorphism) */
body.site-dark .guia-materiais-card,
body.site-dark .contact-side.guia-materiais {
  background: rgba(8, 17, 34, 0.85) !important; 
  backdrop-filter: blur(16px) !important; 
  border: 1px solid rgba(82, 153, 255, 0.2) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
  border-radius: 20px !important;
  padding: 30px !important;
}

/* 5. Solución para las imágenes de filamentos con fondo blanco */
body.site-dark .material-imagem img,
body.site-dark .guia-materiais-card img {
  background: #ffffff !important; 
  border-radius: 8px !important; 
  padding: 4px !important; 
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
  object-fit: contain !important;
  max-width: 100%;
}

/* =========================================================
   FAVORITOS · cuerpo de la tarjeta en modo oscuro
========================================================= */

body.site-dark .account-favorite-content{
  background:transparent !important;
}

body.site-dark .account-favorite-content h3 a{
  color:#f4f8ff !important;
}

body.site-dark .account-favorite-stock{
  color:#8fa1bc !important;
}

body.site-dark .account-favorite-cart{
  border:1px solid rgba(99,210,255,.35) !important;
  background:linear-gradient(135deg,#1f8fff,#5b6bff) !important;
  color:#fff !important;
}

body.site-dark .account-favorite-cart:disabled{
  border-color:rgba(117,166,255,.14) !important;
  background:rgba(117,166,255,.08) !important;
  color:#6f84a3 !important;
  cursor:not-allowed;
}

body.site-dark .account-favorite-remove{
  background:rgba(255,79,135,.12) !important;
  color:#ff8db0 !important;
}

body.site-dark .account-favorite-remove:hover{
  background:rgba(255,79,135,.22) !important;
}

/* =========================================================
   SEGURANÇA · campos de palavra-passe em modo escuro
   (o input tinha o fundo branco por defeito do navegador)
========================================================= */

body.site-dark .account-password-field input{
  background:transparent !important;
  color:#eef4ff !important;
  caret-color:#63d2ff;
}

body.site-dark .account-password-field input:-webkit-autofill,
body.site-dark .account-password-field input:-webkit-autofill:hover,
body.site-dark .account-password-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#eef4ff !important;
  -webkit-box-shadow:0 0 0 1000px #07162b inset !important;
  caret-color:#63d2ff;
}

/* Linha separadora da fila "Personalizar" no tema escuro (era branca) */
body.site-dark .featured-product-action{
  border-top-color:rgba(117,166,255,.18) !important;
}

/* =========================================================
   VENTANA "OBRIGADO PELA TUA COMPRA" · tema escuro
   (a base é clara; aqui adapta-se ao tema do site)
========================================================= */

body.site-dark .purchase-thankyou-overlay {
  background: rgba(3, 9, 22, .72) !important;
}

body.site-dark .purchase-thankyou-card {
  background: linear-gradient(160deg, #0e1f3d, #08142b) !important;
  border: 1px solid rgba(117, 166, 255, .22) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .55) !important;
}

body.site-dark .purchase-thankyou-card h2 {
  color: #f4f8ff !important;
}

body.site-dark .purchase-thankyou-card > p {
  color: #a9b8d2 !important;
}

body.site-dark .purchase-thankyou-order {
  border-color: rgba(117, 166, 255, .22) !important;
  background: rgba(255, 255, 255, .05) !important;
}

body.site-dark .purchase-thankyou-order span {
  color: #8fa1bc !important;
}

body.site-dark .purchase-thankyou-order strong {
  color: #63d2ff !important;
  letter-spacing: .02em;
}

body.site-dark .purchase-thankyou-button {
  border-color: rgba(117, 166, 255, .3) !important;
}

body.site-dark .purchase-thankyou-button.primary {
  border-color: transparent !important;
  color: #fff !important;
}

body.site-dark .purchase-thankyou-button.secondary {
  background: transparent !important;
  color: #cfe6ff !important;
}

body.site-dark .purchase-thankyou-button.secondary:hover {
  background: rgba(99, 210, 255, .1) !important;
}

body.site-dark .purchase-thankyou-close {
  background: rgba(255, 255, 255, .1) !important;
  color: #e9f1ff !important;
}

body.site-dark .purchase-thankyou-close:hover {
  background: rgba(255, 255, 255, .18) !important;
}

/* Avisos (toast) visíveis sobre fundo escuro */
body.site-dark .toast {
  background: #17315f !important;
  border: 1px solid rgba(99, 210, 255, .5) !important;
  color: #f4f8ff !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .55) !important;
}

/* =========================================================
   FUNDO HOLOGRÁFICO · imagens do catálogo em linhas de luz
   Aplica-se SÓ à página Mi cuenta (body.holo-bg), por baixo do conteúdo.
   Ajusta a intensidade com --holo-opacity (0 = sem fundo).
========================================================= */

body.site-dark.holo-bg {
  --holo-opacity: .78;
}

body.site-dark.holo-bg::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("images/fondo-holo.webp") center top / cover no-repeat;
  opacity: var(--holo-opacity);
}

/* telemóvel e tablet vertical: mais discreto e centrado no cabeçote */
@media (max-width: 900px) {
  body.site-dark.holo-bg {
    --holo-opacity: .5;
  }

  body.site-dark.holo-bg::before {
    background-position: 72% top;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.site-dark.holo-bg::before {
    transition: none;
  }
}

/* =========================================================
   AJUSTE PÁGINA CONTACTO (16-10-2026)
   1) O texto "Até 5 imagens..." ocupava 260 px de altura
      (flex-basis num contentor em coluna) → espaço vazio
      antes do botão "Enviar pedido".
   2) Painel com a mesma largura do footer (min(1480px, 96vw)).
   3) Proporções: formulário e imagem equilibrados.
========================================================= */
body.home-dark.site-dark.contact-page .quote-image-upload{
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}
body.home-dark.site-dark.contact-page .quote-image-help{
  flex:1 1 220px !important;
  height:auto !important;
}
body.home-dark.site-dark.contact-page .quote-image-group{
  margin-bottom:0 !important;
}
body.home-dark.site-dark.contact-page .contact-opt2-panel{
  width:min(1480px,96vw) !important;
  max-width:none !important;
  padding:56px 64px !important;
  margin:40px auto 0 !important;
}
body.home-dark.site-dark.contact-page .contact-header{
  margin-bottom:36px !important;
}
body.home-dark.site-dark.contact-page .contact-grid{
  grid-template-columns:1.1fr 1fr !important;
  gap:64px !important;
  align-items:center !important;
}
body.home-dark.site-dark.contact-page .contact-opt2-visual-section{
  gap:20px !important;
}
body.home-dark.site-dark.contact-page section.contact{
  padding-bottom:20px !important;
}
@media (max-width:1050px){
  body.home-dark.site-dark.contact-page .contact-opt2-panel{width:92vw !important;padding:40px !important}
  body.home-dark.site-dark.contact-page .contact-grid{grid-template-columns:1fr !important;gap:40px !important}
}
@media (max-width:640px){
  body.home-dark.site-dark.contact-page .contact-opt2-panel{width:94vw !important;padding:30px 20px !important}
}
