
/* ==============================================================
   RENA V41 — clean product pages, stable layout and AI repair
   ============================================================= */

/* Keep only the two requested statistics on the main page. */
body[data-page="home"] .hero-facts,
body[data-page="home"] .metrics{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:760px;
}
body[data-page="home"] .hero-facts > div,
body[data-page="home"] .metrics > article{
  min-width:0;
}

/* Remove large decorative rounded transitions between page sections. */
main > section,
.products-section,
.process,
.trust,
.cta-band,
.catalog-section,
.client-wall,
.contact-layout,
.contact-form-section,
.product-info,
.related,
.geography{
  border-radius:0 !important;
  clip-path:none !important;
}
main > section::before,
main > section::after{
  border-radius:0 !important;
}

/* Catalog card headings/category labels no longer drift into corners. */
.product-card-top,
.catalog-card-top{
  position:relative !important;
  inset:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  min-width:0;
  padding:0 2px !important;
}
.product-card-top span,
.product-card-top em,
.catalog-card-top span,
.catalog-card-top em{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  line-height:1.2 !important;
  white-space:nowrap;
}
.product-card-top em,
.catalog-card-top em{
  max-width:52%;
  margin-left:auto;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
}

/* Product image can be moved, but never turns edge-on by itself. */
.product-spin-stage{
  cursor:grab;
  touch-action:none;
  overflow:visible !important;
}
.product-spin-stage.is-dragging{ cursor:grabbing; }
.product-spin-object{
  transform-style:preserve-3d;
  will-change:transform;
}
.product-spin-edge{
  opacity:.18 !important;
  width:12px !important;
}

/* The non-interactive four-box specification strip is removed in HTML. */
.spec-band{ display:none !important; }

/* Product copy: readable, complete and not crossed by decorative lines. */
body.product-page-v29 .product-info{
  display:grid !important;
  grid-template-columns:minmax(180px,260px) minmax(0,1fr) !important;
  gap:clamp(38px,6vw,92px) !important;
  padding-top:86px !important;
  padding-bottom:92px !important;
  border-top:1px solid rgba(216,236,167,.12) !important;
  border-bottom:1px solid rgba(216,236,167,.10) !important;
  background:#07180f !important;
}
body.product-page-v29 .product-info::before,
body.product-page-v29 .product-info::after{
  display:none !important;
}
body.product-page-v29 .content-index{
  position:sticky;
  top:120px;
  align-self:start;
  display:flex !important;
  justify-content:space-between;
  gap:16px;
  padding:18px 0;
  border-top:1px solid rgba(216,236,167,.18);
  color:#9ead9f !important;
}
body.product-page-v29 .rich-text{
  width:min(100%,980px);
  max-width:none !important;
}
.product-copy-title-v41{
  margin:0 0 26px;
  max-width:23ch;
  color:#f0f4ea;
  font-size:clamp(34px,4vw,58px);
  line-height:1.03;
  letter-spacing:-.045em;
}
body.product-page-v29 .rich-text p,
body.product-page-v29 .rich-text li{
  color:#b3beb5 !important;
  font-size:clamp(15px,1.18vw,18px) !important;
  line-height:1.75 !important;
}
body.product-page-v29 .rich-text ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 26px;
  margin:28px 0;
  padding:0;
  list-style:none;
}
body.product-page-v29 .rich-text li{
  position:relative;
  padding:13px 14px 13px 34px;
  border:1px solid rgba(216,236,167,.10);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
body.product-page-v29 .rich-text li::before{
  content:"";
  position:absolute;
  left:15px;
  top:21px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d8eca7;
  box-shadow:0 0 0 5px rgba(216,236,167,.05);
}
.product-note-v41{
  margin-top:28px !important;
  padding:20px 22px !important;
  border:1px solid rgba(216,236,167,.14) !important;
  border-radius:16px !important;
  background:rgba(216,236,167,.045) !important;
  color:#d5ded6 !important;
}
body.product-page-v29 .related .display{
  max-width:950px;
}
body.product-page-v29 .related-grid{
  margin-top:44px;
}

/* Office map always renders as a real PNG, with a clear fallback background. */
.office-location-card-v38__visual{
  min-height:320px;
  background:
    radial-gradient(circle at 50% 48%,rgba(216,236,167,.07),transparent 38%),
    #0a1b12 !important;
}
.office-location-card-v38__visual img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:320px;
  object-fit:cover !important;
  color:transparent;
}

