/* iOutlet Programmatic SEO — minimal styling, inherits brand from theme */
.io-pseo-bracket { max-width: 1200px; margin: 2rem auto; padding: 0 1rem; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif; color: #1d1d1f; }
.io-pseo-breadcrumb { font-size: 0.875rem; color: #6e6e73; margin-bottom: 0.75rem; }
.io-pseo-breadcrumb a { color: #6e6e73; text-decoration: none; }
.io-pseo-breadcrumb a:hover { color: #0071e3; }
.io-pseo-hero h1 { font-size: clamp(1.75rem, 4vw, 2.75rem); font-weight: 600; letter-spacing: -0.02em; margin: 0 0 0.5rem; }
.io-pseo-sub { font-size: 1.125rem; color: #424245; margin: 0 0 2.5rem; }
.io-pseo-intro { font-size: 1rem; line-height: 1.6; color: #1d1d1f; margin: 2rem 0 3rem; }
.io-pseo-intro h2 { font-size: 1.5rem; font-weight: 600; margin: 1.75rem 0 0.75rem; letter-spacing: -0.01em; }
.io-pseo-intro h3 { font-size: 1.125rem; font-weight: 600; margin: 1.25rem 0 0.5rem; }
.io-pseo-intro p  { margin: 0 0 1rem; }
.io-pseo-intro ul, .io-pseo-intro ol { margin: 0 0 1rem 1.5rem; }
.io-pseo-products h2, .io-pseo-faq h2 { font-size: 1.5rem; font-weight: 600; margin: 2rem 0 1rem; letter-spacing: -0.01em; }
.io-pseo-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.io-pseo-card { background: #f5f5f7; border-radius: 12px; overflow: hidden; transition: transform .15s ease; }
.io-pseo-card:hover { transform: translateY(-2px); }
.io-pseo-card a { display: block; padding: 1rem; text-decoration: none; color: inherit; }
.io-pseo-card img { width: 100%; aspect-ratio: 1/1; object-fit: contain; background: #fff; border-radius: 8px; margin-bottom: 0.75rem; }
.io-pseo-card h3 { font-size: 0.95rem; font-weight: 500; line-height: 1.35; margin: 0 0 0.5rem; min-height: 2.6em; }
.io-pseo-grade { display: inline-block; font-size: 0.75rem; color: #6e6e73; background: #fff; padding: 2px 8px; border-radius: 99px; margin-bottom: 0.5rem; }
.io-pseo-price { display: block; font-size: 0.95rem; color: #424245; margin-top: 0.5rem; }
.io-pseo-price strong { color: #1d1d1f; font-weight: 600; }
.io-pseo-cta { text-align: center; margin-top: 2rem; }
.io-pseo-cta .button { display: inline-block; background: #0071e3; color: #fff; padding: 0.75rem 1.5rem; border-radius: 980px; text-decoration: none; font-weight: 500; }
.io-pseo-cta .button:hover { background: #0077ed; }
.io-pseo-faq-list details { border-top: 1px solid #d2d2d7; padding: 1rem 0; }
.io-pseo-faq-list details:last-child { border-bottom: 1px solid #d2d2d7; }
.io-pseo-faq-list summary { cursor: pointer; font-weight: 500; list-style: none; position: relative; padding-right: 2rem; }
.io-pseo-faq-list summary::after { content: "+"; position: absolute; right: 0; top: 0; font-size: 1.25rem; color: #6e6e73; transition: transform .2s ease; }
.io-pseo-faq-list details[open] summary::after { transform: rotate(45deg); }
.io-pseo-faq-list details > div { padding-top: 0.75rem; color: #424245; line-height: 1.6; }
.io-pseo-empty { text-align: center; padding: 2rem; color: #6e6e73; }
