@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/poppins-400-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/poppins-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/poppins-500-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/poppins-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/poppins-600-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/poppins-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/poppins-700-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/poppins-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(./fonts/poppins-800-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(./fonts/poppins-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Stöbri 2.0 — shared visitor / management visual system.
   Layout and behaviour remain in app.css / app.js. */
:root {
  --brand-lavender: #7B61FF;
  --brand-lilac: #B794F6;
  --brand-pink: #FF6B9D;
  --brand-peach: #FFB3A7;
  --brand-cream: #FFF1EB;
  --brand-navy: #1F2147;
  --brand-grayblue: #6B6F85;
  --brand-white: #FFFFFF;
  --brand-gradient: linear-gradient(125deg, var(--brand-lavender) 0%, var(--brand-lilac) 35%, var(--brand-pink) 72%, var(--brand-peach) 100%);
  --surface: var(--brand-white);
  --surface-soft: color-mix(in srgb, var(--brand-lilac) 12%, var(--brand-white));
  --surface-warm: color-mix(in srgb, var(--brand-cream) 40%, var(--brand-white));
  --surface-selected: color-mix(in srgb, var(--brand-lavender) 10%, var(--brand-white));
  --surface-pink: color-mix(in srgb, var(--brand-pink) 13%, var(--brand-white));
  --line: color-mix(in srgb, var(--brand-navy) 12%, var(--brand-white));
  --focus: var(--brand-lavender);
  --action-hover: color-mix(in srgb, var(--brand-lavender) 85%, var(--brand-navy));
  /* A small shade adjustment keeps white button labels above 4.5:1. */
  --action-fill: color-mix(in srgb, var(--brand-lavender) 94%, var(--brand-navy));
  --action-ink: var(--action-hover);
  --danger: #A33442;
  --bg: var(--surface-warm);
  --paper: var(--surface);
  --ink: var(--brand-navy);
  --muted: var(--brand-grayblue);
  --accent: var(--brand-lavender);
  --terra: var(--brand-lavender);
  --sage: var(--surface-soft);
  --lavender: var(--surface-selected);
  --yellow: var(--brand-cream);
  --shadow: 0 12px 40px color-mix(in srgb, var(--brand-navy) 5%, transparent);
  --shadow-raised: 0 16px 52px color-mix(in srgb, var(--brand-navy) 10%, transparent);
  --radius-card: 24px;
  --radius-field: 16px;
  font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
}
body {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  background:
    radial-gradient(ellipse 420px 280px at 0 0, color-mix(in srgb, var(--brand-lilac) 17%, transparent), transparent),
    radial-gradient(ellipse 460px 300px at 100% 0, color-mix(in srgb, var(--brand-peach) 24%, transparent), transparent),
    var(--bg);
  background-repeat: no-repeat;
}
button, input, textarea, select { font-family: inherit; }
h1, h2, h3 { color: var(--ink); text-wrap: pretty; }
h1, .login-intro h1, .detail-info h1 { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.65rem); line-height: 1.16; font-weight: 700; letter-spacing: -.045em; }
h2 { font-size: clamp(1.25rem, 1.1rem + .65vw, 1.65rem); font-weight: 600; letter-spacing: -.025em; }
h3 { font-weight: 600; letter-spacing: -.015em; }
.login-intro h1 { font-weight: 800; }
.capture-heading h1 { font-size: clamp(1.5rem, 1.25rem + .8vw, 1.85rem); font-weight: 700; }
p, .prose { font-weight: 400; }
.form label, .capture-layout .form label, .eyebrow, .helper, .badge, .price, .tag-editor label { font-weight: 500; }
button, .bottom-nav a, .menu a { font-weight: 600; }
.muted, .helper, .private-note, .brand-context { color: var(--muted); }
.brand .brand-logo { width: clamp(128px, 11vw, 154px); height: auto; max-width: 42vw; }
.capture-active .brand .brand-logo { width: 104px; }
.site-head .brand-context { color: var(--muted); font-weight: 500; letter-spacing: .1em; }
.icon-button { color: var(--ink); background: var(--surface); box-shadow: 0 2px 12px color-mix(in srgb, var(--brand-navy) 4%, transparent); }
.panel, .inquiry-card, .menu { background: var(--surface); border-color: transparent; border-radius: var(--radius-card); box-shadow: var(--shadow); }
.menu { box-shadow: var(--shadow-raised); }
.menu a:hover { background: var(--surface-soft); }
.primary, .bottom-nav a.capture-nav, .admin-item-actions .primary {
  color: var(--brand-white); background: var(--action-fill); border-radius: 999px;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--brand-lavender) 18%, transparent);
}
.primary:hover, .bottom-nav a.capture-nav:hover { background: var(--action-hover); }
.secondary { background: var(--surface-selected); color: var(--ink); border-radius: 999px; }
.outline { color: var(--ink); background: var(--surface); border-color: var(--line); border-radius: 999px; }
.text-button, .back-link, #relogin-cancel { color: var(--action-ink); }
.back-link:hover, #relogin-cancel:hover { color: var(--action-hover); }
input, textarea, select { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-field); }
input:focus, textarea:focus, select:focus { background: var(--surface); border-color: var(--focus); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input[type=checkbox] { border-color: color-mix(in srgb, var(--muted) 65%, var(--brand-white)); border-radius: 6px; }
input[type=checkbox]:checked, input[type=checkbox]:indeterminate { background-color: var(--accent); border-color: var(--accent); }
input[type=checkbox]:focus-visible { outline-color: var(--focus); }
.filters { background: transparent; }
.search-box { background: var(--surface); border: 1px solid var(--line); box-shadow: 0 2px 12px color-mix(in srgb, var(--brand-navy) 2%, transparent); }
.search-box input, .search-box input:focus { background: transparent; border: 0; }
.search-box svg { stroke: var(--muted); }
.chips button { background: var(--surface); color: var(--ink); font-weight: 500; }
.chips button.active, .category-filter-trigger.active { background: var(--action-fill); color: var(--brand-white); }
.category-filter-trigger { background: var(--surface); color: var(--ink); }
.category-filter-trigger b, .nav-count { background: var(--ink); color: var(--brand-white); }
.category-filter-trigger.active b { background: var(--brand-white); color: var(--ink); }
.category-option:has(input:checked) { background: var(--surface-selected); border-color: color-mix(in srgb, var(--accent) 25%, var(--brand-white)); }
.category-option:hover, .tag-suggestions button:hover, .tag-suggestions button[aria-selected=true] { background: var(--surface-soft); }
.category-select, .filters-row select { background: var(--surface); border-color: var(--line); }
.tag-token, .badge.internal { background: var(--surface-selected); color: var(--ink); }
.tag-suggestions { border-color: var(--line); box-shadow: var(--shadow); }
.tag-suggestions button { color: var(--ink); background: var(--surface); }
.tag-suggestions small { color: var(--muted); }
.card h3 { font-weight: 600; }
.card .photo-wrap { border-radius: 22px; background: var(--surface-soft); }
.price.free { color: var(--ink); }
.heart { color: var(--ink); background: color-mix(in srgb, var(--brand-white) 96%, transparent); }
.heart.selected { color: var(--brand-pink); background: var(--surface-pink); }
.heart.selected svg path { fill: var(--brand-pink); stroke: var(--brand-pink); }
.heart.heart-spark::after { border-color: var(--brand-pink); }
#detail-heart.selected { background: var(--surface-pink); color: var(--ink); }
#detail-heart.selected svg { color: var(--brand-pink); }
.nav-count { font-family: inherit; font-size: 11px; font-weight: 700; }
.bottom-nav { background: color-mix(in srgb, var(--brand-white) 97%, transparent); border-color: var(--line); box-shadow: var(--shadow); }
.bottom-nav a.active { background: var(--surface-selected); color: var(--action-ink); font-weight: 600; }
.bottom-nav a.capture-nav.active { background: var(--action-fill); color: var(--brand-white); }
.login-lock { position: relative; isolation: isolate; background: var(--brand-gradient); color: var(--brand-white); }
.login-lock::before { content: ""; position: absolute; z-index: -1; inset: -11px; border-radius: 50%; background: var(--brand-gradient); opacity: .16; filter: blur(12px); pointer-events: none; }
.notice, .product-info { background: var(--surface-soft); color: var(--ink); }
.notice.warn, .network, .badge.reserved { background: var(--brand-cream); color: var(--ink); }
.badge.given { background: var(--surface-soft); color: var(--muted); }
.product-info-link { color: var(--ink); }
.product-info .helper { color: var(--muted); }
.capture-layout .photo-drop { background: var(--surface-soft); border-color: color-mix(in srgb, var(--brand-lilac) 30%, var(--brand-white)); }
.capture-layout .photo-drop .camera { color: var(--accent); background: var(--surface); }
.capture-layout .photo-drop .outline { background: var(--surface); color: var(--ink); border: 1px solid var(--line); }
.capture-layout.has-photos .photo-drop { background: transparent; border: 0; }
.capture-layout.has-photos #camera-button { color: var(--ink); background: var(--surface-selected); }
.capture-layout .preview-image, .detail-hero, .managed-photo-preview { background: var(--surface-soft); }
.capture-layout .preview-tools button, .capture-layout .preview-tile>button { background: var(--surface-selected); color: var(--ink); }
.capture-options { background: var(--surface); border-color: var(--line); }
.capture-options summary { font-weight: 600; }
.gallery-thumbs button.active { border-color: var(--accent); }
.detail-meta, .list-row { border-color: var(--line); }
dialog { background: var(--surface-warm); border-color: var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-raised); }
dialog::backdrop { background: color-mix(in srgb, var(--brand-navy) 48%, transparent); }
.toast { color: var(--brand-white); background: var(--ink); }
.success-icon { background: var(--surface-selected); color: var(--accent); }
.danger, .error { color: var(--danger); }
.danger { background: var(--surface-pink); }
.saved-status { color: var(--ink); }
@media (hover:hover) {
  .primary, .secondary, .outline, .icon-button { transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
  .primary:hover { box-shadow: 0 6px 20px color-mix(in srgb, var(--brand-lavender) 25%, transparent); }
  .secondary:hover, .outline:hover { background: var(--surface-soft); }
}
@media (max-width:650px) {
  input, textarea, select { font-size: 16px; }
  .card .photo-wrap { border-radius: 18px; }
  .panel { border-radius: 22px; }
  .detail-info h1 { font-size: clamp(1.8rem, 7vw, 2.2rem); }
  .photo-actions button { padding-inline: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .primary, .secondary, .outline, .icon-button { transition: none; }
}
@media (forced-colors:active) {
  input[type=checkbox] { appearance: auto; -webkit-appearance: auto; background-image: none; }
  .primary, .chips button.active, .bottom-nav a.active { border: 1px solid ButtonText; }
}

/* 2.1: compact, touch-friendly photo management, confined to article editing. */
.card-select { z-index: 4; }
.stored-photo { display: block; padding: 0; border: 2px solid transparent; min-height: 90px; cursor: pointer; }
.stored-photo[aria-pressed=true] { border-color: var(--accent); }
.capture-layout .stored-photo img { width: 100%; height: 100%; }
.photo-edit-hint { position: absolute; bottom: 0; left: 0; right: 0; padding: 3px; background: var(--ink); color: var(--brand-white); font-size: 9px; line-height: 1.5; font-weight: 500; }
.capture-layout .stored-photo .badge { top: 3px; bottom: auto; left: 3px; background: var(--surface); color: var(--ink); }
.photo-manager>summary { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; min-height: 48px; }
.photo-manager>summary::before { content: '▸'; }
.photo-manager[open]>summary::before { content: '▾'; }
.photo-manager>summary span { font-size: 11px; color: var(--muted); font-weight: 400; }
.managed-photo-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; }
.managed-photo-heading strong { font-size: 13px; font-weight: 600; }
.managed-photo-heading .helper { font-size: 11px; }
#managed-photo-gallery { min-width: 0; border-radius: 18px; overflow: hidden; background: var(--surface-soft); }
#managed-photo-gallery .detail-carousel { height: clamp(150px, 28dvh, 260px); max-height: 260px; aspect-ratio: auto; }
#managed-photo-gallery .managed-slide { display: flex; align-items: center; justify-content: center; }
#managed-photo-gallery img { display: block; width: 100%; height: 100%; object-fit: contain; }
#managed-photo-gallery .carousel-arrow { opacity: 1; width: 44px; min-height: 44px; }
#managed-photo-gallery .carousel-shell:has(.carousel-slide:only-child) .carousel-dots,
#managed-photo-gallery .carousel-shell:has(.carousel-slide:only-child) .carousel-arrow { display: none; }
.managed-main-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.managed-main-actions button { font-size: 13px; min-height: 46px; padding: 10px; }
.managed-order { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.managed-order>span { grid-column: 1 / -1; font-size: 12px; font-weight: 500; }
.managed-order button { font-size: 12px; padding: 8px; min-height: 44px; }
.managed-save-note { margin: 0; font-size: 11px; }
.photo-more { border-top: 1px solid var(--line); padding-top: 8px; }
.photo-more>summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 500; font-size: 13px; }
.photo-more>summary::before { content: '+'; }
.photo-more[open]>summary::before { content: '−'; }
.managed-extra-actions { display: grid; gap: 8px; padding-block: 6px; }
.managed-extra-actions button { font-size: 12px; min-height: 44px; }
.managed-extra-actions .helper { margin: 0; font-size: 11px; }
@media (hover:none) { #managed-photo-gallery .carousel-arrow { display: grid; } }
.photo-editor-dialog { width: min(560px, calc(100% - 24px)); max-height: 90dvh; padding: 20px; }
.photo-editor-dialog .image-editor { gap: 12px; }
.editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.editor-heading h2 { margin: 0; }
.editor-heading .icon-button { flex: 0 0 44px; min-height: 44px; width: 44px; font-size: 24px; }
.editor-item-name { margin: 0; overflow-wrap: anywhere; }
.photo-editor-dialog canvas { width: auto; max-width: 100%; max-height: 28dvh; border-radius: 12px; }
.photo-editor-dialog label { display: grid; gap: 6px; font-size: 13px; font-weight: 500; }
.editor-section { border: 1px solid var(--line); border-radius: 16px; padding: 0 12px; }
.editor-section>summary { min-height: 46px; cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; }
.editor-section>summary::before { content: '+'; }
.editor-section[open]>summary::before { content: '−'; }
.editor-section[open] { padding-bottom: 12px; }
.editor-section .helper { font-size: 12px; margin-top: 0; }
.editor-section .crop-controls { margin-bottom: 12px; }
.editor-original-note { font-size: 11px; margin: 0; }

/* 2.2: independently scrolling search, floating filters and reachable saving. */
body[data-mode=visitor] .filters { display: contents; }
body[data-mode=visitor] .filters>.search-box { margin-top: 8px; }
body[data-mode=visitor] .feed-filter-row { position: sticky; top: 0; z-index: 8; isolation: isolate; padding: 12px 0; margin-bottom: 10px; }
body[data-mode=visitor] .feed-filter-row::before,
.capture-layout .capture-buttons::before { content: ''; position: absolute; inset: -18px -12px -24px; pointer-events: none; z-index: -1; background: linear-gradient(to bottom, var(--bg), color-mix(in srgb, var(--bg) 82%, transparent) 70%, transparent); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); -webkit-mask-image: linear-gradient(to bottom, transparent, black 20%, black 65%, transparent); mask-image: linear-gradient(to bottom, transparent, black 20%, black 65%, transparent); }
.bottom-nav::before { content: ''; position: absolute; left: 0; right: 0; top: -24px; height: 24px; pointer-events: none; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); -webkit-mask-image: linear-gradient(transparent,black); mask-image: linear-gradient(transparent,black); }
.capture-layout { padding-bottom: 96px; }
.capture-active,.capture-active.field-focused { padding-bottom: 0; }
.capture-active .bottom-nav { display: none; }
.capture-layout .capture-buttons { position: fixed; left: 50%; transform: translateX(-50%); bottom: var(--capture-bottom, 90px); width: min(calc(100% - 28px), 650px); display: flex; gap: 8px; align-items: stretch; z-index: 10; isolation: isolate; padding: 8px 0; background: transparent; }
.capture-layout .capture-buttons .primary { flex: 1; min-width: 0; font-size: 14px; min-height: 50px; padding-inline: 12px; }
.capture-layout .capture-buttons .text-button { width: auto; background: var(--surface); min-width: 80px; font-size: 13px; }
.capture-active.field-focused { padding-bottom: 140px; }
.photo-order-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 4px; }
.preview-list:has(>.preview-tile:only-child) .photo-order-buttons,
.preview-list:has(>.preview-tile:only-child) .photo-cover-button { display: none; }
.capture-layout .preview-tile .photo-order-buttons button { width: 44px; min-height: 44px; padding: 0; background: var(--surface-selected); font-size: 18px; border-radius: 12px; }
.capture-layout .preview-tile .photo-cover-button, .capture-layout .preview-tile .photo-rotate-button { width: 100%; min-height: 44px; padding: 6px 2px; font-size: 10px; margin-top: 4px; border-radius: 12px; }
.card-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 6px 0 3px; }
.card-tags>span { font-size: 10px; padding: 3px 7px; border-radius: 99px; background: var(--surface-selected); color: var(--ink); overflow-wrap: anywhere; max-width: 100%; }
.card-tags .tag-edit-button { min-height: 44px; padding: 4px 8px; border: 1px solid var(--line); font-size: 11px; color: var(--action-ink); }
body[data-mode=visitor] .filters>.search-box,body[data-mode=visitor] .feed-filter-row { max-width: 750px; margin-inline: auto; }
.popular-tags>small { display: block; font-size: 11px; color: var(--muted); margin: 4px 0 6px; }
.popular-tags>div { display: flex; flex-wrap: wrap; gap: 6px; }
.popular-tags button { min-height: 44px; padding: 6px 10px; background: var(--surface-selected); font-size: 12px; font-weight: 500; border-radius: 99px; }
.popular-tags button small { font-size: 10px; color: var(--muted); }
.quick-tags-dialog { max-height: 88dvh; }
.quick-tags-dialog .category-dialog-head { margin: 0; }
.quick-tags-dialog .category-dialog-head h2 { font-size: 20px; }
.quick-tags-dialog p.helper { margin: 0; }
.category-total { margin-left: auto; flex: 0 0 auto; min-width: 30px; text-align: center; padding: 3px 7px; font-size: 11px; border-radius: 99px; color: var(--action-ink); background: var(--surface-selected); }
.category-scroll-shell { position: relative; min-height: 0; }
.category-scroll-shell.has-more::after { content: ''; position: absolute; left: 0; right: 8px; bottom: 0; height: 32px; pointer-events: none; background: linear-gradient(transparent,var(--surface-warm)); }
.category-options { scrollbar-width: thin; scrollbar-color: var(--brand-lilac) var(--surface-soft); scrollbar-gutter: stable; }
.category-options::-webkit-scrollbar { width: 7px; }
.category-options::-webkit-scrollbar-thumb { background: var(--brand-lilac); border-radius: 8px; }
.category-scroll-hint { width: 100%; min-height: 44px; font-size: 12px; color: var(--action-ink); background: var(--surface-selected); margin-top: 5px; }
.whatsapp-action { display: flex; gap: 10px; align-items: center; justify-content: center; min-height: 48px; padding: 11px 16px; margin-top: 14px; font-size: 14px; font-weight: 600; border: 1px solid var(--line); }
.whatsapp-action svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.whatsapp-note { font-size: 11px; margin: 8px 0 16px; }
.category-dialog[open] { display: flex; flex-direction: column; max-height: min(800px,calc(100dvh - 32px)); overflow: hidden; }
.category-dialog>* { flex-shrink: 0; }
.category-dialog .category-scroll-shell { flex: 1 1 320px; min-height: 48px; max-height: 38dvh; overflow: hidden; }
.category-dialog .category-options { height: 100%; max-height: 100%; }
.category-dialog .category-filter-help { font-size: 11px; line-height: 1.45; margin: 8px 0; }
.category-dialog .category-dialog-actions { margin-top: 8px; }
@media (prefers-reduced-transparency:reduce) { body[data-mode=visitor] .feed-filter-row::before,.capture-layout .capture-buttons::before { background: var(--bg); -webkit-mask-image: none; mask-image: none; } }

