/*
Theme Name: Terabat Apps
Theme URI: https://terabatapps.com/
Author: Terabat Apps LLC
Author URI: https://terabatapps.com/
Description: Modern app-development studio theme for Terabat Apps LLC and its software products, including iTextMagic.
Version: 1.1.4
Text Domain: terabat-apps
*/

:root {
  --ta-bg: #eef3f8;
  --ta-surface: #ffffff;
  --ta-surface-soft: #f7f9fc;
  --ta-text: #152033;
  --ta-muted: #64748b;
  --ta-line: #dbe3ed;
  --ta-dark: #07111f;
  --ta-dark-2: #0b1728;
  --ta-dark-3: #10213a;
  --ta-accent: #1888ff;
  --ta-accent-2: #5aa8ff;
  --ta-accent-dark: #0c6bd4;
  --ta-cyan: #54d2ff;
  --ta-green: #46d39a;
  --ta-radius: 16px;
  --ta-radius-lg: 24px;
  --ta-shadow: 0 18px 48px rgba(18, 42, 72, .10);
  --ta-shadow-dark: 0 24px 70px rgba(0, 0, 0, .28);
  --ta-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ta-bg);
  color: var(--ta-text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ta-accent-dark); text-decoration: none; }
a:hover { color: var(--ta-accent); }
img { max-width: 100%; height: auto; }
main { overflow: hidden; }

.ta-wrap { width: min(var(--ta-max), calc(100% - 40px)); margin: 0 auto; }
.ta-narrow { max-width: 960px; }
.ta-narrow-wide { max-width: 1080px; }

