/* Data Marketplace — premium SaaS marketplace */

.dm-hero{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(1000px 600px at 12% -10%, rgba(139,92,246,.38), transparent 55%),
    radial-gradient(800px 500px at 90% 15%, rgba(6,182,212,.25), transparent 50%),
    linear-gradient(165deg,#070B16 0%,#0F172A 42%,#111827 100%);
  padding:calc(var(--nav,72px) + 2.25rem) 0 3.25rem;
}
.dm-hero-bg{position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);background-size:28px 28px}
.dm-orb{position:absolute;border-radius:50%;filter:blur(48px);opacity:.4;pointer-events:none;animation:hbFloat 9s ease-in-out infinite}
.dm-orb-1{width:280px;height:280px;background:#8B5CF6;top:-70px;right:6%}
.dm-orb-2{width:200px;height:200px;background:#06B6D4;bottom:8%;left:6%;animation-delay:-3s}
.dm-hero .container{position:relative;z-index:2}
.dm-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.25rem;align-items:center}
.dm-badge{background:rgba(139,92,246,.22);color:#E9D5FF;border:1px solid rgba(167,139,250,.35)}
.dm-hero h1{font-size:clamp(1.7rem,4vw,2.9rem);line-height:1.12;margin:1rem 0 .85rem;font-weight:800;color:#fff}
.dm-hero h1 .grad{
  background:linear-gradient(105deg,#C4B5FD,#A5F3FC 55%,#C4B5FD);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:hbGradientShift 5s ease infinite;
}
.dm-lead{color:rgba(255,255,255,.78);max-width:34rem;line-height:1.6;margin:0 0 1.25rem}
.dm-ctas{display:flex;flex-wrap:wrap;gap:.75rem}

.dm-dash{
  background:rgba(15,23,42,.9);border:1px solid rgba(255,255,255,.12);border-radius:18px;
  padding:1.25rem;backdrop-filter:blur(12px);box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.dm-dash-title{font-weight:700;color:#A5F3FC;margin-bottom:1rem;font-size:.9rem}
.dm-data-cards{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}
.dm-dcard{
  background:rgba(139,92,246,.2);border:1px solid rgba(167,139,250,.3);border-radius:10px;
  padding:.65rem .75rem;font-size:.78rem;font-weight:600;color:#E9D5FF;
  animation:hbCardFloat 5s ease-in-out infinite;animation-delay:calc(var(--d) * -.8s);
}
.dm-flow-tags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.75rem;color:rgba(255,255,255,.8)}
.dm-flow-tags .arr{color:#8B5CF6}

/* Categories */
.dm-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}
.dm-cat-card{
  background:#fff;border:1px solid var(--bd);border-radius:16px;padding:1.35rem;
  display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;
}
.dm-cat-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.35);box-shadow:0 16px 40px -12px rgba(139,92,246,.22)}
.dm-cat-icon{font-size:1.75rem;margin-bottom:.5rem}
.dm-cat-card h3{margin:0 0 .4rem;font-size:1.05rem}
.dm-cat-card p{font-size:.85rem;color:var(--t2);line-height:1.45;margin:0 0 .75rem;flex:1}
.dm-cat-badge{
  display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:.25rem .55rem;border-radius:999px;background:#EDE9FE;color:#5B21B6;margin-bottom:.75rem;align-self:flex-start;
}
.dm-cat-card .btn{align-self:flex-start}

/* Filters & products */
.dm-filters{margin:1.25rem 0 1.5rem}
.dm-search input{
  width:100%;max-width:420px;padding:.85rem 1rem;border:1px solid var(--bd);border-radius:12px;font:inherit;margin-bottom:.75rem;
}
.dm-filter-row{display:flex;flex-wrap:wrap;gap:.5rem}
.dm-filter-row select{
  padding:.55rem .85rem;border:1px solid var(--bd);border-radius:10px;font:inherit;background:#fff;font-size:.875rem;
}
.dm-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.dm-product-card{
  background:#fff;border:1px solid var(--bd);border-radius:16px;padding:1.25rem;
  display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;
}
.dm-product-card:hover{border-color:rgba(139,92,246,.3);box-shadow:0 12px 32px -12px rgba(139,92,246,.18)}
.dm-product-card h3{margin:0 0 .5rem;font-size:1rem}
.dm-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}
.dm-meta span{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;background:#F3F4F6;color:var(--t2)}
.dm-fields,.dm-updated{font-size:.8rem;color:var(--t2);margin:0 0 .35rem}
.dm-product-ctas{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.75rem}

/* Modal */
.dm-modal,.dm-form-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}
.dm-modal[hidden],.dm-form-modal[hidden]{display:none}
.dm-modal-backdrop,.dm-form-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px)}
.dm-modal-box,.dm-form-box{
  position:relative;background:#fff;border-radius:18px;padding:1.75rem;max-width:520px;width:100%;
  max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.25);
}
.dm-modal-close{
  position:absolute;top:.75rem;right:.85rem;border:0;background:transparent;font-size:1.5rem;
  cursor:pointer;color:var(--t2);line-height:1;
}
.dm-modal-body h4{margin:1rem 0 .35rem;font-size:.9rem}
.dm-modal-body p,.dm-modal-body ul{font-size:.875rem;color:var(--t2);margin:0 0 .5rem}
.dm-modal-body ul{padding-left:1.1rem}
.dm-form-sub{font-size:.875rem;color:var(--t2);margin:0 0 1.15rem}
.dm-form-success{text-align:center;padding:2rem 1rem}
.dm-success-icon{
  width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#22C55E,#16A34A);
  color:#fff;font-size:1.5rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;
}

