/* CatGate Landing Page — Shared Styles */
/* Built from deploy/_template.html via _build.py */

:root{
  --cream: #FAF5EB;
  --cream-deep: #F0E6D6;
  --cat-amber: #D4843A;
  --cat-amber-dark: #B8702E;
  --ink: #1A1A1A;
  --ink-muted: #6B6B6B;
  --success: #4A9C5D;
  --card: #FFFFFF;
  --border: #D8CEC0;
  --amber-light: #FDF0E1;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --shadow-card: 0 1px 3px rgba(26,26,26,0.06), 0 1px 2px rgba(26,26,26,0.04);
  --shadow-elevated: 0 4px 16px rgba(26,26,26,0.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--ink);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.3}
h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}
h2.center{text-align:center}
h3{font-size:1.1rem;margin-bottom:.5rem}
p{color:var(--ink-muted)}
p.center{text-align:center}
.pricing-sub{max-width:480px;margin:0 auto 0.5rem}
a{color:var(--cat-amber);text-decoration:none;transition:color .2s}
a:hover{color:var(--cat-amber-dark)}
:focus-visible{outline:2px solid var(--cat-amber);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.container{max-width:960px;margin:0 auto;padding:0 1.5rem}

/* Sticky Navigation */
.nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.5rem;max-width:960px;margin:0 auto;background:color-mix(in srgb,var(--cream) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.125rem;color:var(--ink);text-decoration:none}
.nav-logo img{width:32px;height:32px}
.nav-right{display:flex;align-items:center;gap:.75rem}
.nav-cta{background:var(--cat-amber);color:#fff;padding:.375rem .875rem;border-radius:var(--radius-sm);font-weight:600;font-size:.8125rem;transition:background .15s}
.nav-cta:hover{background:var(--cat-amber-dark);color:#fff}
.lang-switcher{display:flex;gap:.5rem}
.lang-switcher a{padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--ink-muted);border:1px solid var(--border);transition:all .15s}
.lang-switcher a.active{background:var(--cat-amber);color:#fff;border-color:var(--cat-amber)}
.lang-switcher a:hover:not(.active){border-color:var(--cat-amber);color:var(--cat-amber)}

/* Hero */
.hero{padding:4rem 1.5rem 3rem;text-align:center}
.hero-logo{width:120px;height:120px;margin:0 auto 2rem}
.hero-logo img{width:100%;height:100%}
.hero h1{font-size:clamp(1.75rem,5vw,2.75rem);max-width:680px;margin:0 auto 1rem;color:var(--ink)}
.hero .sub{font-size:clamp(1rem,2vw,1.2rem);max-width:520px;margin:0 auto 2rem;color:var(--ink-muted)}
.cta-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--cat-amber);color:#fff;padding:.875rem 2rem;border-radius:var(--radius-md);font-weight:600;font-size:1.05rem;transition:background .2s,transform .15s;text-decoration:none}
.cta-btn:hover{background:var(--cat-amber-dark);transform:translateY(-1px);color:#fff}
.cta-btn:active{transform:translateY(0)}

/* Screenshots row */
.screenshots{display:flex;justify-content:center;gap:1rem;margin:2.5rem auto 0;max-width:800px;overflow:hidden}
.screenshots img{height:480px;width:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-elevated)}

/* Before/After */
.before-after{padding:4rem 1.5rem;background:var(--card);border-radius:var(--radius-lg);margin:0 auto 3rem;max-width:960px;border:1px solid var(--border)}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;align-items:start}
.ba-card{padding:2rem;border-radius:var(--radius-md);text-align:center}
.ba-before{background:#EDF2FA;border:1px solid #D4E0F0}
.ba-after{background:#EDF5EE;border:1px solid #C8E0CD}
.ba-emoji{font-size:2.5rem;margin-bottom:.75rem}
.ba-title{font-weight:700;font-size:1.1rem;margin-bottom:.5rem;color:var(--ink)}
.ba-desc{font-size:.95rem;color:var(--ink-muted)}
.ba-arrow{text-align:center;font-size:1.75rem;color:var(--cat-amber);padding-top:1rem}

/* How it works */
.how{padding:5rem 1.5rem;text-align:center}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin:2.5rem auto 0;max-width:900px}
.step{text-align:center}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--cat-amber);color:#fff;font-weight:700;font-size:1.125rem;margin-bottom:1rem}
.step h3{font-size:1.05rem;margin-bottom:.5rem}
.step p{font-size:.9rem}

/* Pricing */
.pricing{padding:5rem 1.5rem;text-align:center}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem auto 0;max-width:860px;align-items:stretch}
.plan{background:var(--card);border-radius:var(--radius-md);padding:2rem 1.5rem;border:1px solid var(--border);text-align:center;display:flex;flex-direction:column;box-shadow:var(--shadow-card)}
.plan.featured{border-color:var(--cat-amber);box-shadow:var(--shadow-elevated);position:relative;background:linear-gradient(180deg,#FFF9F2 0%,#FFFFFF 100%)}
.plan.featured::before{content:attr(data-badge);position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--cat-amber);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .875rem;border-radius:99px}
.plan h3{font-weight:700;font-size:1.1rem;margin-bottom:.5rem;color:var(--ink)}
.plan-price{font-size:2rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}
.plan-period{font-size:.85rem;color:var(--ink-muted);margin-bottom:1.25rem}
.plan-features{list-style:none;text-align:left;margin-bottom:1.5rem;flex:1}
.plan-features li{padding:.375rem 0;font-size:.9rem;color:var(--ink-muted)}
.plan-features li::before{content:'✓ ';color:var(--success);font-weight:700}
.plan .cta-btn{width:100%;text-align:center;justify-content:center;font-size:.95rem;padding:.75rem}
.plan .cta-note{font-size:.75rem;color:var(--ink-muted);margin-top:.5rem}

/* Social proof / VS Table */
.social{padding:4rem 1.5rem 5rem;text-align:center}
.quote{max-width:640px;margin:0 auto 2rem;font-family:var(--font-heading);font-size:1.25rem;font-style:italic;color:var(--ink)}
.vs-table{max-width:720px;margin:3rem auto 0}
.vs-table table{width:100%;border-collapse:collapse;font-size:.875rem}
.vs-table th{background:var(--amber-light);padding:.75rem 1rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border)}
.vs-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--ink-muted)}
.vs-table tr.catgate-row td{background:var(--amber-light);font-weight:600;color:var(--ink);border-color:var(--cat-amber)}
.vs-table tr.catgate-row td:last-child{color:var(--cat-amber)}

