/* PartnerHub catalog-card.css / OfferCard / DemoCard composition.
   Adapted to the canonical 15px reading floor, native anchor semantics and DemoHub tags. */
.catalog-card.demo-card { padding:0; gap:0; border-left:3px solid var(--an-gray-6); border-radius:var(--an-radius-card); overflow:hidden; box-shadow:var(--an-shadow-card); height:100%; }
.catalog-card.demo-card:hover,.catalog-card.demo-card:focus-visible { transform:translateY(-2px); border-color:var(--an-red-tint); box-shadow:var(--an-shadow-card-hover); }
.catalog-card:focus-visible { outline:2px solid var(--an-red); outline-offset:2px; }
.catalog-art { background:var(--an-dark-3); overflow:hidden; aspect-ratio:3/1; width:100%; }
.catalog-art img { width:100%; height:100%; object-fit:contain; display:block; }
.demo-hero .catalog-art { width:144px; height:72px; aspect-ratio:auto; flex:0 0 144px; border-radius:8px; background:transparent; }
.catalog-card-banner { display:flex; flex-direction:column; justify-content:flex-end; gap:8px; min-height:116px; padding:20px 24px; background:var(--an-ink); color:var(--an-white); }
.catalog-card-eyebrow,.demo-eyebrow { font-family:var(--an-font-mono); font-size:15px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--an-red-light); }
.catalog-card.demo-card h2 { margin:0; color:var(--an-white); font-size:24px; line-height:1.25; }
.catalog-card-body { padding:24px; flex:1; display:flex; flex-direction:column; gap:24px; }
.catalog-card-body > p { margin:0; color:var(--an-gray-3); font-size:16px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.catalog-card-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:16px 24px; border-top:1px solid var(--an-border); color:var(--an-red); font-size:15px; font-weight:600; }
.catalog-card-foot .availability { border:0; padding:0; color:var(--an-gray-3); font-weight:400; }
.demo-targets { display:flex; flex-wrap:wrap; gap:20px 32px; }
.demo-tag-group { display:flex; flex-direction:column; gap:8px; min-width:0; }
.demo-tag-label { font-size:15px; font-weight:700; color:var(--an-gray-3); }
.catalog-chips { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-chip { display:inline-flex; align-items:center; max-width:100%; padding:3px 10px; border:1px solid rgba(26,26,26,0.06); border-radius:8px; background:var(--an-paper); color:var(--an-gray-2); font-size:15px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.catalog-card-body .demo-targets { margin-top:auto; gap:16px; }
.catalog-detail { width:100%; min-width:0; }
.catalog-detail .demo-description { max-width:none; }
.demo-hero { border-radius:var(--an-radius-panel); overflow:hidden; background:radial-gradient(ellipse at 100% 0,rgba(167,37,44,0.16),transparent 70%),var(--an-dark-3); color:var(--an-white); }
.demo-hero-copy { padding:24px 32px 20px; }
.demo-hero-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.demo-hero-title { min-width:0; flex:1; }
.demo-hero-title-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; }
.demo-eyebrow { display:flex; align-items:center; gap:16px; margin:0 0 12px; }
.demo-eyebrow::before { content:""; height:1px; width:40px; flex-shrink:0; background:var(--an-red-light); }
.demo-eyebrow::after { content:""; height:1px; flex:1; background:rgba(255,255,255,0.1); }
.demo-hero h1 { color:var(--an-white); margin:0; font-size:clamp(1.5rem,3vw,2.25rem); line-height:1.15; overflow-wrap:anywhere; }
.demo-hero-summary { color:rgba(255,255,255,0.7); max-width:none; margin:12px 0 0; font-size:16px; overflow-wrap:anywhere; white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.demo-hero .demo-targets { padding:12px 32px; gap:8px 24px; border-top:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.03); }
.demo-hero .demo-tag-group { flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:4px 8px; }
.demo-hero .catalog-chips { gap:6px; }
.demo-hero .demo-tag-label { color:rgba(255,255,255,0.65); font-weight:500; }
.demo-hero .catalog-chip { border-color:rgba(255,255,255,0.06); color:rgba(255,255,255,0.9); background:rgba(255,255,255,0.08); }
.demo-hero .availability { gap:8px; background:rgba(255,255,255,0.04); border-color:transparent; color:rgba(255,255,255,0.7); }
.demo-hero .availability::before { content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--an-gray-6); }
.demo-hero .demo-tag-group { gap:6px 10px; }
.demo-tabs { display:flex; gap:8px; margin-top:12px; border-bottom:1px solid var(--an-border-2); }
.demo-tabs button { min-height:48px; padding:12px 24px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--an-gray-3); font-weight:700; cursor:pointer; }
.demo-tabs button[aria-selected=true] { border-bottom-color:var(--an-red); color:var(--an-red); }
.demo-tabs button:focus-visible { outline:2px solid var(--an-red); outline-offset:-4px; }
.demo-section { padding:24px 0; min-width:0; overflow-wrap:anywhere; }
.demo-section[hidden] { display:none; }
.demo-section > h2,.demo-section-empty h2 { line-height:1.25; }
.demo-prose { max-width:none; line-height:1.75; overflow-x:auto; }
.demo-prose > * { max-width:100%; }
.demo-prose img,.demo-section video { max-width:100%; height:auto; border-radius:12px; }
.demo-prose p,.demo-prose ul,.demo-prose ol { margin:0 0 20px; }
.demo-prose h1,.demo-prose h2,.demo-prose h3 { margin:24px 0 16px; line-height:1.25; }
.demo-prose pre { overflow-x:auto; background:var(--an-white); padding:16px; }
.demo-prose a { color:var(--an-red); text-decoration:underline; }
.demo-prose table { border-collapse:collapse; }
.demo-prose th,.demo-prose td { padding:12px; border:1px solid var(--an-border); }
.demo-editor-sections { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin:24px 0; }
.demo-editor-section { padding:24px; border:1px solid var(--an-border); border-radius:12px; background:var(--an-white); min-width:0; }
.demo-editor-section h3 { margin:0 0 16px; font-size:20px; font-weight:700; }
.catalog-image-picker { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; }
.catalog-image-picker label { font-size:16px; font-weight:600; }
.catalog-image-picker > * { min-width:0; max-width:100%; }
.catalog-image-picker input { width:100%; max-width:100%; min-height:44px; }
.catalog-image-picker .catalog-art { max-width:560px; border-radius:12px; }
.demo-image-markdown { display:block; overflow-wrap:anywhere; font-size:15px; margin:16px 0; }
@media(max-width:599px) {
 .demo-hero-copy { padding:16px; }
 .demo-hero-heading { gap:12px; }
 .demo-hero .catalog-art { width:80px; height:56px; flex-basis:80px; }
 .demo-eyebrow { margin-bottom:8px; }
 .demo-hero .demo-targets { padding:12px 16px; gap:8px 16px; }
 .demo-hero-summary { font-size:16px; }
 .demo-tabs { gap:0; }
 .demo-tabs button { padding:12px 8px; font-size:15px; flex:1; min-width:0; }
 .demo-editor-section { padding:16px; }
 .catalog-card-banner,.catalog-card-body { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .catalog-card.demo-card:hover { transform:none; } }
