/* DTEM Software Pages — all public styles are scoped to this plugin's page wrapper. */
body.dtem-software-plugin-page .entry-title,
body.dtem-software-plugin-page .page-title,
body.dtem-software-plugin-page .wp-block-post-title,
body.dtem-software-plugin-page .entry-header:has(.entry-title) {
  display:none !important;
}
body.dtem-software-plugin-page .site-main,
body.dtem-software-plugin-page main,
body.dtem-software-plugin-page .content-area {
  overflow:visible;
}

.dtem-sw-page,
.dtem-sw-page * { box-sizing:border-box; }
.dtem-sw-page {
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  font-family:var(--dtem-font-family,inherit);
  color:#14202a;
  overflow:hidden;
  background:#fff;
}
.dtem-sw-page a { text-decoration:none; }
.dtem-sw-section {
  position:relative;
  isolation:isolate;
  min-height:var(--dtem-min-height,0px);
  padding-top:var(--dtem-pad-top,70px);
  padding-bottom:var(--dtem-pad-bottom,70px);
  color:var(--dtem-body-color,#5e6973);
}
.dtem-sw-section__bg,
.dtem-sw-section__overlay { position:absolute; inset:0; z-index:-2; }
.dtem-sw-section__bg { background-size:cover; background-position:center; }
.dtem-sw-section__overlay { z-index:-1; background:var(--dtem-overlay,transparent); pointer-events:none; }
.dtem-sw-section__inner {
  width:min(var(--dtem-max-width,1320px),calc(100% - 64px));
  margin:0 auto;
  position:relative;
}
.dtem-sw-eyebrow {
  margin:0 0 14px;
  color:var(--dtem-eyebrow-color,var(--dtem-accent,#24e58a));
  font-size:var(--dtem-eyebrow-size,12px);
  font-weight:var(--dtem-eyebrow-weight,800);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.dtem-sw-title {
  margin:0;
  color:var(--dtem-title-color,#14202a);
  font-size:clamp(34px,var(--dtem-title-size,42px),var(--dtem-title-size,42px));
  line-height:1.02;
  font-weight:var(--dtem-title-weight,800);
  font-family:var(--dtem-title-font,inherit);
  letter-spacing:-.035em;
}
.dtem-sw-body {
  margin-top:20px;
  color:var(--dtem-body-color,#5e6973);
  font-size:var(--dtem-body-size,17px);
  font-weight:var(--dtem-body-weight,400);
  font-family:var(--dtem-body-font,inherit);
  line-height:1.7;
}
.dtem-sw-body p { margin:0 0 14px; }
.dtem-sw-body p:last-child { margin-bottom:0; }
.dtem-sw-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.dtem-sw-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:12px 22px;
  border-radius:var(--dtem-button-radius,999px);
  font-size:14px;
  font-weight:800;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.dtem-sw-btn:hover { transform:translateY(-2px); }
.dtem-sw-btn--primary {
  background:var(--dtem-button-bg,var(--dtem-accent,#24e58a));
  color:var(--dtem-button-color,#0b1720) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--dtem-accent,#24e58a) 22%,transparent);
}
.dtem-sw-btn--secondary {
  color:var(--dtem-title-color,#14202a) !important;
  border:1px solid color-mix(in srgb,var(--dtem-title-color,#14202a) 24%,transparent);
  background:color-mix(in srgb,var(--dtem-title-color,#14202a) 5%,transparent);
}

/* Hero */
.dtem-sw-hero {
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
  align-items:center;
  gap:58px;
}
.dtem-sw-hero--image-left .dtem-sw-hero__copy { order:2; }
.dtem-sw-hero--image-left .dtem-sw-hero__visual { order:1; }
.dtem-sw-hero__copy { max-width:610px; text-align:var(--dtem-text-align,left); position:relative; z-index:4; }
.dtem-sw-hero__copy .dtem-sw-title { font-size:clamp(44px,5vw,var(--dtem-title-size,68px)); }
.dtem-sw-hero__logo { display:block; max-width:var(--dtem-logo-width,280px); max-height:86px; object-fit:contain; object-position:left center; margin:0 0 24px; }
.dtem-sw-hero__visual { min-height:480px; position:relative; display:flex; align-items:center; justify-content:center; }
.dtem-sw-hero__visual:before,
.dtem-sw-hero__visual:after {
  content:""; position:absolute; border-radius:50%; pointer-events:none;
}
.dtem-sw-hero__visual:before { width:410px;height:410px;border:2px solid color-mix(in srgb,var(--dtem-accent,#24e58a) 55%,transparent);opacity:.48; }
.dtem-sw-hero__visual:after { width:295px;height:295px;background:color-mix(in srgb,var(--dtem-accent,#24e58a) 12%,transparent);filter:blur(1px); }
.dtem-sw-mockups { width:100%; height:510px; position:relative; z-index:2; }
.dtem-sw-device {
  position:absolute;
  background:#111b24;
  padding:8px 8px 10px;
  border-radius:14px;
  box-shadow:0 30px 65px rgba(0,0,0,.30),0 2px 0 rgba(255,255,255,.25) inset;
  border:1px solid rgba(255,255,255,.20);
  overflow:visible;
}
.dtem-sw-device__top,
.dtem-sw-single-device__top { height:14px;display:flex;gap:4px;align-items:center;padding:0 4px; }
.dtem-sw-device__top span,
.dtem-sw-single-device__top span { width:5px;height:5px;border-radius:50%;background:#8b98a2;opacity:.75; }
.dtem-sw-device__screen { overflow:hidden;border-radius:8px;background:#fff;aspect-ratio:16/9; }
.dtem-sw-device__screen img { width:100%;height:100%;display:block;object-fit:cover;object-position:top center; }
.dtem-sw-device__base,
.dtem-sw-single-device__base { width:88%;height:9px;background:linear-gradient(#c9cdd0,#777f85);border-radius:0 0 50% 50%;position:absolute;left:6%;bottom:-7px;box-shadow:0 4px 10px rgba(0,0,0,.28); }
.dtem-sw-device--1 { width:64%;right:2%;top:2%;transform:rotate(-1.5deg);z-index:3; }
.dtem-sw-device--2 { width:55%;left:2%;bottom:3%;transform:rotate(1.6deg);z-index:4; }
.dtem-sw-device--3 { width:48%;right:0;bottom:1%;transform:rotate(2.6deg);z-index:5; }
.dtem-sw-mockups--count-1 .dtem-sw-device--1 { width:86%;right:4%;top:10%;transform:rotate(-1deg); }
.dtem-sw-mockups--count-2 .dtem-sw-device--1 { width:70%;right:1%;top:4%; }
.dtem-sw-mockups--count-2 .dtem-sw-device--2 { width:64%;left:1%;bottom:6%; }

/* Intro */
.dtem-sw-intro { max-width:var(--dtem-max-text,920px);margin:0 auto;text-align:var(--dtem-text-align,center); }
.dtem-sw-intro .dtem-sw-title { font-size:clamp(32px,4vw,var(--dtem-title-size,42px)); }

/* Full-width software banner sections */
.dtem-sw-software {
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);
  gap:64px;
  align-items:center;
}
.dtem-sw-software--image-left .dtem-sw-software__copy { order:2; }
.dtem-sw-software--image-left .dtem-sw-software__visual { order:1; }
.dtem-sw-software__copy { max-width:625px;text-align:var(--dtem-text-align,left); }
.dtem-sw-software__logo-wrap { margin:0 0 22px;display:inline-flex;align-items:center;max-width:320px; }
.dtem-sw-software__logo { display:block;max-width:var(--dtem-logo-width,300px);max-height:80px;object-fit:contain;object-position:left center; }
.dtem-sw-software .dtem-sw-title { font-size:clamp(34px,4vw,var(--dtem-title-size,44px)); }
.dtem-sw-bullets { margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;list-style:none; }
.dtem-sw-bullets li { display:flex;align-items:center;gap:9px;color:var(--dtem-body-color,#5e6973);font-size:15px;font-weight:700; }
.dtem-sw-software__visual { position:relative;min-height:390px;display:flex;align-items:center;justify-content:center; }
.dtem-sw-software__visual:before { content:"";position:absolute;width:82%;height:72%;border-radius:42%;background:color-mix(in srgb,var(--dtem-accent,#24e58a) 14%,transparent);filter:blur(35px); }
.dtem-sw-single-device { width:min(100%,760px);position:relative;background:#111b24;padding:9px 9px 12px;border-radius:16px;box-shadow:0 30px 65px rgba(0,0,0,.22);transform:perspective(1300px) rotateY(-7deg) rotateX(2deg);border:1px solid rgba(255,255,255,.2);z-index:2; }
.dtem-sw-software--image-left .dtem-sw-single-device { transform:perspective(1300px) rotateY(7deg) rotateX(2deg); }
.dtem-sw-single-device img { width:100%;display:block;aspect-ratio:16/9;object-fit:cover;object-position:top center;border-radius:8px;background:#fff; }

/* Icons and feature grid */
.dtem-sw-icon { flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--dtem-accent,#24e58a); }
.dtem-sw-icon svg { width:100%;height:100%; }
.dtem-sw-icon--large { width:42px;height:42px;border-radius:13px;padding:9px;background:color-mix(in srgb,var(--dtem-accent,#24e58a) 12%,#fff); }
.dtem-sw-icon--image img { width:100%;height:100%;object-fit:contain; }
.dtem-sw-feature-section__intro { max-width:850px;margin:0 auto;text-align:var(--dtem-text-align,center); }
.dtem-sw-feature-grid { margin-top:40px;display:grid;grid-template-columns:repeat(var(--dtem-columns,3),minmax(0,1fr));gap:18px; }
.dtem-sw-feature-card { background:#fff;border:1px solid rgba(15,31,42,.08);border-radius:var(--dtem-card-radius,18px);padding:28px;box-shadow:0 12px 35px rgba(21,38,49,.06); }
.dtem-sw-feature-card h3 { color:var(--dtem-title-color,#14202a);font-size:19px;line-height:1.25;margin:18px 0 8px;font-weight:800; }
.dtem-sw-feature-card p { margin:0;color:var(--dtem-body-color,#5e6973);font-size:15px;line-height:1.62; }

/* Split */
.dtem-sw-split { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;align-items:center; }
.dtem-sw-split--image-left .dtem-sw-split__copy { order:2; }
.dtem-sw-split--image-left .dtem-sw-split__visual { order:1; }
.dtem-sw-split__copy { text-align:var(--dtem-text-align,left); }
.dtem-sw-image-card { border-radius:22px;overflow:hidden;box-shadow:0 24px 55px rgba(15,31,42,.16);border:1px solid rgba(15,31,42,.08);background:#fff; }
.dtem-sw-image-card img { width:100%;height:auto;display:block; }

/* CTA / quote */
.dtem-sw-cta { max-width:900px;margin:0 auto;text-align:var(--dtem-text-align,center); }
.dtem-sw-cta .dtem-sw-actions { justify-content:var(--dtem-text-align,center); }
.dtem-sw-quote { max-width:960px;margin:0 auto;text-align:var(--dtem-text-align,center);border:0;padding:0; }
.dtem-sw-quote p { color:var(--dtem-title-color,#14202a);font-size:clamp(30px,4vw,var(--dtem-title-size,38px));line-height:1.2;font-weight:var(--dtem-title-weight,800);margin:0;letter-spacing:-.025em; }
.dtem-sw-quote cite { display:block;margin-top:18px;color:var(--dtem-eyebrow-color,var(--dtem-accent));font-style:normal;font-weight:800; }
.dtem-sw-divider { border:0;border-top-style:solid;margin:0; }
.dtem-sw-placeholder { min-height:220px;border:2px dashed color-mix(in srgb,var(--dtem-accent,#24e58a) 40%,#b8c3ca);border-radius:18px;display:flex;align-items:center;justify-content:center;color:var(--dtem-body-color);background:rgba(255,255,255,.08);padding:30px;text-align:center; }

/* Front-end editor */
.dtem-editor-launch {
  position:fixed;right:22px;bottom:22px;z-index:999999;display:inline-flex;align-items:center;gap:9px;padding:13px 18px;border:0;border-radius:999px;background:#111d26;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.26);font:700 14px/1 var(--dtem-font-family,system-ui);cursor:pointer;
}
.dtem-editor-launch:before { content:"✎";font-size:16px; }
.dtem-editor-shell { position:fixed;inset:0;z-index:1000000;pointer-events:none;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.dtem-editor-shell.is-open { pointer-events:auto; }
.dtem-editor-scrim { position:absolute;inset:0;background:rgba(7,17,24,.42);opacity:0;transition:opacity .2s; }
.dtem-editor-shell.is-open .dtem-editor-scrim { opacity:1; }
.dtem-editor-panel { position:absolute;right:0;top:0;bottom:0;width:min(520px,96vw);background:#f8fafb;box-shadow:-18px 0 50px rgba(0,0,0,.24);transform:translateX(100%);transition:transform .24s ease;display:flex;flex-direction:column;color:#14202a; }
.dtem-editor-shell.is-open .dtem-editor-panel { transform:translateX(0); }
.dtem-editor-head { padding:18px 20px;background:#111d26;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px; }
.dtem-editor-head h2 { margin:0;color:#fff;font-size:18px; }
.dtem-editor-close { border:0;background:rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:9px;cursor:pointer;font-size:20px; }
.dtem-editor-tabs { display:flex;gap:6px;padding:12px 14px;background:#fff;border-bottom:1px solid #dfe5e8;overflow:auto; }
.dtem-editor-tab { border:1px solid #dce3e7;background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;font-size:12px;white-space:nowrap;cursor:pointer; }
.dtem-editor-tab.is-active { background:#e9fff3;border-color:#27d985;color:#0d7f48; }
.dtem-editor-body { flex:1;overflow:auto;padding:18px; }
.dtem-editor-footer { padding:14px 18px;background:#fff;border-top:1px solid #dfe5e8;display:flex;gap:10px;align-items:center; }
.dtem-editor-save,.dtem-editor-refresh,.dtem-editor-add { border:0;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer; }
.dtem-editor-save { background:#21df83;color:#071a11;flex:1; }
.dtem-editor-refresh { background:#e8eef1;color:#263640; }
.dtem-editor-status { font-size:12px;color:#6b7881;margin-left:auto; }
.dtem-editor-card { background:#fff;border:1px solid #dfe5e8;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 4px 15px rgba(18,32,42,.035); }
.dtem-editor-card h3,.dtem-editor-card h4 { margin:0 0 10px;color:#14202a; }
.dtem-editor-card p { margin:6px 0;color:#66747e;font-size:13px;line-height:1.5; }
.dtem-editor-section-row { display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid #dfe5e8;border-radius:10px;background:#fff;margin:8px 0; }
.dtem-editor-handle { cursor:grab;color:#8a969e;text-align:center;font-size:18px; }
.dtem-editor-section-name { font-weight:800;font-size:13px; }
.dtem-editor-section-type { display:block;color:#82909a;font-size:11px;font-weight:600;margin-top:2px; }
.dtem-editor-row-actions { display:flex;gap:5px; }
.dtem-editor-iconbtn { border:1px solid #dce3e7;background:#fff;border-radius:8px;min-width:30px;height:30px;cursor:pointer;font-weight:800;color:#263640; }
.dtem-editor-field { margin:0 0 14px; }
.dtem-editor-field label { display:block;font-size:12px;font-weight:800;color:#33444f;margin-bottom:6px; }
.dtem-editor-field input[type="text"],
.dtem-editor-field input[type="url"],
.dtem-editor-field input[type="number"],
.dtem-editor-field textarea,
.dtem-editor-field select { width:100%;border:1px solid #cfd8dd;border-radius:9px;background:#fff;padding:10px 11px;font:500 13px/1.4 ui-sans-serif,system-ui;color:#17242d;box-shadow:none; }
.dtem-editor-field textarea { min-height:90px;resize:vertical; }
.dtem-editor-grid2 { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.dtem-editor-media { display:flex;gap:8px;align-items:center; }
.dtem-editor-media input { flex:1;min-width:0; }
.dtem-editor-media button { border:1px solid #cad4da;background:#fff;border-radius:8px;padding:9px 10px;font-weight:800;cursor:pointer; }
.dtem-editor-media-preview { width:100%;max-height:120px;object-fit:contain;background:#eef2f4;border-radius:9px;margin-top:8px;display:block; }
.dtem-editor-check { display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700; }
.dtem-editor-subhead { margin:20px 0 10px;padding-top:14px;border-top:1px solid #e2e7ea;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#7b8992;font-weight:900; }
.dtem-editor-feature-row { background:#f7f9fa;border:1px solid #e1e7ea;border-radius:10px;padding:10px;margin:8px 0; }
.dtem-editor-feature-actions { display:flex;gap:6px;justify-content:flex-end;margin-top:8px; }
.dtem-editor-danger { color:#b42318;border-color:#fecaca;background:#fff5f5; }
.dtem-editor-add { width:100%;background:#14202a;color:#fff;margin-top:8px; }
.dtem-editor-product-grid { display:grid;grid-template-columns:1fr;gap:12px; }
.dtem-editor-product-logo { width:100px;height:55px;object-fit:contain;background:#eef2f4;border-radius:8px;padding:8px; }
.dtem-editor-note { background:#eefaf4;border:1px solid #b9ecd0;color:#276a47;padding:11px 12px;border-radius:10px;font-size:12px;line-height:1.5; }
.dtem-editor-code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;min-height:180px!important; }

@media (max-width:1050px) {
  .dtem-sw-hero,.dtem-sw-software,.dtem-sw-split { grid-template-columns:1fr;gap:34px; }
  .dtem-sw-hero__copy,.dtem-sw-software__copy { max-width:760px; }
  .dtem-sw-hero__visual { min-height:440px; }
  .dtem-sw-software__visual { min-height:340px; }
  .dtem-sw-hero--image-left .dtem-sw-hero__copy,
  .dtem-sw-software--image-left .dtem-sw-software__copy,
  .dtem-sw-split--image-left .dtem-sw-split__copy { order:1; }
  .dtem-sw-hero--image-left .dtem-sw-hero__visual,
  .dtem-sw-software--image-left .dtem-sw-software__visual,
  .dtem-sw-split--image-left .dtem-sw-split__visual { order:2; }
  .dtem-sw-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .dtem-sw-section__inner { width:min(var(--dtem-max-width,1320px),calc(100% - 36px)); }
  .dtem-sw-section { padding-top:clamp(44px,var(--dtem-pad-top,70px),var(--dtem-pad-top,70px));padding-bottom:clamp(44px,var(--dtem-pad-bottom,70px),var(--dtem-pad-bottom,70px)); }
  .dtem-sw-title,.dtem-sw-hero__copy .dtem-sw-title,.dtem-sw-software .dtem-sw-title { font-size:clamp(34px,11vw,52px); }
  .dtem-sw-body { font-size:16px; }
  .dtem-sw-hero__visual { min-height:330px; }
  .dtem-sw-mockups { height:350px; }
  .dtem-sw-device--1 { width:72%; }
  .dtem-sw-device--2 { width:65%; }
  .dtem-sw-device--3 { width:58%; }
  .dtem-sw-bullets { grid-template-columns:1fr; }
  .dtem-sw-feature-grid { grid-template-columns:1fr; }
  .dtem-sw-actions { width:100%; }
  .dtem-sw-btn { width:100%; }
  .dtem-sw-software__visual { min-height:260px; }
  .dtem-editor-grid2 { grid-template-columns:1fr; }
}
