/* Basic site styles for the robinsoft demo site */
html,body{
  margin:0;
  padding:0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Microsoft YaHei", sans-serif;
  background:#f7f8fb;
  color:#222;
  line-height:1.5;
}
.container{
  max-width:960px;
  margin:0 auto;
  padding:1rem;
}
/* header uses a banner background image (images/banner.png).
   A semi-transparent gradient overlay improves text contrast. */
header{
  /* slightly stronger overlay for better contrast */
  background: linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)), url('../images/banner.png') center center/cover no-repeat;
  color:#fff;
  /* ensure there's enough vertical space for the full banner */
  min-height:180px;
}
header .container{
  display:flex;
  flex-direction:row-reverse;
  align-items:flex-end;
  justify-content:space-between;
  min-height:180px;
  padding:0 1rem 0.8rem;
  box-sizing:border-box;
}
.brand{margin:0;padding:0;font-size:1.25rem;text-align:right;line-height:1}
.brand{ text-shadow: 0 1px 3px rgba(0,0,0,0.6); }
.main-nav{
  width:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:1rem;
  padding:0.65rem 1rem;
  margin:0;
  box-sizing:border-box;
  background:rgba(0,0,0,0.35);
  backdrop-filter:blur(4px);
}
.main-nav a{color:#cfd8dc;text-decoration:none;margin-left:0}
.main-nav a:hover{color:#fff}
.hero{padding:2rem 0}
.hero h2{margin-top:0}
.btn{
  display:inline-block;
  padding:0.5rem 1rem;
  background:#007acc;
  color:#fff;
  text-decoration:none;
  border-radius:4px;
}
.features{padding:1rem 0}
footer{padding:1rem 0;background:#eceff1;color:#333}
.product-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.product-card{background:#fff;padding:1rem;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.product-card.placeholder{opacity:0.85;font-style:italic}
.product-card.cmp-card{display:flex;flex-direction:column;gap:0.85rem}
.product-card.cmp-card .cmp-header{display:flex;align-items:center;gap:0.75rem}
.cmp-logo{width:2.4rem;height:2.4rem;flex:0 0 2.4rem;object-fit:contain;display:block}
.cmp-title-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;line-height:1}
.cmp-title-link:hover{text-decoration:underline}
.cmp-title-link h3{margin:0;font-size:1.25rem;line-height:1}
.cmp-actions{display:flex;flex-wrap:wrap;gap:0.75rem}
.cmp-action-link{display:inline-flex;align-items:center;padding:0.55rem 0.85rem;border-radius:4px;background:#eef4ff;color:#0b57d0;text-decoration:none}
.cmp-action-link:hover{background:#dbe8ff}
.cmp-detail{background:#fff;padding:1.25rem;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.cmp-detail h2{margin-top:0}
.cmp-detail-header{display:flex;align-items:center;gap:0.85rem;margin-bottom:1rem}
.cmp-detail-section{margin-top:1.25rem}
.cmp-detail-section h3{margin:0 0 0.5rem}
.cmp-detail-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.85rem;margin-top:1.25rem}
.cmp-detail-link{display:block;padding:0.9rem 1rem;border-radius:6px;background:#f3f7ff;border:1px solid #dbe5ff;color:#0b57d0;text-decoration:none}
.cmp-detail-link:hover{background:#e6efff}
.cmp-embed-note{margin:0.75rem 0 1rem;color:#555}
.cmp-embed-frame{width:100%;height:78vh;min-height:640px;border:0;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.cmp-embed-actions{margin-top:1rem}
@media (max-width:600px){
  /* keep enough space for the full banner on small screens too */
  header{min-height:140px}
  header .container{min-height:140px}
  .brand{font-size:1.05rem}
  .main-nav{padding:0.55rem 0.75rem;gap:0.75rem}
}