/* 2.3: optional condition and independent age selection. */
.item-classification { display: grid; gap: 20px; min-width: 0; }
.item-classification fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.item-classification legend { font-size: 14px; font-weight: 600; padding: 0; margin-bottom: 8px; }
.item-classification fieldset:disabled { opacity: .55; }
.condition-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; }
#condition-value { color: var(--muted); font-size: 14px; font-weight: 500; }
.has-condition #condition-value { color: var(--ink); }
#clear-condition { min-height: 44px; font-size: 11px; padding: 6px 0 6px 8px; }
.condition-control:not(.has-condition) #clear-condition { visibility: hidden; }
#condition-slider { appearance: none; -webkit-appearance: none; width: 100%; min-height: 44px; height: 44px; padding: 0; margin: 0; border: 0; background: transparent; cursor: pointer; border-radius: 12px; }
#condition-slider::-webkit-slider-runnable-track { height: 8px; border-radius: 99px; background: linear-gradient(to right,var(--accent) var(--condition-progress,0%),var(--line) var(--condition-progress,0%)); }
#condition-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; margin-top: -10px; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--accent); background: var(--surface); box-shadow: var(--shadow); }
#condition-slider::-moz-range-track { height: 8px; border-radius: 99px; background: var(--line); }
#condition-slider::-moz-range-progress { background: var(--accent); height: 8px; border-radius: 99px; }
#condition-slider::-moz-range-thumb { width: 26px; height: 26px; border: 2px solid var(--accent); border-radius: 50%; background: var(--surface); }
.condition-control:not(.has-condition) #condition-slider { opacity: .6; }
.condition-ticks { display: flex; justify-content: space-between; margin: -2px 10px 0; color: var(--muted); font-size: 10px; }
.condition-ticks span { min-width: 8px; text-align: center; }
.condition-ends { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; margin-top: 5px; }
.audience-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 6px 10px; }
.audience-grid .inline-label { min-height: 44px; font-size: 12px; font-weight: 500; gap: 8px!important; }
.category-name { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px 7px; min-width: 0; }
.category-option .category-total,.facet-option .category-total { margin-left: 0; flex: 0 0 auto; min-width: 23px; padding: 2px 6px; font-size: 10px; line-height: 1.5; }
.facet-section { border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.facet-section>summary { min-height: 48px; cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; }
.facet-section>summary::before { content: '+'; font-size: 17px; color: var(--action-ink); }
.facet-section[open]>summary::before { content: '−'; }
.facet-section>summary>span { color: var(--action-ink); font-size: 12px; }
.facet-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2px; padding: 0 0 10px; }
[data-facet=audience] .facet-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.facet-option { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; padding: 4px 3px; cursor: pointer; border-radius: 10px; }
.facet-option:has(input:checked) { background: var(--surface-selected); }
.facet-option .category-name { gap: 4px 5px; }
.filter-category-heading { font-size: 13px; font-weight: 600; margin: 15px 4px 8px; }
@media(max-width:360px) { [data-facet=audience] .facet-grid { grid-template-columns: minmax(0,1fr); } }

