/* ==========================================================================
   Shared components — used on 3+ pages (about, contact, pricing, features,
   blogs, solutions/*, and injected on every page via main.js). Kept in one
   file rather than duplicated across pages to avoid maintaining 5-7 copies
   of the same button/card/CTA pattern. Page-only sections live in each
   page's own CSS file (home.css, features.css, pricing.css, blogs.css,
   contact.css, about.css).
   ========================================================================== */

/* ---------- Media zoom (split-section images) ---------- */
.zoom-media{overflow:hidden;}
.zoom-media img{transition:transform .6s cubic-bezier(.16,1,.3,1);}
.zoom-media:hover img{transform:scale(1.06);}

/* ---------- Accordion (feature explainer) ---------- */
.accordion-item{border-bottom:1px solid var(--line);}
.accordion-item .a-head{
  display:flex;justify-content:space-between;align-items:center;padding:22px 4px;font-family:var(--font-head);font-weight:600;color:var(--dark);
}
.accordion-item .a-head svg{width:16px;height:16px;transition:transform .3s ease;flex:none;color:var(--red);}
.accordion-item.open .a-head svg{transform:rotate(45deg);}
.accordion-item .a-body{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.accordion-item.open .a-body{max-height:300px;}
.accordion-item .a-body p{padding:0 4px 22px;font-size:.92rem;}

/* ---------- Split section (image + text) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.rev{direction:rtl;}
.split.rev > *{direction:ltr;}
.split-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.split-media img{width:100%;}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:36px;}.split.rev{direction:ltr;}}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--grad-dark);border-radius:var(--radius-lg);padding:72px 60px;text-align:center;position:relative;overflow:hidden;
}
.cta-band h2{color:#fff;margin-bottom:14px;}
.cta-band p{color:rgba(255,255,255,.65);max-width:520px;margin:0 auto 32px;}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
@media(max-width:640px){.cta-band{padding:52px 28px;}}

/* ---------- Solutions sub-nav ---------- */
.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.subnav a{padding:10px 18px;border-radius:999px;border:1px solid var(--line);font-size:.86rem;font-weight:500;color:var(--ink-light);background:#fff;}
.subnav a.active{background:var(--dark);color:#fff;border-color:var(--dark);}

/* ---------- Checklist ---------- */
.check-list li{padding:10px 0 10px 30px;position:relative;color:var(--ink-light);}
.check-list li::before{content:'✓';position:absolute;left:0;top:9px;color:var(--grey-dark);font-weight:700;}

/* ---------- Promo modal (shown after 10s, every page) ---------- */
.promo-modal-backdrop{
  position:fixed;inset:0;z-index:9998;
  background:rgba(36,22,49,.6);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;pointer-events:none;
  transition:opacity .35s ease;
}
.promo-modal-backdrop.open{opacity:1;pointer-events:auto;}
.promo-modal{
  position:relative;
  width:100%;max-width:440px;
  background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  padding:40px 36px;text-align:center;
  transform:scale(.9) translateY(20px);opacity:0;
  transition:transform .4s cubic-bezier(.16,1,.3,1), opacity .4s ease;
}
.promo-modal-backdrop.open .promo-modal{transform:scale(1) translateY(0);opacity:1;}
.promo-modal .pm-close{
  position:absolute;top:16px;right:16px;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--ink-light);
  transition:background .3s ease,color .3s ease;
}
.promo-modal .pm-close:hover{background:var(--dark);color:#fff;}
.promo-modal .pm-close svg{width:16px;height:16px;}
.promo-modal .pm-icon{
  width:56px;height:56px;border-radius:16px;margin:0 auto 20px;
  background:var(--grad-red);display:flex;align-items:center;justify-content:center;color:#fff;
}
.promo-modal .pm-icon svg{width:26px;height:26px;}
.promo-modal h3{font-size:1.3rem;margin-bottom:10px;}
.promo-modal p{font-size:.94rem;margin-bottom:26px;}
.promo-modal .pm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
@media(max-width:480px){.promo-modal{padding:32px 24px;}}

/* ---------- Feature grid (used on home + features pages) ---------- */
.feature-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.feature-card{padding:32px 26px;position:relative;}
.feature-card .fic{
  width:52px;height:52px;border-radius:14px;
  background:var(--grad-dark);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;color:#fff;
}
.feature-card .fic svg{width:24px;height:24px;}
.feature-card h4{font-size:1.05rem;margin-bottom:8px;}
.feature-card p{font-size:.9rem;margin:0;}
.feature-card .tag{
  position:absolute;top:26px;right:26px;
  font-family:var(--font-mono);font-size:.68rem;color:var(--line);color:rgba(36,22,49,.18);
}
@media(max-width:1024px){.feature-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.feature-grid{grid-template-columns:1fr;}}

/* ---------- Industry cards (used on home + features pages) ---------- */
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.industry-card{
  padding:34px 28px;min-height:220px;
  display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;
  transform-style:preserve-3d;perspective:800px;
}
.industry-card .ind-media{position:absolute;inset:0;z-index:0;}
.industry-card .ind-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.industry-card:hover .ind-media img{transform:scale(1.12);}
.industry-card .ind-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(36,22,49,.15) 0%, rgba(36,22,49,.88) 78%);
}
.industry-card .ic{
  position:relative;z-index:2;
  width:48px;height:48px;border-radius:13px;background:rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;margin-bottom:auto;color:#fff;
  border:1px solid rgba(255,255,255,.22);
}
.industry-card .ic svg{width:22px;height:22px;}
.industry-card h4{position:relative;z-index:2;margin-bottom:4px;font-size:1.05rem;color:#fff;}
.industry-card span{position:relative;z-index:2;color:rgba(255,255,255,.72);font-size:.82rem;}
@media(max-width:1024px){.industry-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.industry-grid{grid-template-columns:1fr;}}

/* ---------- Pricing cards (used on home + pricing pages) ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.price-card{padding:40px 32px;display:flex;flex-direction:column;position:relative;}
.price-card.featured{
  background:var(--grad-dark);color:#fff;transform:scale(1.04);border:none;box-shadow:var(--shadow-lg);
}
.price-card.featured h3, .price-card.featured p, .price-card.featured .price{color:#fff;}
.price-card.featured p{color:rgba(255,255,255,.65);}
.price-card .badge{
  position:absolute;top:-14px;left:32px;
  background:var(--red);color:#fff;font-size:.72rem;font-weight:700;
  padding:6px 14px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;
}
.price-card h3{font-size:1.3rem;margin-bottom:6px;}
.price-card ul{margin:26px 0;flex:1;}
.price-card ul li{padding:10px 0 10px 28px;position:relative;font-size:.9rem;color:var(--ink-light);}
.price-card.featured ul li{color:rgba(255,255,255,.82);}
.price-card ul li::before{content:'✓';position:absolute;left:0;top:9px;color:var(--grey-dark);font-weight:700;}
.price-card.featured ul li::before{color:var(--red);}
.price-card .ideal{font-size:.8rem;color:var(--ink-light);margin-bottom:22px;}
.price-card.featured .ideal{color:rgba(255,255,255,.6);}
@media(max-width:1024px){.pricing-grid{grid-template-columns:1fr;}.price-card.featured{transform:none;order:-1;}}

/* ---------- Platform Features grid (features.html) ---------- */
.platform-grid{grid-template-columns:repeat(3,1fr);}
.platform-grid .feature-card{display:flex;flex-direction:column;height:100%;}
.platform-grid .feature-card .fic{background:var(--grad-red);box-shadow:0 10px 22px rgba(228,58,41,.25);transition:transform .4s cubic-bezier(.16,1,.3,1);}
.platform-grid .feature-card:hover .fic{transform:scale(1.08) rotate(-4deg);}
@media(max-width:1024px){.platform-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.platform-grid{grid-template-columns:1fr;}}

/* ---------- Resources redirect card ---------- */
.res-redirect{max-width:720px;margin:0 auto;padding:56px 44px;text-align:center;}
.res-redirect h2{font-size:clamp(1.4rem,2.6vw,1.9rem);}
.res-redirect p{max-width:520px;margin:0 auto 28px;}
@media(max-width:640px){.res-redirect{padding:40px 24px;}}

/* ---------- Legal pages (privacy / terms / cookies) ---------- */
.legal-doc{max-width:820px;}
.legal-doc .legal-intro{font-size:1.02rem;color:var(--ink);margin-bottom:32px;}
.legal-doc h2{font-size:1.2rem;margin:36px 0 12px;}
.legal-doc h2:first-of-type{margin-top:0;}
.legal-doc p{margin-bottom:14px;}
.legal-doc ul{margin:0 0 18px;padding-left:22px;}
.legal-doc ul li{margin-bottom:8px;color:var(--ink-light);line-height:1.65;}
.legal-doc ul li strong{color:var(--dark);}
.legal-doc .legal-address{font-style:normal;margin-top:8px;padding:20px 24px;background:var(--bg);border-radius:var(--radius-md);border:1px solid var(--line);line-height:1.9;}
.legal-doc .legal-address a{color:var(--red-dark);font-weight:600;}