/* FAQ */
.faq{padding:4rem 1.5rem 6rem;max-width:720px;margin:0 auto}
.faq-list details{border-bottom:1px solid var(--border);padding:1.25rem 0}
.faq-list details:first-child{border-top:1px solid var(--border)}
.faq-list summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:1.025rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';font-size:1.25rem;color:var(--cat-amber);transition:transform .2s}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{padding-top:.75rem;font-size:.925rem;line-height:1.8}

/* CTA */
.download{padding:5rem 1.5rem;text-align:center;background:var(--amber-light);border-radius:var(--radius-lg);margin:0 auto 4rem;max-width:960px}
.download h2{margin-bottom:.75rem}
.download p{margin-bottom:2rem}
.appstore-badge{display:inline-block;transition:opacity .2s}
.appstore-badge:hover{opacity:.85}
.appstore-badge svg{height:48px;width:auto}

/* Footer */
.footer{padding:3rem 1.5rem;text-align:center;border-top:1px solid var(--border)}
.footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}
.footer-links a{font-size:.875rem;color:var(--ink-muted)}
.footer-links a:hover{color:var(--cat-amber)}
.footer-copy{font-size:.8125rem;color:var(--ink-muted)}

/* Responsive */
@media(max-width:768px){
  .nav{padding:.75rem 1rem}
  .nav-cta{padding:.3rem .625rem;font-size:.75rem}
  .ba-grid{grid-template-columns:1fr;gap:1rem}
  .ba-arrow{display:none}
  .steps{grid-template-columns:1fr;gap:2rem}
  .plan-grid{grid-template-columns:1fr;max-width:360px;margin-left:auto;margin-right:auto}
  .hero{padding:2.5rem 1rem 3rem}
  .before-after,.how,.pricing,.social,.faq,.download{padding:3rem 1rem}
  .screenshots{flex-direction:column;align-items:center}
  .screenshots img{height:auto;width:280px}
}