/* 2.4: quieter floating filters, compact categories and a neutral condition scale. */
.whatsapp-action + #detail-heart { margin-top: 14px; }
.detail-info #detail-heart { margin-top: 14px; }
.photo-actions, .toolbar, .managed-main-actions, .managed-extra-actions { gap: 12px; }
.photo-order-buttons { gap: 8px; }
.capture-layout .capture-buttons { gap: 12px; }
.category-dialog-actions { gap: 12px; }
body[data-mode=visitor] .feed-filter-row::before { background: transparent; -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); }
.audience-label { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.audience-icon { flex: 0 0 22px; width: 22px; height: 22px; color: var(--action-ink); }
.detail-audiences { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.detail-condition { display: inline-flex; align-items: center; gap: 10px; }
.condition-meter { display: inline-flex; align-items: center; gap: 7px; vertical-align: middle; }
.meter-track { display: inline-flex; gap: 3px; position: relative; width: 86px; height: 8px; }
.meter-track i { flex: 1; height: 8px; border-radius: 2px; background: var(--brand-lavender); }
.meter-track i:nth-child(2) { opacity: .8; }
.meter-track i:nth-child(3) { opacity: .6; }
.meter-track i:nth-child(4) { opacity: .4; }
.meter-track i:nth-child(5) { opacity: .25; }
.meter-track::after { content: ''; position: absolute; width: 10px; height: 7px; background: var(--ink); top: -9px; left: calc(var(--scale-position) - 5px); clip-path: polygon(0 0,100% 0,50% 100%); }
.condition-meter[data-level="1"] { --scale-position: 8%; }
.condition-meter[data-level="2"] { --scale-position: 29%; }
.condition-meter[data-level="3"] { --scale-position: 50%; }
.condition-meter[data-level="4"] { --scale-position: 71%; }
.condition-meter[data-level="5"] { --scale-position: 92%; }
.meter-value { font-size: 11px; font-weight: 500; color: var(--muted); white-space: nowrap; }
#condition-slider::-webkit-slider-runnable-track { height: 9px; border-radius: 2px; background: linear-gradient(to right,var(--brand-lavender),var(--brand-lilac) 50%,var(--line)); }
#condition-slider::-webkit-slider-thumb { width: 24px; height: 21px; margin-top: -14px; border: 0; border-radius: 0; background: var(--ink); box-shadow: none; clip-path: polygon(5% 0,95% 0,50% 100%); }
#condition-slider::-moz-range-track { height: 9px; border-radius: 2px; background: linear-gradient(to right,var(--brand-lavender),var(--brand-lilac) 50%,var(--line)); }
#condition-slider::-moz-range-progress { background: transparent; }
#condition-slider::-moz-range-thumb { width: 24px; height: 21px; border: 0; border-radius: 0; background: var(--ink); clip-path: polygon(5% 0,95% 0,50% 100%); }
.condition-ticks { margin-top: -1px; font-size: 11px; }
.category-dialog [data-category-rows] { display: flex; flex-wrap: wrap; align-content: start; gap: 6px; padding: 0 0 12px; }
.category-dialog .category-option { flex: 0 1 auto; min-height: 40px; max-width: 100%; margin: 0; padding: 6px 9px; gap: 6px; font-size: 12px; border-radius: 14px; background: var(--surface); border-color: var(--line); }
.category-dialog .category-option input { flex: 0 0 22px; width: 22px; height: 22px; min-height: 22px; border-radius: 5px; }
.category-dialog .category-option:has(input:checked) { background: var(--surface-selected); border-color: var(--accent); }
.category-dialog .category-name { gap: 4px; }
.category-dialog .category-option .category-total { min-width: 19px; padding: 1px 4px; font-size: 10px; }
.filter-category-heading { margin: 4px 2px 9px; }
.facet-section { border-top: 1px solid var(--line); border-bottom: 0; margin-bottom: 0; }
.facet-option .condition-meter { padding-top: 7px; padding-bottom: 3px; }
.category-dialog .category-scroll-shell { max-height: 48dvh; }
@media (prefers-reduced-transparency:reduce) { body[data-mode=visitor] .feed-filter-row::before { background: #ffffffed; -webkit-backdrop-filter: none; backdrop-filter: none; } }

/* 2.5: item hierarchy, labelled scales and three focused filter groups. */
body[data-mode=visitor] .feed-filter-row { padding-top: 0; padding-bottom: 8px; }
body[data-mode=visitor] .feed-filter-row::before { inset: -1px -24px -12px; background: linear-gradient(to bottom,#fffffff2 0%,#ffffffb8 78%,#ffffff00 100%); -webkit-mask-image: linear-gradient(black 80%,transparent); mask-image: linear-gradient(black 80%,transparent); }
.detail-summary h1 { margin: 0 0 12px; font-size: clamp(1.65rem,1.2rem + 1.8vw,2.5rem); }
.detail-summary .price { margin: 0; font-size: 22px; }
.detail-summary .price.free { font-size: 12px; }
.detail-summary>.badge { margin-left: 12px; }
.detail-info .description { margin: 18px 0; font-size: 15px; line-height: 1.65; }
.detail-info .detail-meta { display: grid; gap: 16px; margin: 20px 0; padding: 18px 0; border: 0; border-block: 1px solid var(--line); font-size: 13px; }
.detail-meta:empty { display: none; }
.detail-property { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: start; gap: 12px; }
.property-label { color: var(--muted); font-size: 12px; font-weight: 500; }
.property-audiences { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.detail-audiences .audience-icon { width: 18px; height: 18px; flex-basis: 18px; }
.condition-meter { display: grid; gap: 7px; width: 100%; min-width: 0; padding-top: 10px; }
.condition-meter .meter-track { width: 100%; }
.scale-guide, .condition-filter-guide { display: flex; justify-content: space-between; gap: 14px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.scale-guide>span,.condition-filter-guide>span { max-width: 46%; }
.scale-guide>span:last-child,.condition-filter-guide>span:last-child { text-align: right; }
.detail-actions { display: flex; flex-direction: column; gap: 12px; padding-top: 4px; }
.detail-actions #detail-heart { margin: 0; min-height: 50px; font-size: 14px; }
.detail-actions .whatsapp-action { margin: 0; min-height: 44px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--action-ink); font-size: 13px; }
.detail-actions .whatsapp-action>span:last-child { display: none; }
.detail-info .product-info { margin: 0 0 16px; padding: 12px 0; border: 0; background: transparent; }
.detail-info .product-info .helper { font-size: 11px; margin-bottom: 0; }
.detail-info .product-info-link { font-size: 13px; }
.condition-ticks { display: none; }
.condition-ends { margin-top: 0; font-size: 10px; line-height: 1.4; }
.condition-ends>span { max-width: 46%; }
.condition-ends>span:last-child { text-align: right; }
.category-dialog { width: min(520px,calc(100% - 24px)); }
.category-dialog .category-selection-count { margin: 0 0 8px; font-size: 12px; }
.category-dialog .category-scroll-shell { flex: 0 1 auto; max-height: 64dvh; }
.category-dialog .category-options { height: auto; padding-right: 2px; }
.category-dialog .facet-section:first-child { border-top: 0; }
.category-dialog .facet-section>summary { min-height: 52px; font-size: 14px; }
.category-dialog .facet-section>summary::before { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); margin-right: 4px; }
.category-dialog .facet-section[open]>summary::before { transform: rotate(45deg); }
.category-dialog .search-box { margin-bottom: 10px; padding-inline: 12px; }
.category-dialog .search-box input { min-height: 44px; font-size: 13px; }
.category-dialog [data-category-rows] { max-height: 27dvh; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: var(--brand-lilac) transparent; padding: 3px 3px 10px; }
.category-dialog [data-more-categories] { width: 100%; margin: 0 0 10px; min-height: 40px; font-size: 12px; }
.category-dialog .category-scroll-hint { min-height: 28px; font-size: 11px; background: transparent; padding: 4px; margin: 4px 0; }
.category-dialog .category-dialog-actions { padding-top: 12px; border-top: 1px solid var(--line); margin-top: 8px; }
.category-dialog .category-dialog-actions .primary { flex: 1; }
.condition-filter-guide { margin: 0 2px 8px; font-size: 11px; }
[data-facet=condition] .facet-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; padding: 0 0 14px; }
.condition-choice { display: flex; position: relative; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 56px; border-radius: 10px; padding: 8px 4px; cursor: pointer; border: 1px solid var(--line); }
.condition-step { width: 100%; height: 15px; border-radius: 3px; background: var(--brand-lavender); color: transparent; text-align: center; font-size: 12px; line-height: 15px; }
.condition-choice[data-level="2"] .condition-step { background: #8d77e8; }
.condition-choice[data-level="3"] .condition-step { background: #9c8dd5; }
.condition-choice[data-level="4"] .condition-step { background: #a7a0c1; }
.condition-choice[data-level="5"] .condition-step { background: #b1b1b9; }
.condition-choice:has(input:checked) { border-color: var(--accent); background: var(--surface-selected); }
.condition-choice:has(input:checked) .condition-step { color: var(--ink); }
.condition-choice:has(input:focus-visible) { outline: 3px solid var(--accent); outline-offset: 2px; }
.condition-choice .category-total { margin: 0; padding: 0; min-width: 0; background: transparent; color: var(--muted); font-size: 10px; }
@media(min-width:850px) { .detail-info { padding-top: 0; } }
@media (prefers-reduced-transparency:reduce) { body[data-mode=visitor] .feed-filter-row::before { background: #fff; } }
.detail-meta .detail-condition { grid-template-columns: minmax(0,1fr); gap: 4px; }
.detail-condition .scale-guide { font-size: 11px; }
#photo-note:empty { display: none; }
[data-facet=audience] .facet-option { gap: 7px; font-size: 12px; }
[data-facet=audience] .category-name { flex-wrap: nowrap; }
[data-facet=audience] .audience-icon { flex-basis: 18px; width: 18px; height: 18px; }
@media(max-width:650px) { .gallery-thumbs { gap: 8px; margin-top: 8px; } .gallery-thumbs button { min-width: 44px; min-height: 48px; border-radius: 10px; } .gallery-thumbs img { width: 44px; height: 48px; } }

/* 2.6: curated collections and uncoloured floating filters. */
body[data-mode=visitor] .filters,body[data-mode=visitor] .feed-filter-row { background: transparent; box-shadow: none; }
body[data-mode=visitor] .feed-filter-row::before { background: transparent; -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); }
.collections-page,.collection-editor,.collection-detail { min-width: 0; }
.collections-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,330px),1fr)); gap: 22px; }
.collection-tile { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
.collection-tile>a { display: block; }
.collection-tile img,.collection-hero { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; background: var(--surface-warm); }
.collection-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; }
.collection-caption small { font-size: 10px; color: var(--muted); }
.collection-caption h2 { font-size: clamp(1.1rem,.95rem + .5vw,1.4rem); line-height: 1.3; margin: 5px 0; }
.collection-caption span { font-size: 12px; color: var(--muted); }
.collection-caption>span { font-size: 24px; color: var(--action-ink); }
.collection-feed-card { padding: 0; }
.collection-feed-card>a { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); align-items: center; }
.collection-feed-card .collection-caption { padding: 16px; }
.collection-detail>header { max-width: 900px; margin: 20px auto 30px; }
.collection-hero { border-radius: 22px; }
.collection-detail>header h1 { margin-top: 18px; }
.collection-editor { max-width: 800px; margin-inline: auto; padding-bottom: 100px; }
.collection-cover-field { display: grid; gap: 10px; }
.field-title { font-weight: 600; font-size: 14px; }
#collection-preview { width: 100%; max-height: 300px; aspect-ratio: 16/9; object-fit: contain; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.collection-cover-field .helper { margin: 0; font-size: 12px; }
.collection-picker { min-width: 0; }
.picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.picker-heading h2 { font-size: 18px; }
[data-picked-count] { font-size: 12px; color: var(--action-ink); }
.picked-details { border-block: 1px solid var(--line); margin: 0 0 14px; }
.picked-details>summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 12px; color: var(--action-ink); }
[data-picked-items] { display: flex; flex-wrap: wrap; gap: 6px; max-height: 220px; overflow: auto; padding-bottom: 10px; }
.picked-chip { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; max-width: 100%; font-size: 11px; padding: 7px 12px; background: var(--surface-selected); overflow-wrap: anywhere; }
.picker-results { display: grid; gap: 4px; padding-block: 12px; }
.form .picker-item { display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; min-width: 0; cursor: pointer; background: var(--surface); }
.picker-item:has(input:checked) { background: var(--surface-selected); border-color: var(--accent); }
.picker-item input { flex: 0 0 22px; }
.picker-item img { flex: 0 0 48px; width: 48px; height: 56px; object-fit: cover; border-radius: 8px; }
.picker-item>span { display: grid; gap: 4px; min-width: 0; }
.picker-item strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.picker-item small { font-size: 10px; color: var(--muted); }
.collection-savebar { position: sticky; bottom: calc(76px + env(safe-area-inset-bottom)); z-index: 9; display: flex; flex-wrap: wrap; gap: 10px; padding: 12px 0; background: var(--bg); }
.collection-savebar .primary { flex: 1; min-height: 48px; }
body[data-mode=admin] .bottom-nav>a { flex: 1 1 0; min-width: 0; padding-inline: 2px; font-size: 10px; }
@media(max-width:650px) { .collection-feed-card>a { display: block; } .collection-caption { padding: 12px 14px; } .collections-page .page-title { align-items: start; flex-direction: column; } }
@media (prefers-reduced-transparency:reduce) { body[data-mode=visitor] .feed-filter-row::before { background: var(--surface); } }
.collection-picker label.search-box { display: flex; flex-direction: row; align-items: center; gap: 10px; }
.picked-details>summary::before { content: '›'; font-size: 20px; margin-right: 8px; }
.picked-details[open]>summary::before { content: '⌄'; }
.collection-savebar { position: fixed; left: 50%; transform: translateX(-50%); width: min(calc(100% - 28px),800px); bottom: calc(76px + env(safe-area-inset-bottom)); border-radius: 18px; padding: 10px; box-shadow: var(--shadow); }

/* 2.7: internal article age, visitor views and catalogue ordering. */
.item-activity { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; padding-top: 8px; margin-top: 6px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.activity-time,.activity-bumped { flex: 1 0 100%; overflow-wrap: anywhere; }
.activity-views { color: var(--ink); font-weight: 500; }
.item-activity .bump-item { min-height: 40px; padding: 6px 8px; font-size: 11px; margin-left: auto; }
.activity-bumped { font-size: 10px; }
.activity-intro { margin: 4px 0 16px; font-size: 12px; }
.activity-activation { margin-bottom: 16px; }
.activity-activation p { margin: 0 0 12px; }
.activity-activation button { font-size: 13px; }
.admin-item-actions+.item-activity { max-width: 650px; border: 1px solid var(--line); border-radius: 16px; padding: 12px 16px; margin: 12px 0 24px; background: var(--surface); font-size: 13px; }
.admin-item-actions+.item-activity .activity-time { flex-basis: auto; }
.admin-item-actions+.item-activity .bump-item { min-height: 44px; }
#activity-sort { min-width: 0; }
@media(max-width:650px) { .card .item-activity { gap: 3px 5px; font-size: 10px; } .card .item-activity .bump-item { width: 100%; margin: 0; text-align: left; padding-left: 0; min-height: 40px; } }
@media(max-width:650px) { .filters-row #activity-sort { flex: 1 0 100%; width: 100%; max-width: none; } }
/* 2.8: shareable invitation previews, explicit public scope and manual sharing. */
.invitation-page { max-width: 900px; margin-inline: auto; min-width: 0; }
.invitation-page>.muted { margin-bottom: 24px; }
.invitation-counts { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.invitation-counts>span { padding: 10px 16px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); font-size: 13px; }
.invitation-counts strong { color: var(--action-ink); }
.invitation-page .helper { font-size: 12px; }
#invitation-form { margin-top: 16px; }
#invitation-form input,#invitation-form textarea,#invitation-form select { min-width: 0; }
.invitation-public-note { padding: 12px 16px; background: var(--surface-selected); border-radius: 14px; font-size: 12px; line-height: 1.6; }
.invitation-preview,.invitation-card { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.invitation-preview>img,.invitation-card-image { display: block; width: 100%; aspect-ratio: 1200/630; object-fit: contain; background: var(--bg); }
.invitation-preview>div { padding: 14px 18px; }
.invitation-preview h2 { font-size: 18px; margin: 4px 0 8px; }
.invitation-preview p { font-size: 13px; margin: 0; overflow-wrap: anywhere; }
.invitation-preview small { color: var(--muted); font-size: 11px; }
.invitation-history,.invitation-result { margin-top: 32px; }
[data-invitation-history] { display: grid; gap: 20px; }
.invitation-card { padding: 18px; }
.invitation-card-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.invitation-card-heading small { font-size: 10px; color: var(--muted); }
.invitation-card h3 { font-size: 16px; margin: 4px 0 0; }
.invitation-card .badge { flex: 0 0 auto; max-width: 130px; }
.invitation-card-image { max-height: 260px; border-radius: 12px; }
.invitation-card p { font-size: 13px; overflow-wrap: anywhere; }
.invitation-card input { font-size: 12px; }
.invitation-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.invitation-card-actions button,.invitation-card-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 14px; border-radius: 99px; font-size: 12px; }
@media(max-width:500px) { .invitation-card-heading { flex-direction: column; } .invitation-card-actions>* { flex: 1 1 auto; } #invitation-form { padding: 18px; } }
/* Stöbri 2.9 – private workshop draft import */
.workshop-import-page{max-width:1000px;margin-inline:auto}.workshop-import-page>.notice{margin-block:20px}.workshop-import-list{display:grid;gap:16px}.workshop-import-entry{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line,#e7e4ef);padding-bottom:18px}.workshop-import-entry>label{grid-column:1/-1;gap:12px;align-items:center}.workshop-import-entry>img{width:100px;height:125px;object-fit:contain;border-radius:14px;background:#faf7f5}.workshop-import-entry p{overflow-wrap:anywhere;margin:6px 0}.workshop-import-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:78px;background:#fffffff0;backdrop-filter:blur(16px);padding:14px 0}.workshop-import-page [data-workshop-error]{white-space:pre-wrap}.workshop-import-page .tag{display:inline-block;border-radius:99px;background:#f2edff;padding:3px 9px;font-size:12px}@media(max-width:500px){.workshop-import-entry{grid-template-columns:76px minmax(0,1fr);gap:10px}.workshop-import-entry>img{width:76px;height:95px}.workshop-import-actions{position:static}.workshop-import-actions>button{width:100%}}
