

/* AustinSoft brand tokens — adjust to your exact brand hex codes */

:root {
  /* Bright, high-contrast palette (AA on light bg) */
  --bg: #F0F0F0;
  --card: #FFFFFF;
  --text: #101010;
  --muted: #6a6a6a;

  /* AustinSoft brand accents */
  --accent: #2fc7c7;        /* primary accent (Austin) */
  --accent-2: #1b8f8f;      /* deeper companion */
  --brand-primary: #2fc7c7; /* links, buttons, highlights */
  --brand-secondary: #1b8f8f;
  
  /* UI helpers */
  --focus: #1b8f8f;
  --hover-bg: #e6f7f7;
}

/* Map components to brand */

.btn {
  display:inline-block;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
  color:#ffffff;
  font-weight:700;
  padding:10px 14px;
  border-radius:14px;
}
.btn-image {
  display:inline-block;
  padding:0px;
}
a { color: var(--brand-primary); text-decoration: none; }

* { box-sizing: border-box; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--text); font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(1100px, 92vw); margin: 0 auto; padding: 24px 16px; }
.flex-between { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.skip-link { position:absolute; left:-9999px; top:-9999px; }
.skip-link:focus { left:8px; top:8px; background:#fff; color:#000; padding:8px; border-radius:8px; }
.site-header { position:sticky; top:0; background:rgba(255,255,255,.9); backdrop-filter: blur(10px); border-bottom:1px solid #d4d8da; z-index: 20; }
.nav ul { display:flex; gap:16px; list-style:none; margin:0; padding:0; align-items:center;}
.nav a, .nav button { color:var(--text); background:none; border:0; font:inherit; padding:8px 10px; border-radius:12px; }
.nav a:hover, .nav button:hover { background: #e6f2f2; }
.nav .dropdown { position:relative; }
.nav .dropdown .menu { display:none; position:absolute; top:100%; left:0; background:var(--card); border:1px solid #d4d8da; padding:8px; border-radius:12px; min-width:220px; }
.nav .dropdown.open .menu { display:block; }
.nav-toggle { display:none; }
@media (max-width: 760px) {
  .nav { display:none; }
  .nav.open { display:block; }
  .nav ul { flex-direction:column; align-items: stretch; }
  .nav-toggle { display:inline-block; }
}
.hero { padding: 80px 0 40px; }
.hero h1 { font-size: clamp(2rem, 3.5vw, 3rem); margin: 0 0 8px; }
.hero .tagline { color: var(--muted); font-size: 1.125rem; margin-bottom: 20px; }
.btn { display:inline-block; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#08101a; font-weight:700; padding:10px 14px; border-radius:14px; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:16px; margin: 24px 0 12px; }
.grid article { background:var(--card); border:1px solid #d4d8da; padding:16px; border-radius:16px; }
.muted { color:var(--muted); }
.form { display:grid; gap:12px; max-width:600px; }
.form label { display:grid; gap:6px; }
.form input, .form textarea { background:#ffffff; color:var(--text); border:1px solid #c6cbcf; border-radius:12px; padding:10px; }
.form .error { color: #ff8a8a; }
.form .success { color: #6cf29c; }
.products { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px; padding:0; list-style:none; }
.products li { background:var(--card); border:1px solid #d4d8da; padding:16px; border-radius:16px; }
.product header { margin-bottom:8px; }
.site-footer { border-top:1px solid #1f2433; margin-top:40px; }

/* Product gallery */
.product-hero { display:flex; align-items:center; gap:16px; margin: 8px 0 16px; }
.app-icon { width:72px; height:72px; border-radius:16px; border:1px solid #d4d8da; background:#fff; }
.gallery { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
.gallery img { width:100%; height:auto; display:block; border:1px solid #d4d8da; border-radius:12px; background:#fff; }

.nav a:hover, .nav button:hover { background: #e6f2f2; }
.grid article { background:var(--card); }
.gallery img { background:#fff; }
.app-icon { background:#fff; }


/* Brand avatar + text sizing */
/* --- Brand logo and text --- */
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand-avatar {
  height: 75px;
  width: auto;
  border-radius: 6px;
  display: block;
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
}

.brand-text {
  font-weight: 700;
  font-size: clamp(2rem, 4vw + 1rem, 68px); /* visually ≈75px high */
  line-height: 1;
}

.brand-austin {
  color: #2fc7c7;
}

.brand-soft {
  color: #8a8a8a;
}

/* Adjust at larger breakpoints */
@media (max-width: 900px) {
  .brand-avatar { height:75px; }
  .brand-text { font-size: 1.05rem; }
}

.nav a,
.nav button {
  color: #404040;                /* dark neutral for menu links */
  font-weight: 500;
}

.nav a:hover,
.nav button:hover {
  background: #e6f2f2;
  color: #1c7474;                /* matches your accent */
}

.captcha-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 6px;
}

.captcha-img {
  display: block;
  border-radius: 6px;
  border: 1px solid #d4d8da;
  background: #fff;
  height: 60px;
}

.btn-link {
  background: none;
  border: none;
  padding: 6px 8px;
  color: var(--brand-secondary);
  cursor: pointer;
  border-radius: 8px;
}
.btn-link:hover { background: var(--hover-bg); color: var(--brand-primary); }

.captcha { display:grid; grid-template-columns: 220px 1fr; gap:12px; align-items:center; }
.captcha img { border-radius: 8px; border: 1px solid #d4d8da; }
@media (max-width: 600px) {
  .captcha { grid-template-columns: 1fr; }
}
.error ul { margin: 0; padding-left: 18px; }

/* --------------------------------------------------------------------------
   Inline Code Styling Override
   -------------------------------------------------------------------------- */

/* Monospace inline code */
code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.95em;
  padding: 2px 4px;
  background: #e8f5f5;       /* light AustinSoft-teal tint */
  border: 1px solid #c7e7e7;
  border-radius: 4px;
  color: #1b3f3f;
}

/* Code blocks */
pre code {
  display: block;
  padding: 12px;
  background: #f4fafa;
  border: 1px solid #d6eaea;
  border-radius: 6px;
  overflow-x: auto;
}