/* Features, process, etc */
.dm-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.25rem}
.dm-feat{text-align:center;padding:1.25rem}
.dm-feat span{font-size:1.5rem;display:block;margin-bottom:.4rem}
.dm-feat h3{font-size:.95rem;margin:0 0 .3rem}
.dm-feat p{font-size:.85rem;color:var(--t2);margin:0}

.dm-process{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:.5rem;margin-top:1.5rem}
.dm-step{flex:1 1 120px;max-width:160px;text-align:center;padding:.75rem}
.dm-step-num{
  width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8B5CF6,#6D28D9);
  color:#fff;font-weight:800;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.5rem;
}
.dm-step h3{font-size:.95rem;margin:0 0 .3rem}
.dm-step p{font-size:.8rem;color:var(--t2);margin:0}
.dm-step-line{width:32px;height:2px;background:linear-gradient(90deg,#8B5CF6,#06B6D4);margin-top:1.8rem;flex-shrink:0}

.dm-usecases{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.25rem}
.dm-usecases .card{padding:1.15rem}
.dm-usecases h3{font-size:.95rem;margin:0 0 .35rem}
.dm-usecases p{font-size:.85rem;color:var(--t2);margin:0}

.dm-marketing{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.dm-marketing-rev{direction:rtl}.dm-marketing-rev>*{direction:ltr}
.dm-mkt-visual{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;justify-content:center}
.dm-mkt-card{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:.65rem 1rem;font-weight:600;font-size:.85rem}
.dm-mkt-highlight{background:linear-gradient(135deg,#EDE9FE,#CFFAFE);border-color:rgba(139,92,246,.3)}
.dm-mkt-arrow{color:#8B5CF6;font-weight:700}
.dm-dash-mini{background:#0B1120;border-radius:14px;padding:1.15rem;color:#E5E7EB;border:1px solid rgba(255,255,255,.1)}
.dm-dash-mini-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem}
.dm-dash-mini-row:last-child{border:0}

.dm-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.25rem}
.dm-trust .card{padding:1.15rem}
.dm-trust h3{font-size:.95rem;margin:0 0 .35rem}
.dm-trust p{font-size:.85rem;color:var(--t2);margin:0}
.dm-legal{text-align:center;font-size:.85rem;color:var(--t2);margin-top:1.25rem;max-width:640px;margin-left:auto;margin-right:auto}

@media(max-width:900px){
  .dm-hero-grid{grid-template-columns:1fr;gap:1.75rem}
  .dm-marketing,.dm-marketing-rev{grid-template-columns:1fr;direction:ltr}
  .dm-step-line{display:none}
}
@media(max-width:640px){
  .dm-hero{padding:calc(var(--nav,60px) + 1.1rem) 0 1.75rem;overflow-x:hidden}
  .dm-hero h1{font-size:1.5rem}
  .dm-data-cards{grid-template-columns:1fr}
  .dm-filter-row{flex-direction:column}
  .dm-filter-row select{width:100%}
  .dm-ctas{flex-direction:column}
  .dm-ctas .btn{width:100%;justify-content:center}
  body{overflow-x:hidden}
}
@media(max-width:430px){
  .dm-hero h1{font-size:1.35rem}
  .dm-cats{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .dm-orb,.dm-dcard{animation:none!important}
}

.dm-filter-row .btn { white-space: nowrap; padding: .55rem 1.1rem; font-size: .875rem; }
@media (max-width:640px) {
  .dm-filter-row .btn { width: 100%; }
}

/* DM form modal mobile */
@media (max-width:560px){
  .dm-form-modal,.dm-modal{
    padding:0!important;
    align-items:flex-end!important;
  }
  .dm-form-box,.dm-modal-box{
    max-width:100%!important;
    width:100%!important;
    max-height:min(92vh,640px)!important;
    border-radius:18px 18px 0 0!important;
    margin:0!important;
  }
  .dm-hero .dm-ctas{
    flex-direction:column;
  }
  .dm-hero .dm-ctas .btn{
    width:100%;
    justify-content:center;
  }
  .dm-hero h1{font-size:1.45rem!important}
  .dm-cat-card{padding:1.15rem}
}