/* AI sidebar can never overlap the chat. */
body[data-page="ai"] .ai-workspace-v22{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  gap:20px !important;
  align-items:start !important;
}
body[data-page="ai"] .ai-sidebar-v22,
body[data-page="ai"] .ai-chat-v22{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}
body[data-page="ai"] .ai-sidebar-v22{
  padding:22px !important;
}
body[data-page="ai"] .ai-sidebar-title h2{
  margin:0 !important;
  max-width:100%;
  font-size:clamp(30px,2.4vw,40px) !important;
  line-height:1.04 !important;
  letter-spacing:-.04em !important;
  overflow-wrap:break-word;
}
body[data-page="ai"] .ai-topic-card{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  gap:12px !important;
  padding:15px !important;
}
body[data-page="ai"] .ai-topic-card > span{
  min-width:0;
}
body[data-page="ai"] .ai-topic-card strong{
  display:block;
  max-width:100%;
  font-size:16px !important;
  line-height:1.25 !important;
  overflow-wrap:break-word;
}
body[data-page="ai"] .ai-topic-card small{
  font-size:12px !important;
  line-height:1.4 !important;
}
body[data-page="ai"] .ai-chat-v22{
  overflow:hidden !important;
}
body[data-page="ai"] .ai-chat-head-v22{
  grid-template-columns:auto minmax(0,1fr) auto !important;
}
body[data-page="ai"] .ai-limit{
  max-width:150px;
  white-space:normal !important;
  text-align:right;
}

/* Cards open on the whole surface. */
.product-card.is-clickable,
.catalog-card.is-clickable{
  cursor:pointer;
}

@media (max-width:1050px){
  body[data-page="ai"] .ai-workspace-v22{
    grid-template-columns:1fr !important;
  }
  body[data-page="ai"] .ai-sidebar-v22{
    order:2;
  }
  body[data-page="ai"] .ai-chat-v22{
    order:1;
  }
}

@media (max-width:760px){
  body[data-page="home"] .hero-facts,
  body[data-page="home"] .metrics{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  body[data-page="home"] .hero-facts > div,
  body[data-page="home"] .metrics > article{
    padding:16px 12px !important;
  }
  body[data-page="home"] .hero-facts b,
  body[data-page="home"] .metrics b{
    font-size:28px !important;
  }
  body[data-page="home"] .hero-facts span,
  body[data-page="home"] .metrics p,
  body[data-page="home"] .metrics h3{
    font-size:10px !important;
  }

  .product-card-top em,
  .catalog-card-top em{
    max-width:45%;
    font-size:8px !important;
  }

  body.product-page-v29 .product-info{
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:54px 16px 64px !important;
  }
  body.product-page-v29 .content-index{
    position:static;
  }
  body.product-page-v29 .rich-text ul{
    grid-template-columns:1fr !important;
  }
  .product-copy-title-v41{
    font-size:34px;
  }
  .product-spin-stage{
    min-height:340px !important;
  }

  body[data-page="ai"] .ai-sidebar-v22{
    padding:16px !important;
  }
  body[data-page="ai"] .ai-chat-head-v22{
    grid-template-columns:auto minmax(0,1fr) !important;
  }
  body[data-page="ai"] .ai-limit{
    grid-column:1/-1;
    margin:8px 0 0 48px !important;
    max-width:none;
    text-align:left;
  }
  body[data-page="ai"] .ai-composer-v22,
  body[data-page="ai"] .ai-input-v22{
    min-width:0;
  }
}