/* Header */
.ta-header {
  background: rgba(7, 17, 31, .96);
  border-bottom: 1px solid rgba(255,255,255,.08);
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
}
body.admin-bar .ta-header { top: 32px; }
.ta-header-inner { min-height: 112px; display: flex; align-items: center; gap: 34px; }
.ta-brand { display: flex; align-items: center; margin-right: auto; flex: 0 0 auto; }
.ta-default-logo { display: block; width: auto; height: auto; max-height: 66px; max-width: 320px; }
.ta-nav ul { list-style: none; display: flex; gap: 34px; margin: 0; padding: 0; align-items: center; }
.ta-nav a { color: #c9d6e7; font-weight: 700; font-size: 1rem; }
.ta-nav a:hover { color: #fff; }
.ta-header-cta { display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgba(90,168,255,.45); border-radius: 14px; padding: 15px 20px; color: #eaf4ff; font-weight: 800; font-size: 1rem; background: rgba(24,136,255,.11); }
.ta-header-cta:hover { color: #fff; background: rgba(24,136,255,.22); }

/* Shared UI */
.ta-kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 850; color: var(--ta-accent-dark); }
.ta-kicker-light { color: #75b9ff; }
.ta-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 21px; border-radius: 11px; border: 1px solid transparent; font-weight: 760; transition: .18s ease; }
.ta-btn:hover { transform: translateY(-1px); }
.ta-btn-primary { background: linear-gradient(135deg, #1888ff, #0c6bd4); color: #fff; box-shadow: 0 10px 24px rgba(24,136,255,.23); }
.ta-btn-primary:hover { color: #fff; box-shadow: 0 13px 28px rgba(24,136,255,.32); }
.ta-btn-secondary { background: #fff; border-color: var(--ta-line); color: var(--ta-text); }
.ta-btn-ghost { color: #e9f3ff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.05); }
.ta-btn-ghost:hover { color: #fff; background: rgba(255,255,255,.10); }
.ta-btn-block { width: 100%; margin-top: 20px; }
.ta-text-link { font-weight: 750; }
.ta-text-link-light { color: #b9d9ff; }
.ta-text-link-light:hover { color: #fff; }

/* Dark developer grid */
.ta-dev-grid { position: relative; background: radial-gradient(circle at 82% 12%, rgba(24,136,255,.22), transparent 31%), radial-gradient(circle at 7% 88%, rgba(84,210,255,.08), transparent 30%), linear-gradient(135deg, #07111f 0%, #0a1728 52%, #0c1b31 100%); color: #fff; }
.ta-dev-grid:before { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image: linear-gradient(rgba(120,174,232,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(120,174,232,.12) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 90%); }
.ta-dev-grid > * { position: relative; z-index: 1; }

/* Home hero */
.ta-hero { padding: 92px 0 82px; }
.ta-hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 64px; align-items: center; }
.ta-eyebrow-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ta-status-dot { display:inline-flex; align-items:center; gap:7px; font-size:.76rem; font-weight:750; color:#cde3fa; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.05); border-radius:999px; padding:5px 9px; }
.ta-status-dot:before { content:""; width:7px; height:7px; border-radius:50%; background:var(--ta-green); box-shadow:0 0 0 4px rgba(70,211,154,.11); }
.ta-hero h1 { font-size: clamp(2.75rem, 6vw, 5.3rem); line-height: .98; margin: 18px 0 24px; letter-spacing: -.055em; max-width: 760px; }
.ta-hero h1 span { color: #86c2ff; }
.ta-hero-copy > p { font-size: 1.14rem; color: #aebed1; max-width: 680px; }
.ta-tech-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:40px; border-top:1px solid rgba(255,255,255,.10); padding-top:18px; color:#9fb1c7; font-size:.84rem; }
.ta-tech-strip b { color:#68b1ff; font-size:.72rem; margin-right:7px; }

/* Featured app window */
.ta-app-window { border:1px solid rgba(125,182,241,.2); border-radius:22px; overflow:hidden; background:rgba(8,22,39,.82); box-shadow:var(--ta-shadow-dark); backdrop-filter:blur(10px); }
.ta-app-window-bar { height:48px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 16px; border-bottom:1px solid rgba(255,255,255,.08); color:#93a8c0; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; }
.ta-window-dots { display:flex; gap:6px; }
.ta-window-dots i { width:8px; height:8px; border-radius:50%; background:#3d5067; }
.ta-window-dots i:first-child { background:#ff6b6b; }
.ta-window-dots i:nth-child(2) { background:#f0be54; }
.ta-window-dots i:nth-child(3) { background:#42cf87; }
.ta-platform-pill { justify-self:end; font-size:.68rem; color:#bcd4ed; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); padding:4px 8px; border-radius:999px; }
.ta-app-window-body { padding:28px; }
.ta-app-identity { display:grid; grid-template-columns:92px 1fr; gap:20px; align-items:center; }
.ta-app-icon-wrap { width:92px; height:92px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(145deg,#fff,#dceeff); box-shadow:0 15px 35px rgba(0,0,0,.25); padding:8px; }
.ta-app-icon-wrap img { width:100%; height:100%; object-fit:contain; }
.ta-product-badge { display:inline-flex; padding:4px 8px; border-radius:999px; background:rgba(24,136,255,.12); border:1px solid rgba(90,168,255,.22); color:#8ec5ff; font-size:.68rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.ta-app-identity h2 { margin:7px 0 2px; font-size:2.2rem; letter-spacing:-.035em; }
.ta-app-identity p { margin:0; color:#9fb2c8; }
.ta-app-flow { margin:26px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ta-app-flow div { padding:14px; border-radius:12px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); }
.ta-app-flow span { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:rgba(24,136,255,.15); color:#74b8ff; font-weight:850; font-size:.75rem; margin-bottom:10px; }
.ta-app-flow strong { display:block; font-size:.88rem; }
.ta-app-flow small { display:block; margin-top:4px; color:#8095ad; line-height:1.35; }
.ta-check-list { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px; }
.ta-check-list li { position:relative; padding-left:25px; color:#bed0e4; }
.ta-check-list li:before { content:"✓"; position:absolute; left:0; color:#5aa8ff; font-weight:900; }
.ta-product-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:24px; }

/* Home content */
.ta-section { padding: 76px 0; }
.ta-section-light { background:#f4f7fb; }
.ta-section-tight { padding-top:68px; padding-bottom:68px; }
.ta-section-heading { display:grid; grid-template-columns:1.08fr .92fr; gap:44px; align-items:end; margin-bottom:30px; }
.ta-section-heading h2, .ta-section h2 { font-size:clamp(2rem,4vw,3rem); line-height:1.08; margin:8px 0 0; letter-spacing:-.035em; }
.ta-section-heading p, .ta-section-intro { color:var(--ta-muted); margin:0; }
.ta-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ta-card, .ta-content-card { background:var(--ta-surface); border:1px solid var(--ta-line); border-radius:var(--ta-radius); box-shadow:var(--ta-shadow); }
.ta-card { padding:26px; }
.ta-card h3 { margin:8px 0 8px; font-size:1.25rem; }
.ta-card p { color:var(--ta-muted); margin-bottom:0; }
.ta-dev-card { position:relative; overflow:hidden; }
.ta-dev-card:after { content:""; position:absolute; width:100px; height:100px; right:-48px; top:-50px; background:radial-gradient(circle, rgba(24,136,255,.16), transparent 68%); }
.ta-dev-glyph { width:44px; height:44px; display:grid; place-items:center; border-radius:11px; background:#eef6ff; color:#0875e7; font-family:Consolas, monospace; font-weight:900; font-size:1rem; }
.ta-card-number { display:block; margin-top:22px; font-size:.68rem; font-weight:850; letter-spacing:.10em; color:#6a7990; text-transform:uppercase; }

/* Product spotlight */
.ta-product-spotlight { background:#fff; border-top:1px solid var(--ta-line); border-bottom:1px solid var(--ta-line); }
.ta-product-spotlight-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:center; }
.ta-product-title-row { display:flex; align-items:center; gap:16px; margin-top:8px; }
.ta-product-title-row h2 { margin:0; }
.ta-inline-app-icon { width:54px; height:54px; object-fit:contain; border-radius:12px; background:#eef7ff; padding:4px; box-shadow:0 8px 20px rgba(24,136,255,.10); }
.ta-section-intro { max-width:760px; margin:18px 0 26px; font-size:1.05rem; }
.ta-mini-steps { display:grid; gap:0; margin:26px 0 0; border-top:1px solid var(--ta-line); }
.ta-mini-steps div { display:grid; grid-template-columns:130px 1fr; gap:14px; padding:15px 0; border-bottom:1px solid var(--ta-line); }
.ta-mini-steps strong { color:var(--ta-text); }
.ta-mini-steps span { color:var(--ta-muted); }
.ta-product-summary-card { background:linear-gradient(145deg,#081524,#10243d); color:#fff; border:1px solid #1b3657; border-radius:20px; padding:28px; box-shadow:0 22px 54px rgba(9,28,51,.20); }
.ta-terminal-label { font-family:Consolas, "SFMono-Regular", monospace; font-size:.68rem; letter-spacing:.12em; color:#6fb5ff; margin-bottom:20px; }
.ta-product-summary-card h3 { margin:0 0 10px; font-size:1.55rem; }
.ta-product-summary-card p, .ta-product-summary-card small { color:#adc0d5; }
.ta-price-row { display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.12); padding:14px 0; }
.ta-price-row strong { color:#fff; }

/* Studio strip */
.ta-studio-strip { background:#0a1524; color:#fff; }
.ta-studio-grid { display:grid; grid-template-columns:1.15fr .42fr .85fr; gap:38px; align-items:center; }
.ta-studio-grid h2 { margin:8px 0 8px; }
.ta-studio-grid p { color:#9eb1c8; margin:0; }
.ta-studio-logo-card { min-height:190px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:#fff; padding:18px; }
.ta-studio-logo-card img { max-height:150px; width:auto; }
.ta-studio-contact { display:grid; gap:8px; }
.ta-studio-contact span { color:#879bb3; font-size:.9rem; }
.ta-studio-contact a { color:#88c6ff; font-size:1.06rem; font-weight:750; }

/* Interior page heroes */
.ta-page-hero { padding:68px 0 38px; background:linear-gradient(135deg,#07111f,#10223a); color:#fff; border-bottom:1px solid #19314e; }
.ta-page-hero h1 { font-size:clamp(2.4rem,5vw,4rem); line-height:1.03; margin:10px 0 14px; letter-spacing:-.04em; }
.ta-page-hero p { max-width:780px; margin:0; color:#aec0d3; font-size:1.08rem; }
.ta-page-hero .ta-kicker { color:#72b8ff; }

.ta-product-hero { padding:72px 0 58px; }
.ta-product-hero-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:48px; align-items:center; }
.ta-product-page-title { display:grid; grid-template-columns:96px 1fr; gap:22px; align-items:center; margin-top:16px; }
.ta-product-page-title img { width:96px; height:96px; object-fit:contain; background:#fff; border-radius:20px; padding:7px; box-shadow:0 14px 35px rgba(0,0,0,.25); }
.ta-product-page-title h1 { font-size:clamp(2.6rem,5vw,4.5rem); line-height:1; letter-spacing:-.05em; margin:0 0 10px; }
.ta-product-page-title p { color:#aec0d3; margin:0; font-size:1.08rem; max-width:700px; }
.ta-product-code-card { border:1px solid rgba(112,181,255,.18); border-radius:18px; background:rgba(4,15,27,.58); padding:12px 20px; box-shadow:var(--ta-shadow-dark); }
.ta-product-code-card div { display:grid; grid-template-columns:110px 1fr; gap:16px; padding:14px 2px; border-bottom:1px solid rgba(255,255,255,.08); }
.ta-product-code-card div:last-child { border-bottom:0; }
.ta-product-code-card span { color:#6d8ba9; font-family:Consolas, monospace; font-size:.75rem; }
.ta-product-code-card strong { color:#e8f2fd; font-size:.9rem; }

/* Interior content */
.ta-content { padding:60px 0 84px; }
.ta-content-card { padding:34px; }
.entry-content h1, .entry-content h2, .entry-content h3 { color:var(--ta-text); }
.entry-content h2 { margin-top:34px; }
.entry-content h2:first-child { margin-top:0; }
.entry-content p, .entry-content li { color:#475569; }
.entry-content ul { padding-left:22px; }
.ta-info-grid { margin:24px 0 34px; }
.ta-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.ta-contact-grid .ta-content-card { height:100%; }
.ta-legal-note { margin-top:30px; padding:16px 18px; border-radius:11px; background:#eef4f9; border:1px solid var(--ta-line); color:var(--ta-muted); font-size:.92rem; }

/* iTextMagic detail page */
.ta-product-content-card { padding:38px; }
.ta-section-heading-compact { margin-bottom:26px; }
.ta-workflow-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:44px; }
.ta-workflow-cards article { border:1px solid var(--ta-line); border-radius:14px; padding:22px; background:linear-gradient(180deg,#fff,#f8fbff); }
.ta-workflow-cards span { display:grid; place-items:center; width:35px; height:35px; border-radius:9px; background:#e9f4ff; color:#0873df; font-family:Consolas, monospace; font-weight:900; font-size:.76rem; }
.ta-workflow-cards h3 { margin:16px 0 6px; }
.ta-workflow-cards p { margin:0; color:var(--ta-muted); }
.ta-product-detail-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:36px; align-items:start; padding-top:34px; border-top:1px solid var(--ta-line); }
.ta-product-detail-grid h2 { margin:8px 0 12px; }
.ta-check-list-darktext li { color:#435166; }
.ta-download-panel { margin-top:42px; padding:26px; border-radius:16px; border:1px solid #bcdcff; background:linear-gradient(135deg,#f5faff,#ebf5ff); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.ta-download-panel h2 { margin:7px 0 4px; }
.ta-download-panel p { margin:0; color:var(--ta-muted); }
.ta-support-inline { margin-top:26px; display:flex; gap:18px; align-items:flex-start; padding:18px 20px; border-top:1px solid var(--ta-line); color:var(--ta-muted); }
.ta-support-inline strong { color:var(--ta-text); }

/* Footer */
.ta-footer-cta { background:linear-gradient(135deg,#0c1a2b,#10243b); color:#fff; padding:48px 0; border-top:1px solid #1b3656; }
.ta-footer-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.ta-footer-cta h2 { margin:6px 0 2px; font-size:2rem; }
.ta-footer-cta p { margin:0; color:#93a8bf; }
.ta-footer { background:#06101c; color:#8396ab; padding:28px 0; font-size:.87rem; border-top:1px solid rgba(255,255,255,.06); }
.ta-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.ta-footer-brand { display:flex; align-items:center; gap:14px; }
.ta-footer-logo-shell { display:inline-flex; align-items:center; background:transparent; padding:0; border-radius:0; }
.ta-footer-logo-shell img { height:30px; width:auto; display:block; }
.ta-footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.ta-footer a { color:#a9bdd2; }
.ta-footer a:hover { color:#fff; }

/* Generic / WordPress */
.entry-content { font-size:1rem; }

@media (max-width: 980px) {
  .ta-header-cta { display:none; }
  .ta-hero-grid, .ta-product-spotlight-grid, .ta-product-hero-grid, .ta-product-detail-grid { grid-template-columns:1fr; }
  .ta-app-window { max-width:680px; }
  .ta-studio-grid { grid-template-columns:1fr 240px; }
  .ta-studio-contact { grid-column:1 / -1; }
}

@media (max-width: 820px) {
  body.admin-bar .ta-header { top:46px; }
  .ta-header-inner { min-height:auto; align-items:flex-start; padding:13px 0; flex-wrap:wrap; }
  .ta-default-logo { max-height: 52px; max-width: 250px; }
  .ta-nav { width:100%; }
  .ta-nav ul { flex-wrap:wrap; gap:10px 18px; }
  .ta-hero { padding:68px 0 62px; }
  .ta-hero-grid { gap:42px; }
  .ta-tech-strip, .ta-app-flow, .ta-grid-3, .ta-workflow-cards, .ta-contact-grid { grid-template-columns:1fr; }
  .ta-section-heading { grid-template-columns:1fr; gap:16px; }
  .ta-mini-steps div { grid-template-columns:1fr; gap:4px; }
  .ta-studio-grid { grid-template-columns:1fr; }
  .ta-studio-logo-card { max-width:260px; }
  .ta-product-page-title { grid-template-columns:72px 1fr; }
  .ta-product-page-title img { width:72px; height:72px; }
  .ta-download-panel, .ta-footer-cta-inner { align-items:flex-start; flex-direction:column; }
  .ta-support-inline { flex-direction:column; gap:4px; }
}

@media (max-width: 560px) {
  .ta-wrap { width:min(var(--ta-max), calc(100% - 26px)); }
  .ta-logo-shell { padding:6px 8px; }
  .ta-default-logo, .ta-brand .custom-logo { max-width:190px; max-height:37px; }
  .ta-hero h1 { font-size:clamp(2.6rem,13vw,4rem); }
  .ta-app-identity { grid-template-columns:70px 1fr; gap:14px; }
  .ta-app-icon-wrap { width:70px; height:70px; border-radius:16px; }
  .ta-app-window-body { padding:20px; }
  .ta-product-content-card, .ta-content-card { padding:24px; }
  .ta-product-page-title { grid-template-columns:1fr; }
  .ta-product-page-title img { width:82px; height:82px; }
  .ta-footer-inner { align-items:flex-start; flex-direction:column; }
}
