:root {
    color-scheme: light;
    --qp-theme-primary: #123D2A;
    --qp-theme-primary-dark: #082419;
    --qp-theme-accent: #C89B52;
    --qp-theme-background: #FFFDF9;
    --qp-theme-surface: #FFFFFF;
    --qp-theme-text: #17211B;
    --qp-theme-text-muted: #68736C;
    --qp-theme-border: #DED7C9;
    --qp-ink: var(--qp-theme-text);
    --qp-ink-soft: var(--qp-theme-text);
    --qp-muted: var(--qp-theme-text-muted);
    --qp-green-950: var(--qp-theme-primary-dark);
    --qp-green-900: var(--qp-theme-primary-dark);
    --qp-green: var(--qp-theme-primary);
    --qp-green-700: var(--qp-theme-primary);
    --qp-green-600: var(--qp-theme-primary);
    --qp-gold-700: var(--qp-theme-accent);
    --qp-gold: var(--qp-theme-accent);
    --qp-gold-300: var(--qp-theme-accent);
    --qp-gold-100: #f6ead1;
    --qp-cream: #f3eee3;
    --qp-cream-2: #faf7f0;
    --qp-paper: var(--qp-theme-background);
    --qp-white: var(--qp-theme-surface);
    --qp-border: var(--qp-theme-border);
    --qp-border-soft: rgba(18, 61, 42, .12);
    --qp-danger: #a32929;
    --qp-success: #25633a;
    --qp-shadow-sm: 0 8px 24px rgba(8, 36, 25, .08);
    --qp-shadow: 0 24px 70px rgba(8, 36, 25, .14);
    --qp-shadow-strong: 0 34px 90px rgba(8, 36, 25, .22);
    --qp-radius-sm: 12px;
    --qp-radius: 22px;
    --qp-radius-lg: 34px;
    --qp-header-height: 88px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--qp-header-height) + 1rem); }
body { margin: 0; background: var(--qp-paper); color: var(--qp-ink); text-rendering: optimizeLegibility; }
body, button, input, textarea, select { font: inherit; }
body.qp-menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: var(--qp-green); text-underline-offset: .18em; }
button, summary { cursor: pointer; }
button { color: inherit; }
svg { display: block; }
[hidden] { display: none !important; }
::selection { background: var(--qp-gold-300); color: var(--qp-green-950); }
:focus-visible { outline: 3px solid var(--qp-gold); outline-offset: 3px; }

h1, h2, h3, h4 { margin-top: 0; color: inherit; font-family: Georgia, "Times New Roman", serif; line-height: 1.06; text-wrap: balance; }
p { line-height: 1.7; }

.qp-container { width: min(1220px, calc(100% - 2rem)); margin-inline: auto; }
.qp-narrow { width: min(790px, calc(100% - 2rem)); }
.qp-skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 1000; padding: .8rem 1rem; border-radius: 10px; background: var(--qp-white); color: var(--qp-green); box-shadow: var(--qp-shadow-sm); font-weight: 800; }
.qp-skip-link:focus { top: 1rem; }

/* Announcement */
.qp-announcement { position: relative; z-index: 52; background: var(--qp-green-950); color: white; }
.qp-announcement-inner { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: .55rem; padding-block: .4rem; font-size: .82rem; text-align: center; }
.qp-announcement-inner strong { color: var(--qp-gold-300); }
.qp-announcement-inner a { color: white; font-weight: 800; }
.qp-announcement-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 999px; background: var(--qp-gold); box-shadow: 0 0 0 5px rgba(200, 155, 82, .14); }

/* Header and navigation */
.qp-site-body { min-width: 320px; overflow-x: clip; background: var(--qp-paper); }
.qp-site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid transparent; background: rgba(255, 253, 249, .88); backdrop-filter: saturate(150%) blur(18px); transition: min-height .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.qp-site-header.is-scrolled { border-color: var(--qp-border-soft); background: rgba(255, 253, 249, .96); box-shadow: 0 12px 34px rgba(8, 36, 25, .08); }
.qp-header-inner { min-height: var(--qp-header-height); display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; }
.qp-site-brand { min-width: 230px; display: inline-flex; align-items: center; gap: .8rem; color: var(--qp-green-950); text-decoration: none; }
.qp-site-brand img { width: 64px; height: 63px; border-radius: 14px; object-fit: cover; box-shadow: 0 9px 24px rgba(8, 36, 25, .13); transition: transform .2s ease; }
.qp-site-brand:hover img { transform: rotate(-1.5deg) scale(1.02); }
.qp-site-brand span { display: grid; gap: .06rem; }
.qp-site-brand strong { font-size: 1.02rem; letter-spacing: .018em; }
.qp-site-brand small { color: var(--qp-muted); font-size: .69rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.qp-desktop-nav { display: flex; align-items: center; justify-content: flex-end; gap: .15rem; }
.qp-desktop-nav > a,
.qp-nav-dropdown > summary { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; padding: .62rem .78rem; border-radius: 999px; color: var(--qp-ink); text-decoration: none; font-size: .91rem; font-weight: 790; list-style: none; transition: background .15s ease, color .15s ease, transform .15s ease; }
.qp-nav-dropdown > summary::-webkit-details-marker { display: none; }
.qp-nav-dropdown > summary svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform .15s ease; }
.qp-desktop-nav > a:hover,
.qp-nav-dropdown > summary:hover,
.qp-desktop-nav > a[aria-current="page"],
.qp-nav-dropdown > summary[aria-current="page"],
.qp-nav-dropdown[open] > summary { background: var(--qp-cream); color: var(--qp-green); }
.qp-nav-dropdown[open] > summary svg { transform: rotate(180deg); }
.qp-desktop-nav .qp-nav-cta { margin-left: .28rem; padding-inline: 1.08rem; background: var(--qp-green); color: white; box-shadow: 0 8px 20px rgba(18, 61, 42, .16); }
.qp-desktop-nav .qp-nav-cta:hover { background: var(--qp-green-700); color: white; transform: translateY(-1px); }
.qp-nav-dropdown { position: relative; }
.qp-nav-panel { position: absolute; right: 0; top: calc(100% + .75rem); width: 360px; display: grid; gap: .45rem; padding: .75rem; border: 1px solid var(--qp-border-soft); border-radius: 20px; background: rgba(255,255,255,.99); box-shadow: var(--qp-shadow); }
.qp-nav-panel-wide { width: 560px; grid-template-columns: 1fr 1fr; gap: 1rem; }
.qp-nav-panel > a,
.qp-nav-panel > div > a { display: grid; gap: .15rem; padding: .78rem .85rem; border-radius: 13px; color: var(--qp-ink); text-decoration: none; }
.qp-nav-panel > a:hover,
.qp-nav-panel > div > a:hover { background: var(--qp-cream-2); }
.qp-nav-panel strong { color: var(--qp-green); font-size: .92rem; }
.qp-nav-panel small { color: var(--qp-muted); line-height: 1.35; }
.qp-nav-panel-label { display: block; padding: .5rem .85rem .25rem; color: var(--qp-gold-700); font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.qp-header-actions { display: none; align-items: center; gap: .45rem; }
.qp-header-call,
.qp-menu-toggle,
.qp-menu-close { border: 0; background: transparent; }
.qp-header-call { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--qp-border); border-radius: 999px; background: var(--qp-white); color: var(--qp-green); text-decoration: none; }
.qp-header-call svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.qp-menu-toggle { min-height: 44px; display: inline-flex; align-items: center; gap: .62rem; padding: .6rem .8rem; border: 1px solid var(--qp-border); border-radius: 999px; background: var(--qp-white); font-size: .85rem; font-weight: 850; }
.qp-menu-toggle-lines { width: 19px; display: grid; gap: 4px; }
.qp-menu-toggle-lines span { height: 2px; border-radius: 99px; background: currentColor; }
.qp-mobile-fallback { display: none; }

/* Off-canvas navigation */
.qp-menu-backdrop { position: fixed; inset: 0; z-index: 70; background: rgba(4, 20, 14, .58); opacity: 0; backdrop-filter: blur(3px); transition: opacity .22s ease; }
.qp-menu-backdrop.is-open { opacity: 1; }
.qp-mobile-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 80; width: min(430px, 92vw); display: flex; flex-direction: column; padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom)); background: var(--qp-paper); box-shadow: -24px 0 70px rgba(4, 20, 14, .28); transform: translateX(105%); transition: transform .22s ease; overflow-y: auto; }
.qp-mobile-drawer.is-open { transform: translateX(0); }
.qp-mobile-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .25rem .15rem 1rem; border-bottom: 1px solid var(--qp-border); }
.qp-mobile-brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--qp-ink); text-decoration: none; }
.qp-mobile-brand img { width: 52px; height: 51px; border-radius: 11px; }
.qp-mobile-brand span { display: grid; }
.qp-mobile-brand small { color: var(--qp-muted); font-size: .7rem; }
.qp-menu-close { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 999px; background: var(--qp-cream); }
.qp-menu-close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.qp-mobile-nav { display: grid; gap: .35rem; padding: 1rem 0; }
.qp-mobile-nav > a { display: grid; gap: .1rem; padding: .82rem .9rem; border-radius: 14px; color: var(--qp-ink); text-decoration: none; }
.qp-mobile-nav > a:hover,
.qp-mobile-nav > a[aria-current="page"] { background: var(--qp-cream); color: var(--qp-green); }
.qp-mobile-nav > a span { font-size: 1.02rem; font-weight: 850; }
.qp-mobile-nav > a small { color: var(--qp-muted); }
.qp-mobile-nav details { border-top: 1px solid var(--qp-border); }
.qp-mobile-nav details:last-of-type { border-bottom: 1px solid var(--qp-border); }
.qp-mobile-nav details summary { padding: .9rem; list-style: none; font-weight: 850; }
.qp-mobile-nav details summary::-webkit-details-marker { display: none; }
.qp-mobile-nav details summary::after { content: "+"; float: right; color: var(--qp-green); }
.qp-mobile-nav details[open] summary::after { content: "−"; }
.qp-mobile-nav details div { display: grid; gap: .15rem; padding: 0 .45rem .8rem; }
.qp-mobile-nav details a { padding: .7rem .8rem; border-radius: 10px; color: var(--qp-ink-soft); text-decoration: none; }
.qp-mobile-nav details a:hover { background: var(--qp-cream-2); }
.qp-mobile-drawer-actions { display: grid; gap: .7rem; margin-top: auto; padding-top: 1rem; }

/* Shared buttons and labels */
.qp-kicker { color: var(--qp-green-600); font-size: .75rem; font-weight: 950; letter-spacing: .16em; text-transform: uppercase; }
.qp-kicker-gold { color: var(--qp-gold-300); }
.qp-button-row { display: flex; flex-wrap: wrap; gap: .72rem; }
.qp-site-button { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .74rem 1.15rem; border: 1px solid transparent; border-radius: 999px; color: var(--qp-green); text-decoration: none; font-weight: 880; transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.qp-site-button:hover { transform: translateY(-1px); }
.qp-site-button-primary { background: var(--qp-gold); color: var(--qp-green-950); box-shadow: 0 10px 26px rgba(168, 119, 45, .2); }
.qp-site-button-primary:hover { background: var(--qp-gold-300); color: var(--qp-green-950); }
.qp-site-button-light { background: var(--qp-white); color: var(--qp-green); }
.qp-site-button-light:hover { background: var(--qp-cream-2); }
.qp-site-button-ghost { border-color: rgba(255,255,255,.5); color: white; }
.qp-site-button-ghost:hover { background: rgba(255,255,255,.12); }
.qp-site-button-outline { border-color: var(--qp-border); background: var(--qp-white); color: var(--qp-green); }
.qp-site-button-gold { background: var(--qp-gold); color: var(--qp-green-950); }
.qp-site-button-dark-ghost { border-color: rgba(255,255,255,.34); color: white; }
.qp-inline-link { display: inline-flex; align-items: center; gap: .35rem; color: var(--qp-green); font-weight: 850; text-underline-offset: .22em; }
.qp-inline-link::after { content: "→"; transition: transform .15s ease; }
.qp-inline-link:hover::after { transform: translateX(3px); }

/* Home hero */
.qp-home-hero { position: relative; min-height: clamp(620px, 78svh, 820px); display: grid; align-items: end; overflow: clip; background: var(--qp-green-950); }
.qp-home-hero-media,
.qp-home-hero-overlay { position: absolute; inset: 0; }
.qp-home-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.qp-home-hero-overlay { background: linear-gradient(90deg, rgba(4,20,14,.94) 0%, rgba(4,20,14,.74) 42%, rgba(4,20,14,.25) 72%, rgba(4,20,14,.04) 100%), linear-gradient(0deg, rgba(4,20,14,.58) 0%, transparent 54%); }
.qp-home-hero-content { position: relative; z-index: 2; padding-block: clamp(5rem, 11vw, 8.5rem) clamp(7rem, 12vw, 9rem); }
.qp-home-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 370px); gap: clamp(2rem, 7vw, 6rem); align-items: end; }
.qp-home-hero-copy { max-width: 760px; color: white; }
.qp-home-hero .qp-kicker { color: var(--qp-gold-300); }
.qp-home-hero h1 { max-width: 11ch; margin: .8rem 0 1.1rem; color: white; font-size: clamp(3.4rem, 7.4vw, 7rem); letter-spacing: -.052em; }
.qp-home-hero-copy > p { max-width: 58ch; margin: 0 0 1.8rem; color: rgba(255,255,255,.86); font-size: clamp(1.05rem, 1.7vw, 1.28rem); }
.qp-hero-info-card { padding: 1.35rem; border: 1px solid rgba(255,255,255,.2); border-radius: var(--qp-radius); background: rgba(8,36,25,.72); color: white; box-shadow: var(--qp-shadow-strong); backdrop-filter: blur(18px); }
.qp-hero-info-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.qp-hero-info-top span { color: var(--qp-gold-300); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.qp-hero-status { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .55rem; border-radius: 999px; background: rgba(255,255,255,.1); font-size: .72rem; font-weight: 850; }
.qp-hero-status::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: #83d896; box-shadow: 0 0 0 4px rgba(131,216,150,.14); }
.qp-hero-info-card h2 { margin: 0 0 .55rem; color: white; font-family: inherit; font-size: 1.16rem; }
.qp-hero-info-card p { margin: 0; color: rgba(255,255,255,.8); line-height: 1.55; }
.qp-hero-info-card a { margin-top: .9rem; color: white; }

/* Quick action strip */
.qp-quick-strip-wrap { position: relative; z-index: 5; margin-top: -4.25rem; }
.qp-quick-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; padding: .8rem; border: 1px solid var(--qp-border-soft); border-radius: 26px; background: rgba(255,253,249,.94); box-shadow: var(--qp-shadow); backdrop-filter: blur(16px); }
.qp-quick-link { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: .85rem; padding: .95rem; border-radius: 18px; color: var(--qp-ink); text-decoration: none; transition: background .15s ease, transform .15s ease; }
.qp-quick-link:hover { background: var(--qp-cream); transform: translateY(-2px); }
.qp-quick-link-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--qp-green); color: white; }
.qp-quick-link-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.qp-quick-link span { display: grid; gap: .1rem; }
.qp-quick-link strong { color: var(--qp-green); }
.qp-quick-link small { color: var(--qp-muted); line-height: 1.35; }
.qp-quick-link-arrow { color: var(--qp-gold-700); font-size: 1.35rem; }

/* Sections */
.qp-section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.qp-section-cream { background: var(--qp-cream); }
.qp-section-paper { background: var(--qp-paper); }
.qp-section-dark { position: relative; overflow: clip; background: var(--qp-green-950); color: white; }
.qp-section-dark::before { content: ""; position: absolute; right: -15vw; top: -18vw; width: 42vw; aspect-ratio: 1; border: 1px solid rgba(231,201,141,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(231,201,141,.04), 0 0 0 140px rgba(231,201,141,.025); }
.qp-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.2rem; }
.qp-section-head h2,
.qp-opening-grid h2,
.qp-story-grid h2,
.qp-callout-inner h2 { margin: .45rem 0 0; font-size: clamp(2.35rem, 4.9vw, 4.7rem); letter-spacing: -.042em; }
.qp-section-lead { max-width: 58ch; color: var(--qp-muted); font-size: 1.08rem; }
.qp-opening-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .88fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.qp-opening-card { padding: clamp(1.55rem, 4vw, 2.5rem); border: 1px solid rgba(18,61,42,.13); border-radius: var(--qp-radius); background: var(--qp-paper); box-shadow: var(--qp-shadow); }
.qp-opening-card h3 { margin-bottom: .45rem; color: var(--qp-green); font-family: inherit; font-size: 1.05rem; }
.qp-opening-card p { margin: .2rem 0 1rem; font-size: 1.08rem; }
.qp-opening-card small { display: block; margin-top: 1rem; color: var(--qp-muted); line-height: 1.55; }
.qp-opening-divider { height: 1px; margin: 1.35rem 0; background: var(--qp-border); }

.qp-card-grid,
.qp-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.qp-public-card,
.qp-news-card,
.qp-empty-state { border: 1px solid var(--qp-border); border-radius: var(--qp-radius); background: var(--qp-white); box-shadow: var(--qp-shadow-sm); }
.qp-public-card,
.qp-news-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.qp-public-card:hover,
.qp-news-card:hover { transform: translateY(-4px); border-color: rgba(18,61,42,.24); box-shadow: var(--qp-shadow); }
.qp-event-card { min-height: 180px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: 1.25rem; }
.qp-event-card h2,
.qp-event-card h3,
.qp-news-card h2,
.qp-news-card h3 { margin: .35rem 0 .55rem; font-size: 1.55rem; }
.qp-event-card h2 a,
.qp-event-card h3 a,
.qp-news-card h2 a,
.qp-news-card h3 a { color: var(--qp-ink); text-decoration: none; }
.qp-event-card h2 a:hover,
.qp-event-card h3 a:hover,
.qp-news-card h2 a:hover,
.qp-news-card h3 a:hover { color: var(--qp-green-600); }
.qp-event-card p,
.qp-news-card p { margin: 0; color: var(--qp-muted); }
.qp-date-tile { width: 68px; height: 74px; display: grid; place-content: center; text-align: center; border-radius: 16px; background: linear-gradient(145deg, var(--qp-green), var(--qp-green-950)); color: white; box-shadow: 0 10px 24px rgba(8,36,25,.18); }
.qp-date-tile strong { font-size: 1.75rem; line-height: 1; }
.qp-date-tile span { margin-top: .2rem; color: var(--qp-gold-300); font-size: .7rem; font-weight: 900; letter-spacing: .09em; }
.qp-card-meta { color: var(--qp-muted); font-size: .78rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.qp-empty-state { grid-column: 1 / -1; padding: 2rem; }
.qp-empty-state h2,
.qp-empty-state h3 { margin-bottom: .35rem; }
.qp-story-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.qp-story-grid p { color: rgba(255,255,255,.82); font-size: 1.12rem; }
.qp-story-image { position: relative; }
.qp-story-image::before { content: ""; position: absolute; inset: -15px 15px 15px -15px; border: 1px solid rgba(231,201,141,.55); border-radius: 28px; }
.qp-story-image img { position: relative; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--qp-radius); box-shadow: var(--qp-shadow-strong); }
.qp-news-card { overflow: hidden; }
.qp-news-card > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.qp-news-card-body { padding: 1.3rem; }
.qp-membership-callout { padding-top: 0; }
.qp-callout-inner { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2.2rem, 5vw, 4.4rem); border-radius: var(--qp-radius-lg); background: linear-gradient(135deg, #f2dfb4 0%, #c89b52 100%); box-shadow: 0 24px 60px rgba(168,119,45,.2); }
.qp-callout-inner::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 300px; height: 300px; border: 1px solid rgba(8,36,25,.16); border-radius: 50%; }
.qp-callout-inner > * { position: relative; z-index: 1; }
.qp-callout-inner p { max-width: 58ch; margin-bottom: 0; }

/* Secondary pages */
.qp-page-hero { position: relative; overflow: clip; padding: clamp(4.5rem, 9vw, 8rem) 0; background: linear-gradient(135deg, #eef1e8 0%, #f8f2e4 100%); }
.qp-page-hero::after { content: ""; position: absolute; right: -8vw; top: -10vw; width: min(480px, 45vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(200,155,82,.18), transparent 67%); }
.qp-page-hero .qp-container { position: relative; z-index: 1; }
.qp-breadcrumb { margin-bottom: 1.2rem; color: var(--qp-muted); font-size: .85rem; }
.qp-breadcrumb a { color: var(--qp-green); font-weight: 800; }
.qp-page-hero h1 { max-width: 13ch; margin: .65rem 0 1rem; font-size: clamp(3rem, 6vw, 5.5rem); letter-spacing: -.045em; }
.qp-page-hero p { max-width: 62ch; margin: 0; color: var(--qp-muted); font-size: 1.18rem; }
.qp-event-location { margin-top: 1rem; font-weight: 800; color: var(--qp-green); }
.qp-richtext { color: var(--qp-ink-soft); font-size: 1.08rem; line-height: 1.82; }
.qp-richtext a { font-weight: 800; }
.qp-richtext br + br { display: block; content: ""; margin-top: .75rem; }
.qp-article-image { position: relative; margin-top: -2.5rem; }
.qp-article-image img { width: 100%; max-height: 640px; object-fit: cover; border-radius: var(--qp-radius); box-shadow: var(--qp-shadow); }
.qp-event-list { display: grid; gap: 1rem; }
.qp-event-list .qp-event-card { min-height: 0; grid-template-columns: auto 1fr; }
.qp-past-head { margin-top: 4rem; }
.qp-compact-list { display: grid; gap: .5rem; }
.qp-compact-list a { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; padding: .9rem 1rem; border-bottom: 1px solid var(--qp-border); color: var(--qp-ink); text-decoration: none; }
.qp-compact-list a:hover { background: var(--qp-cream-2); }
.qp-compact-list span { color: var(--qp-muted); }

/* Footer */
.qp-site-footer { padding: clamp(4rem, 7vw, 6rem) 0 1.2rem; background: var(--qp-green-950); color: rgba(255,255,255,.76); }
.qp-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-bottom: 2.2rem; border-bottom: 1px solid rgba(255,255,255,.11); }
.qp-footer-brand-block { display: flex; align-items: center; gap: 1rem; color: white; }
.qp-footer-brand-block strong { font-size: 1.08rem; }
.qp-footer-brand-block p { margin: .18rem 0 0; color: rgba(255,255,255,.58); }
.qp-footer-logo { width: 72px; height: 71px; border-radius: 14px; object-fit: cover; }
.qp-footer-intro { max-width: 58ch; margin: 0; color: rgba(255,255,255,.68); }
.qp-footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .9fr .9fr; gap: 2rem; padding-top: 2.2rem; }
.qp-site-footer h2 { margin-bottom: .75rem; color: var(--qp-gold-300); font-family: inherit; font-size: .73rem; letter-spacing: .13em; text-transform: uppercase; }
.qp-site-footer p { margin: .4rem 0; line-height: 1.6; }
.qp-site-footer a { color: white; }
.qp-footer-links { display: grid; gap: .55rem; }
.qp-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.15rem; border-top: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.48); font-size: .78rem; }
.qp-mobile-quickbar { display: none; }

/* Shared admin/auth */
.qp-login-body { background: radial-gradient(circle at top left, rgba(202,162,93,.28), transparent 35%), var(--qp-cream); }
.qp-login-shell { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; }
.qp-login-card { width: min(460px, 100%); padding: 2rem; border: 1px solid var(--qp-border); border-radius: 24px; background: var(--qp-white); box-shadow: var(--qp-shadow); }
.qp-login-logo { width: 92px; height: 90px; margin-bottom: 1.2rem; border-radius: 14px; }
.qp-eyebrow { color: var(--qp-green-600); font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.qp-login-card h1 { margin: .5rem 0 .6rem; font-size: 2.2rem; }
.qp-field { display: grid; gap: .45rem; margin-bottom: 1rem; }
.qp-field label, .qp-label { font-weight: 750; }
.qp-input, .qp-textarea, .qp-select { width: 100%; padding: .78rem .9rem; border: 1px solid #cfc8bb; border-radius: 10px; background: var(--qp-white); color: var(--qp-ink); }
.qp-textarea { min-height: 12rem; resize: vertical; line-height: 1.55; }
.qp-textarea-short { min-height: 7rem; }
.qp-input:focus, .qp-textarea:focus, .qp-select:focus { outline: 3px solid rgba(18,61,42,.14); border-color: var(--qp-green); }
.qp-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .68rem 1rem; border: 0; border-radius: 10px; background: var(--qp-green); color: white; text-decoration: none; font-weight: 800; cursor: pointer; }
.qp-button:hover { background: var(--qp-green-700); }
.qp-button-wide { width: 100%; }
.qp-button-secondary { background: #ece7dd; color: var(--qp-ink); }
.qp-button-danger { background: var(--qp-danger); }
.qp-error { color: var(--qp-danger); font-size: .9rem; }
.qp-alert { margin-bottom: 1rem; padding: .85rem 1rem; border-radius: 10px; background: #edf7ee; color: var(--qp-success); }
.qp-alert-error { background: #fff0f0; color: var(--qp-danger); }
.qp-alert-warning { background: #fff7df; color: #7a5712; }
.qp-alert-neutral { background: #f0eee9; color: var(--qp-muted); }
.qp-muted { color: var(--qp-muted); }
.qp-admin-body { min-height: 100vh; background: #f2efe9; }
.qp-admin-grid { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }
.qp-sidebar { padding: 1.35rem 1rem; background: #102d20; color: white; }
.qp-admin-brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.8rem; color: white; text-decoration: none; }
.qp-admin-brand img { width: 50px; height: 49px; border-radius: 10px; }
.qp-admin-brand span { display: grid; }
.qp-admin-brand strong { font-size: 1.03rem; }
.qp-admin-brand small { color: rgba(255,255,255,.64); }
.qp-nav { display: grid; gap: .32rem; }
.qp-nav a { padding: .72rem .8rem; border-radius: 9px; color: #e6eee8; text-decoration: none; font-weight: 700; }
.qp-nav-label { display: block; margin: .8rem .8rem .08rem; color: rgba(255,255,255,.48); font-size: .67rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.qp-nav a:hover, .qp-nav a[aria-current="page"] { background: rgba(255,255,255,.11); color: white; }
.qp-sidebar-footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.6); font-size: .85rem; }
.qp-admin-main { min-width: 0; }
.qp-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--qp-border); background: rgba(255,255,255,.9); }
.qp-topbar-user { color: var(--qp-muted); font-size: .92rem; }
.qp-admin-content { padding: 1.5rem; }
.qp-page-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.qp-page-head h1 { margin: 0; font-family: inherit; font-size: 1.8rem; }
.qp-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.qp-cards-wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qp-card { padding: 1.2rem; border: 1px solid var(--qp-border); border-radius: 15px; background: var(--qp-white); box-shadow: 0 8px 24px rgba(48,37,23,.05); }
.qp-card h2 { font-family: inherit; font-size: 1.15rem; }
.qp-card-label { color: var(--qp-muted); font-size: .85rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.qp-card-value { margin-top: .35rem; font-size: 2rem; font-weight: 900; }
.qp-card-hint { margin-top: .2rem; color: var(--qp-muted); font-size: .85rem; }
.qp-panel { overflow: hidden; margin-bottom: 1.5rem; border: 1px solid var(--qp-border); border-radius: 15px; background: var(--qp-white); }
.qp-panel-head { padding: 1rem 1.2rem; border-bottom: 1px solid var(--qp-border); font-weight: 850; }
.qp-quick-actions { display: flex; gap: .7rem; flex-wrap: wrap; padding: 1rem 1.2rem; }
.qp-quick-actions a { padding: .65rem .8rem; border-radius: 9px; background: var(--qp-cream); text-decoration: none; font-weight: 800; }
.qp-table-wrap { overflow-x: auto; }
.qp-table { width: 100%; border-collapse: collapse; }
.qp-table th, .qp-table td { padding: .82rem 1rem; border-bottom: 1px solid #eee7dc; text-align: left; vertical-align: top; }
.qp-table th { color: var(--qp-muted); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.qp-table tr:last-child td { border-bottom: 0; }
.qp-badge { display: inline-flex; padding: .3rem .55rem; border-radius: 999px; background: #eee8de; font-size: .78rem; font-weight: 800; }
.qp-badge-success { background: #e5f4e8; color: var(--qp-success); }
.qp-badge-highlight { background: #f5dfaa; color: var(--qp-green-950); }
.qp-badge-muted { color: var(--qp-muted); }
.qp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.qp-form-full { grid-column: 1 / -1; }
.qp-checkbox-list { display: grid; gap: .55rem; }
.qp-checkbox { display: flex; gap: .65rem; align-items: flex-start; padding: .7rem; border: 1px solid #e4dcd0; border-radius: 10px; }
.qp-checkbox span { display: grid; gap: .15rem; }
.qp-checkbox small { color: var(--qp-muted); }
.qp-actions { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.2rem; }
.qp-settings-stack { display: grid; gap: 1rem; }
.qp-sticky-actions { position: sticky; bottom: 0; margin-top: 1rem; padding: 1rem; border: 1px solid var(--qp-border); border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 -8px 28px rgba(18,61,42,.08); }

/* Responsive */
@media (max-width: 1160px) {
    .qp-site-brand { min-width: 205px; }
    .qp-site-brand strong { font-size: .94rem; }
    .qp-desktop-nav > a,
    .qp-nav-dropdown > summary { padding-inline: .62rem; font-size: .86rem; }
}

@media (max-width: 1080px) {
    :root { --qp-header-height: 78px; }
    .qp-desktop-nav { display: none; }
    .qp-header-actions { display: flex; }
    .qp-home-hero-grid { grid-template-columns: 1fr; }
    .qp-hero-info-card { max-width: 520px; }
    .qp-card-grid, .qp-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-cards-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-no-js .qp-header-actions { display: none; }
    .qp-no-js .qp-mobile-fallback { position: relative; display: block; }
    .qp-no-js .qp-mobile-fallback > summary { padding: .65rem .8rem; border: 1px solid var(--qp-border); border-radius: 999px; list-style: none; font-weight: 850; }
    .qp-no-js .qp-mobile-fallback nav { position: absolute; right: 0; top: calc(100% + .5rem); width: min(320px, calc(100vw - 2rem)); display: grid; gap: .2rem; padding: .7rem; border: 1px solid var(--qp-border); border-radius: 16px; background: var(--qp-white); box-shadow: var(--qp-shadow); }
    .qp-no-js .qp-mobile-fallback a { padding: .7rem; border-radius: 10px; text-decoration: none; font-weight: 800; }
}

@media (max-width: 860px) {
    .qp-home-hero { min-height: 720px; }
    .qp-home-hero-overlay { background: linear-gradient(0deg, rgba(4,20,14,.94) 0%, rgba(4,20,14,.62) 66%, rgba(4,20,14,.22) 100%); }
    .qp-home-hero-content { padding-bottom: 8.2rem; }
    .qp-hero-info-card { display: none; }
    .qp-quick-strip { grid-template-columns: 1fr; }
    .qp-quick-strip-wrap { margin-top: -5.4rem; }
    .qp-opening-grid, .qp-story-grid { grid-template-columns: 1fr; }
    .qp-story-image { order: 2; }
    .qp-section-head, .qp-callout-inner, .qp-footer-top { align-items: flex-start; flex-direction: column; }
    .qp-admin-grid { grid-template-columns: 1fr; }
    .qp-sidebar { position: static; }
    .qp-cards, .qp-form-grid { grid-template-columns: 1fr; }
    .qp-form-full { grid-column: auto; }
    .qp-topbar, .qp-page-head { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
    :root { --qp-header-height: 72px; }
    html { scroll-padding-bottom: 5rem; }
    body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
    .qp-container, .qp-narrow { width: min(100% - 1.25rem, 1220px); }
    .qp-announcement-inner { justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
    .qp-announcement-inner strong { display: none; }
    .qp-header-inner { gap: .5rem; }
    .qp-site-brand { min-width: 0; gap: .6rem; }
    .qp-site-brand img { width: 50px; height: 49px; border-radius: 10px; }
    .qp-site-brand strong { max-width: 145px; overflow: hidden; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
    .qp-site-brand small { font-size: .59rem; }
    .qp-header-call { display: none; }
    .qp-menu-toggle { width: 44px; justify-content: center; padding: .6rem; }
    .qp-menu-toggle > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .qp-home-hero { min-height: 660px; }
    .qp-home-hero-media img { object-position: 58% center; }
    .qp-home-hero-content { padding-block: 4.5rem 7.2rem; }
    .qp-home-hero h1 { max-width: 10ch; font-size: clamp(3rem, 15vw, 4.75rem); }
    .qp-home-hero-copy > p { font-size: 1rem; }
    .qp-button-row { display: grid; grid-template-columns: 1fr; }
    .qp-site-button { width: 100%; }
    .qp-quick-strip-wrap { margin-top: -4.8rem; }
    .qp-quick-strip { border-radius: 20px; }
    .qp-quick-link { grid-template-columns: 44px 1fr auto; padding: .75rem; }
    .qp-quick-link-icon { width: 44px; height: 44px; }
    .qp-section { padding-block: 4.25rem; }
    .qp-card-grid, .qp-news-grid, .qp-footer-grid { grid-template-columns: 1fr; }
    .qp-section-head { margin-bottom: 1.4rem; }
    .qp-section-head h2, .qp-opening-grid h2, .qp-story-grid h2, .qp-callout-inner h2 { font-size: clamp(2.25rem, 11vw, 3.35rem); }
    .qp-event-card { grid-template-columns: auto 1fr; }
    .qp-date-tile { width: 58px; height: 64px; border-radius: 13px; }
    .qp-date-tile strong { font-size: 1.5rem; }
    .qp-callout-inner { border-radius: 24px; }
    .qp-page-hero h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
    .qp-article-image { margin-top: -1.5rem; }
    .qp-compact-list a { grid-template-columns: 1fr; gap: .2rem; }
    .qp-footer-bottom { flex-direction: column; }
    .qp-mobile-quickbar { position: fixed; left: .55rem; right: .55rem; bottom: max(.55rem, env(safe-area-inset-bottom)); z-index: 45; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; padding: .35rem; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(8,36,25,.94); box-shadow: 0 16px 40px rgba(4,20,14,.34); backdrop-filter: blur(16px); }
    .qp-mobile-quickbar a,
    .qp-mobile-quickbar button { min-height: 52px; display: grid; place-items: center; gap: .12rem; padding: .35rem; border: 0; border-radius: 13px; background: transparent; color: white; text-decoration: none; font-size: .66rem; font-weight: 850; }
    .qp-mobile-quickbar a:hover,
    .qp-mobile-quickbar button:hover { background: rgba(255,255,255,.1); }
    .qp-mobile-quickbar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
}

@media (max-width: 430px) {
    .qp-site-brand small { display: none; }
    .qp-home-hero { min-height: 620px; }
    .qp-home-hero h1 { font-size: clamp(2.75rem, 14vw, 3.8rem); }
    .qp-event-card { grid-template-columns: 1fr; }
    .qp-date-tile { width: 60px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Event media and social package – v0.5.1 */
.qp-event-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.qp-event-gallery-empty { grid-column: 1 / -1; }
.qp-home-event-grid { align-items: stretch; }
.qp-home-event-grid-one { grid-template-columns: minmax(0, 760px); }
.qp-home-event-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qp-home-event-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qp-event-spotlight { overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: stretch; border: 1px solid rgba(18,61,42,.16); border-radius: var(--qp-radius-lg); background: var(--qp-white); box-shadow: var(--qp-shadow); }
.qp-event-spotlight-no-media { grid-template-columns: minmax(0, 1fr); }
.qp-event-spotlight-media { position: relative; overflow: hidden; min-height: 360px; display: block; background: var(--qp-green-950); color: white; text-decoration: none; }
.qp-event-spotlight-media > img,
.qp-event-spotlight-media > picture,
.qp-event-spotlight-media > picture > img { width: 100%; height: 100%; }
.qp-event-spotlight-media > img,
.qp-event-spotlight-media > picture > img { display: block; object-fit: cover; transition: transform .35s ease; }
.qp-event-spotlight:hover .qp-event-spotlight-media > img,
.qp-event-spotlight:hover .qp-event-spotlight-media > picture > img { transform: scale(1.025); }
.qp-event-spotlight-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.5rem, 4vw, 3.2rem); }
.qp-event-spotlight-copy .qp-card-meta { margin-top: .65rem; overflow-wrap: anywhere; }
.qp-event-spotlight-copy h2 { margin: .5rem 0 .8rem; font-family: inherit; font-size: clamp(2rem, 4.4vw, 4rem); line-height: 1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.qp-event-spotlight-copy h2 a { color: var(--qp-ink); text-decoration: none; }
.qp-event-spotlight-copy h2 a:hover { color: var(--qp-green-600); }
.qp-event-spotlight-copy p { max-width: 62ch; margin: 0 0 1.25rem; color: var(--qp-muted); font-size: 1.05rem; line-height: 1.65; overflow-wrap: anywhere; }
.qp-event-date-badge-large { min-width: 78px; padding: .65rem .82rem; }
.qp-event-date-badge-large strong { font-size: 2rem; }
.qp-event-index-spotlight { margin-bottom: 2rem; }
.qp-event-gallery-after-highlight { margin-top: 1rem; }
.qp-home-editor-status { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 10px; font-weight: 750; }
.qp-home-editor-status-success { background: #e5f4e8; color: var(--qp-success); }
.qp-home-editor-status-warning { background: #fff7df; color: #7a5712; }
.qp-home-editor-status-neutral { background: #f0eee9; color: var(--qp-muted); }
.qp-event-poster-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; padding: 0; }
.qp-event-card-media { position: relative; overflow: hidden; display: block; aspect-ratio: 16 / 10; background: var(--qp-green-950); color: white; text-decoration: none; }
.qp-event-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.qp-event-poster-card:hover .qp-event-card-media img { transform: scale(1.035); }
.qp-event-card-fallback { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 75% 20%, rgba(231,201,141,.28), transparent 32%), linear-gradient(145deg, var(--qp-green-700), var(--qp-green-950)); }
.qp-event-card-fallback::after { content: ""; position: absolute; inset: 13%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.qp-event-card-fallback span { position: relative; z-index: 1; color: var(--qp-gold-300); font-family: Georgia, serif; font-size: clamp(1.7rem, 4vw, 2.7rem); font-weight: 900; line-height: .88; text-align: center; }
.qp-event-date-badge { position: absolute; left: 1rem; bottom: 1rem; min-width: 68px; display: grid; justify-items: center; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.26); border-radius: 16px; background: rgba(7,31,22,.88); color: white; box-shadow: 0 12px 28px rgba(0,0,0,.22); backdrop-filter: blur(10px); }
.qp-event-date-badge strong { font-size: 1.7rem; line-height: 1; }
.qp-event-date-badge span { margin-top: .15rem; color: var(--qp-gold-300); font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.qp-event-featured-badge { position: absolute; right: .8rem; top: .8rem; padding: .38rem .62rem; border-radius: 999px; background: var(--qp-gold-300); color: var(--qp-green-950); font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.qp-event-card-body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 1.25rem; }
.qp-event-card-body h2,
.qp-event-card-body h3 { margin: .45rem 0 .65rem; font-family: inherit; font-size: 1.25rem; line-height: 1.2; }
.qp-event-card-body h2 a,
.qp-event-card-body h3 a { color: var(--qp-ink); text-decoration: none; }
.qp-event-card-body h2 a:hover,
.qp-event-card-body h3 a:hover { color: var(--qp-green-600); }
.qp-event-card-body p { display: -webkit-box; overflow: hidden; margin: 0 0 1rem; color: var(--qp-muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.qp-event-card-body .qp-inline-link { min-height: 44px; margin-top: auto; padding-block: .55rem; touch-action: manipulation; }

.qp-event-detail-hero { position: relative; overflow: hidden; min-height: min(720px, 76vh); display: flex; align-items: flex-end; background: linear-gradient(135deg, var(--qp-green-700), var(--qp-green-950)); color: white; }
.qp-event-detail-media,
.qp-event-detail-overlay { position: absolute; inset: 0; }
.qp-event-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.qp-event-detail-overlay { background: linear-gradient(0deg, rgba(4,20,14,.94) 0%, rgba(4,20,14,.6) 55%, rgba(4,20,14,.18) 100%); }
.qp-event-detail-content { position: relative; z-index: 1; width: 100%; padding-block: clamp(5rem, 12vw, 9rem) clamp(3rem, 7vw, 5rem); }
.qp-event-detail-copy { max-width: 860px; }
.qp-event-detail-copy h1 { max-width: 12ch; margin: .7rem 0 1rem; color: white; font-size: clamp(3.3rem, 8vw, 7rem); line-height: .92; letter-spacing: -.05em; }
.qp-event-detail-copy > p { max-width: 64ch; color: rgba(255,255,255,.82); font-size: clamp(1.05rem, 2vw, 1.35rem); }
.qp-breadcrumb-light,
.qp-breadcrumb-light a { color: rgba(255,255,255,.75); }
.qp-event-detail-facts { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.qp-event-detail-facts span { min-width: 130px; display: grid; gap: .18rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: rgba(4,20,14,.38); backdrop-filter: blur(12px); }
.qp-event-detail-facts strong { color: var(--qp-gold-300); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.qp-event-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(2rem, 7vw, 6rem); align-items: start; }
.qp-event-share-card { position: sticky; top: calc(var(--qp-header-height) + 1.2rem); padding: 1.5rem; border: 1px solid var(--qp-border); border-radius: var(--qp-radius); background: var(--qp-white); box-shadow: var(--qp-shadow); }
.qp-event-share-card h2 { margin: .5rem 0 .7rem; font-family: inherit; font-size: 1.45rem; }
.qp-event-share-card p { color: var(--qp-muted); }
.qp-event-share-actions { display: grid; gap: .6rem; margin: 1rem 0; }
.qp-event-share-actions a,
.qp-event-share-actions button { width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: .65rem .8rem; border: 1px solid var(--qp-green); border-radius: 10px; background: var(--qp-white); color: var(--qp-green); text-decoration: none; font: inherit; font-weight: 850; cursor: pointer; }
.qp-event-share-actions a:first-child { background: var(--qp-green); color: white; }
.qp-event-share-card small { color: var(--qp-muted); }

.qp-admin-section { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--qp-border); border-radius: 14px; background: #fbfaf7; }
.qp-admin-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.qp-admin-section-head h2 { margin: 0 0 .3rem; font-family: inherit; font-size: 1.2rem; }
.qp-admin-section-head p { margin: 0; color: var(--qp-muted); }
.qp-event-media-editor { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 1.25rem; align-items: start; }
.qp-event-media-preview { overflow: hidden; border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); }
.qp-event-media-preview img { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; }
.qp-event-media-preview span { display: block; padding: .55rem .75rem; color: var(--qp-muted); font-size: .78rem; }
.qp-event-media-fields { min-width: 0; }
.qp-range { width: 100%; accent-color: var(--qp-green); }
.qp-focus-grid { margin-top: 1rem; }
.qp-remove-media { margin-top: 1rem; border-color: #e5b8b8; background: #fff7f7; }
.qp-form-options { margin-top: 1.5rem; }
.qp-social-download-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.qp-social-download { min-height: 88px; display: grid; align-content: center; gap: .25rem; padding: .9rem; border: 1px solid var(--qp-border); border-radius: 12px; background: var(--qp-white); color: var(--qp-ink); text-decoration: none; }
.qp-social-download:hover { border-color: var(--qp-green); box-shadow: 0 8px 20px rgba(18,61,42,.08); }
.qp-social-download span { color: var(--qp-muted); font-size: .78rem; }
.qp-social-copy { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: end; margin-top: 1rem; }
.qp-social-copy .qp-textarea { margin: 0; }
.qp-admin-event-thumb { width: 84px; height: 54px; display: block; object-fit: cover; border-radius: 8px; }
.qp-admin-event-thumb-empty { display: grid; place-items: center; background: #eee8de; color: var(--qp-muted); }

.qp-event-admin-table-wrap { overflow-x: auto; }
.qp-event-admin-title { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.qp-event-admin-edit { min-height: 44px; display: inline-flex; align-items: center; color: var(--qp-green); font-weight: 850; text-underline-offset: .2em; }


@media (max-width: 1080px) {
    .qp-event-gallery,
    .qp-home-event-grid-two,
    .qp-home-event-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-event-detail-grid { grid-template-columns: 1fr; }
    .qp-event-share-card { position: static; }
    .qp-social-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .qp-event-spotlight { grid-template-columns: 1fr; }
    .qp-event-spotlight-media { min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 760px) {
    .qp-event-media-editor { grid-template-columns: 1fr; }
    .qp-admin-section-head { flex-direction: column; }
    .qp-social-copy { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .qp-event-gallery,
    .qp-home-event-grid-one,
    .qp-home-event-grid-two,
    .qp-home-event-grid-three { grid-template-columns: 1fr; max-width: none; }
    .qp-event-card-media { aspect-ratio: 4 / 3; }
    .qp-event-spotlight-media { aspect-ratio: 4 / 3; }
    .qp-event-spotlight-copy { padding: 1.35rem; }
    .qp-event-spotlight-copy h2 { font-size: clamp(1.9rem, 10vw, 2.8rem); }
    .qp-event-detail-hero { min-height: 640px; }
    .qp-event-detail-copy h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
    .qp-event-detail-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-social-download-grid { grid-template-columns: 1fr; }

    .qp-event-admin-table-wrap { overflow: visible; }
    .qp-event-admin-table,
    .qp-event-admin-table tbody,
    .qp-event-admin-table tr,
    .qp-event-admin-table td { display: block; width: 100%; }
    .qp-event-admin-table { border-collapse: separate; }
    .qp-event-admin-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .qp-event-admin-table tbody { display: grid; gap: .8rem; padding: .8rem; }
    .qp-event-admin-table tbody tr {
        padding: .9rem;
        border: 1px solid var(--qp-border);
        border-radius: 12px;
        background: var(--qp-white);
        box-shadow: 0 5px 16px rgba(48,37,23,.04);
    }
    .qp-event-admin-table tbody tr:last-child { border-bottom: 1px solid var(--qp-border); }
    .qp-event-admin-table td {
        min-width: 0;
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: .7rem;
        align-items: start;
        padding: .38rem 0;
        border-bottom: 0;
        overflow-wrap: anywhere;
    }
    .qp-event-admin-table td::before {
        content: attr(data-label);
        color: var(--qp-muted);
        font-size: .68rem;
        font-weight: 900;
        letter-spacing: .08em;
        line-height: 1.4;
        text-transform: uppercase;
    }
    .qp-event-admin-table td[data-label="Bild"] { align-items: center; }
    .qp-event-admin-table .qp-event-admin-value { min-width: 0; }
    .qp-event-admin-table .qp-event-admin-title { align-items: flex-start; }
    .qp-event-admin-table .qp-event-admin-empty { display: block; padding: .35rem 0; }
    .qp-event-admin-table .qp-event-admin-empty::before { display: none; }
    .qp-event-admin-table .qp-event-admin-edit {
        min-height: 44px;
        width: fit-content;
        padding: .55rem .75rem;
        border-radius: 9px;
        background: var(--qp-cream);
        text-decoration: none;
    }
}

@media (max-width: 430px) {
    .qp-event-detail-facts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .qp-event-card-media img,
    .qp-event-spotlight-media > img,
    .qp-event-spotlight-media > picture > img { transition: none; }
    .qp-event-spotlight:hover .qp-event-spotlight-media > img,
    .qp-event-spotlight:hover .qp-event-spotlight-media > picture > img { transform: none; }
}

/* Membership foundation – v0.6.0 */
.qp-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.qp-honeypot { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.qp-membership-hero { position: relative; overflow: hidden; padding: clamp(4.6rem, 9vw, 8rem) 0; background:
    radial-gradient(circle at 82% 18%, rgba(231,201,141,.2), transparent 29%),
    radial-gradient(circle at 12% 92%, rgba(38,115,77,.35), transparent 36%),
    linear-gradient(135deg, var(--qp-green-950), var(--qp-green-700)); color: white; }
.qp-membership-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.qp-membership-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.qp-membership-hero h1 { max-width: 12ch; margin: .7rem 0 1.2rem; color: white; font-size: clamp(3.3rem, 7vw, 6.4rem); letter-spacing: -.045em; }
.qp-membership-hero p { max-width: 66ch; color: rgba(255,255,255,.82); font-size: clamp(1.05rem, 1.7vw, 1.28rem); }
.qp-membership-facts { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
.qp-membership-facts span { display: inline-flex; align-items: center; gap: .4rem; padding: .62rem .82rem; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.84); font-size: .82rem; backdrop-filter: blur(10px); }
.qp-membership-facts strong { color: var(--qp-gold-300); }
.qp-membership-trust-card { padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.16); border-radius: var(--qp-radius); background: rgba(7,31,22,.58); box-shadow: 0 26px 70px rgba(0,0,0,.22); backdrop-filter: blur(18px); }
.qp-membership-trust-card h2 { margin-bottom: 1rem; color: white; font-size: 1.7rem; }
.qp-membership-trust-card ol { margin: 0; padding: 0; list-style: none; counter-reset: qp-membership-steps; }
.qp-membership-trust-card li { position: relative; min-height: 36px; display: flex; align-items: center; padding: .58rem 0 .58rem 3rem; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.86); counter-increment: qp-membership-steps; }
.qp-membership-trust-card li::before { content: counter(qp-membership-steps); position: absolute; left: 0; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 999px; background: var(--qp-gold-300); color: var(--qp-green-950); font-weight: 900; }
.qp-membership-trust-card p { margin: 1rem 0 0; color: var(--qp-gold-300); font-size: .86rem; font-weight: 760; }
.qp-membership-start-shell { display: grid; gap: 2rem; }
.qp-membership-resume,
.qp-membership-secondary-card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid var(--qp-border); border-radius: var(--qp-radius); background: var(--qp-white); box-shadow: var(--qp-shadow-sm); }
.qp-membership-resume { border-color: rgba(37,99,58,.3); background: linear-gradient(135deg, #f6fbf7, white); }
.qp-membership-resume h2,
.qp-membership-secondary-card h2 { margin: .55rem 0 .35rem; font-family: inherit; font-size: 1.45rem; }
.qp-membership-resume p,
.qp-membership-secondary-card p { margin: 0; color: var(--qp-muted); }
.qp-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.qp-choice-card { position: relative; min-height: 180px; display: flex; align-items: flex-start; gap: 1rem; padding: 1.35rem; border: 2px solid var(--qp-border); border-radius: var(--qp-radius); background: var(--qp-white); cursor: pointer; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.qp-choice-card:hover { transform: translateY(-2px); border-color: var(--qp-gold); box-shadow: var(--qp-shadow-sm); }
.qp-choice-card:has(input:checked) { border-color: var(--qp-green); box-shadow: 0 0 0 4px rgba(18,61,42,.08), var(--qp-shadow-sm); }
.qp-choice-card input { position: absolute; top: 1rem; right: 1rem; width: 20px; height: 20px; accent-color: var(--qp-green); }
.qp-choice-card-icon { width: 54px; height: 54px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 16px; background: var(--qp-cream); font-size: 1.5rem; }
.qp-choice-card > span:last-child { display: grid; gap: .4rem; padding-right: 1.3rem; }
.qp-choice-card strong { color: var(--qp-green); font-size: 1.15rem; }
.qp-choice-card small { color: var(--qp-muted); line-height: 1.55; }
.qp-membership-start-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.qp-membership-start-actions > span { color: var(--qp-muted); font-size: .82rem; }
.qp-site-button-disabled { opacity: .58; pointer-events: none; }
.qp-membership-wizard-head { padding: 2rem 0 1.7rem; border-bottom: 1px solid var(--qp-border); background: linear-gradient(180deg, var(--qp-cream-2), var(--qp-paper)); }
.qp-back-link { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: 1.15rem; color: var(--qp-green); font-weight: 800; text-decoration: none; }
.qp-membership-wizard-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.qp-membership-wizard-title h1 { margin: .3rem 0 .2rem; font-size: clamp(2.5rem, 5vw, 4.6rem); }
.qp-membership-wizard-title p { margin: 0; color: var(--qp-muted); }
.qp-membership-save-state { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .75rem; border-radius: 999px; background: #edf7f0; color: var(--qp-success); font-size: .78rem; font-weight: 850; white-space: nowrap; }
.qp-membership-save-state span { font-size: .7rem; }
.qp-wizard-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin: 1.7rem 0 0; padding: 0; list-style: none; }
.qp-wizard-progress li { min-width: 0; }
.qp-wizard-progress a,
.qp-wizard-disabled { min-height: 68px; display: flex; align-items: center; gap: .65rem; padding: .65rem; border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); color: var(--qp-ink); text-decoration: none; }
.qp-wizard-progress a > span,
.qp-wizard-disabled > span { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 999px; background: var(--qp-cream); color: var(--qp-green); font-weight: 900; }
.qp-wizard-progress strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.qp-wizard-progress li.is-current a { border-color: var(--qp-green); box-shadow: 0 0 0 3px rgba(18,61,42,.08); }
.qp-wizard-progress li.is-current a > span { background: var(--qp-green); color: white; }
.qp-wizard-progress li.is-complete a > span { background: var(--qp-success); color: white; }
.qp-wizard-disabled { opacity: .55; }
.qp-membership-form-section { padding-top: clamp(2rem, 5vw, 4rem); }
.qp-membership-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 330px); gap: 1.5rem; align-items: start; }
.qp-membership-form-card { min-width: 0; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--qp-border); border-radius: var(--qp-radius); background: var(--qp-white); box-shadow: var(--qp-shadow-sm); }
.qp-membership-sidecard { position: sticky; top: calc(var(--qp-header-height) + 1rem); padding: 1.35rem; border: 1px solid var(--qp-border); border-radius: var(--qp-radius); background: var(--qp-cream-2); }
.qp-membership-sidecard h2 { margin-bottom: .8rem; font-family: inherit; font-size: 1.25rem; }
.qp-membership-sidecard dl { margin: 0; }
.qp-membership-sidecard dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--qp-border); }
.qp-membership-sidecard dt { color: var(--qp-muted); font-size: .78rem; }
.qp-membership-sidecard dd { margin: 0; text-align: right; font-size: .82rem; font-weight: 800; }
.qp-privacy-note { margin-top: 1rem; padding: 1rem; border-radius: 14px; background: var(--qp-white); }
.qp-privacy-note p { margin: .35rem 0 0; color: var(--qp-muted); font-size: .78rem; line-height: 1.55; }
.qp-form-alert { margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid rgba(37,99,58,.22); border-radius: 12px; background: #f3faf5; color: var(--qp-success); }
.qp-form-alert-error { border-color: rgba(163,41,41,.25); background: #fff5f5; color: var(--qp-danger); }
.qp-form-alert-error strong { display: block; margin-bottom: .35rem; }
.qp-modern-form fieldset { margin: 0 0 1.5rem; padding: 0; border: 0; }
.qp-modern-form legend { margin-bottom: .65rem; font-weight: 900; }
.qp-segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; padding: .35rem; border-radius: 14px; background: var(--qp-cream); }
.qp-segmented-control label { position: relative; }
.qp-segmented-control input { position: absolute; opacity: 0; pointer-events: none; }
.qp-segmented-control span { min-height: 44px; display: grid; place-items: center; padding: .65rem; border-radius: 10px; font-weight: 850; cursor: pointer; }
.qp-segmented-control input:checked + span { background: var(--qp-white); color: var(--qp-green); box-shadow: 0 5px 16px rgba(8,36,25,.08); }
.qp-form-grid { display: grid; gap: 1rem; }
.qp-form-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qp-field-wide { grid-column: 1 / -1; }
.qp-field { min-width: 0; display: grid; gap: .42rem; }
.qp-field > span { color: var(--qp-ink); font-size: .82rem; font-weight: 850; }
.qp-field input,
.qp-field select,
.qp-field textarea,
.qp-admin-filterbar input,
.qp-admin-filterbar select { width: 100%; min-height: 46px; padding: .72rem .82rem; border: 1px solid var(--qp-border); border-radius: 11px; background: var(--qp-white); color: var(--qp-ink); transition: border-color .15s ease, box-shadow .15s ease; }
.qp-field textarea { min-height: 120px; resize: vertical; }
.qp-field input:focus,
.qp-field select:focus,
.qp-field textarea:focus,
.qp-admin-filterbar input:focus,
.qp-admin-filterbar select:focus { border-color: var(--qp-green); outline: 0; box-shadow: 0 0 0 3px rgba(18,61,42,.1); }
.qp-field small { color: var(--qp-muted); font-size: .74rem; line-height: 1.45; }
.qp-field-error { color: var(--qp-danger) !important; font-weight: 760; }
.qp-dependent-panel { margin: 1.2rem 0 0; padding: 1.15rem; border: 1px solid var(--qp-border); border-radius: 16px; background: var(--qp-cream-2); }
.qp-dependent-panel-head { display: grid; gap: .2rem; margin-bottom: 1rem; }
.qp-dependent-panel-head span { color: var(--qp-muted); font-size: .8rem; }
.qp-wizard-actions { display: flex; justify-content: space-between; gap: .8rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--qp-border); }
.qp-share-selector { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .4fr); gap: 1.2rem; align-items: end; }
.qp-share-selector h2 { margin: .35rem 0 .6rem; font-size: 2rem; }
.qp-share-selector p { margin: 0; color: var(--qp-muted); }
.qp-share-total { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; align-items: center; margin: .4rem 0 1rem; padding: 1.2rem; border-radius: 16px; background: var(--qp-green); color: white; }
.qp-share-total > span { color: rgba(255,255,255,.72); font-size: .8rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.qp-share-total strong { font-size: clamp(1.8rem, 4vw, 2.7rem); }
.qp-share-total small { grid-column: 1 / -1; color: var(--qp-gold-300); }
.qp-declaration-list { display: grid; gap: .85rem; }
.qp-declaration-card { display: grid; grid-template-columns: auto 1fr; gap: .85rem; padding: 1rem; border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); cursor: pointer; }
.qp-declaration-card:has(input:checked) { border-color: var(--qp-green); background: #f7fbf8; }
.qp-declaration-card input { width: 21px; height: 21px; margin-top: .1rem; accent-color: var(--qp-green); }
.qp-declaration-card span { display: grid; gap: .3rem; }
.qp-declaration-card small { color: var(--qp-muted); line-height: 1.55; }
.qp-review-head { margin-bottom: 1.3rem; }
.qp-review-head h2 { margin: .55rem 0 .5rem; font-size: 2rem; }
.qp-review-head p { color: var(--qp-muted); }
.qp-review-sections { display: grid; gap: 1rem; }
.qp-review-sections section { padding: 1rem; border: 1px solid var(--qp-border); border-radius: 15px; background: var(--qp-cream-2); }
.qp-review-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.qp-review-section-head h3 { margin: 0; font-family: inherit; font-size: 1rem; }
.qp-review-section-head a { font-size: .78rem; font-weight: 850; }
.qp-review-sections dl { display: grid; gap: .5rem; margin: 0; }
.qp-review-sections dl div { display: grid; grid-template-columns: minmax(120px, .32fr) 1fr; gap: 1rem; }
.qp-review-sections dt { color: var(--qp-muted); font-size: .78rem; }
.qp-review-sections dd { margin: 0; font-weight: 700; }
.qp-review-note { margin-top: .8rem; padding: .8rem; border-radius: 10px; background: var(--qp-white); white-space: pre-wrap; }
.qp-review-checks { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; color: var(--qp-success); font-weight: 760; }
.qp-submit-application { margin-top: 1rem; }
.qp-submit-notice { padding: 1rem; border: 1px solid rgba(168,119,45,.3); border-radius: 14px; background: var(--qp-gold-100); }
.qp-submit-notice p { margin: .35rem 0 0; }
.qp-membership-confirmation { min-height: 68vh; display: grid; place-items: center; padding: clamp(4rem, 9vw, 8rem) 0; background: radial-gradient(circle at 50% 0%, rgba(38,115,77,.12), transparent 40%), var(--qp-cream-2); }
.qp-confirmation-card { width: min(760px, 100%); margin-inline: auto; padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid var(--qp-border); border-radius: var(--qp-radius-lg); background: var(--qp-white); box-shadow: var(--qp-shadow); text-align: center; }
.qp-confirmation-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 1rem; border-radius: 999px; background: var(--qp-success); color: white; font-size: 2rem; font-weight: 900; }
.qp-confirmation-card h1 { margin: .5rem 0 .8rem; font-size: clamp(2.6rem, 6vw, 4.5rem); }
.qp-confirmation-card > p { color: var(--qp-muted); }
.qp-reference-card { display: grid; gap: .3rem; margin: 1.5rem 0; padding: 1.2rem; border-radius: 16px; background: var(--qp-green); color: white; }
.qp-reference-card span,
.qp-reference-card small { color: rgba(255,255,255,.72); }
.qp-reference-card strong { color: var(--qp-gold-300); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(1.35rem, 4vw, 2rem); letter-spacing: .04em; }
.qp-confirmation-next { text-align: left; }
.qp-confirmation-next h2 { font-family: inherit; font-size: 1.25rem; }
.qp-confirmation-next ol { display: grid; gap: .5rem; padding-left: 1.3rem; color: var(--qp-ink-soft); }
.qp-confirmation-card .qp-button-row { justify-content: center; }

/* Admin membership workspace */
.qp-membership-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.qp-membership-kpi { min-width: 0; display: grid; gap: .45rem; padding: .85rem; border: 1px solid var(--qp-border); border-radius: 12px; background: var(--qp-white); color: var(--qp-ink); text-decoration: none; }
.qp-membership-kpi:hover,
.qp-membership-kpi.is-active { border-color: var(--qp-green); box-shadow: 0 0 0 3px rgba(18,61,42,.08); }
.qp-membership-kpi span { overflow: hidden; color: var(--qp-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.qp-membership-kpi strong { color: var(--qp-green); font-size: 1.5rem; }
.qp-admin-filterbar { display: grid; grid-template-columns: minmax(180px, .45fr) minmax(240px, 1fr) auto auto; gap: .65rem; align-items: end; }
.qp-admin-search-field { min-width: 0; }
.qp-membership-table td small { display: block; margin-top: .2rem; color: var(--qp-muted); font-size: .72rem; }
.qp-membership-table code { padding: .25rem .4rem; border-radius: 6px; background: var(--qp-cream); color: var(--qp-green); }
.qp-status-chip { display: inline-flex; align-items: center; min-height: 28px; padding: .32rem .58rem; border-radius: 999px; background: #ecefea; color: var(--qp-ink-soft); font-size: .72rem; font-weight: 850; white-space: nowrap; }
.qp-status-submitted { background: #fff1cf; color: #76510f; }
.qp-status-in_review { background: #e7f0ff; color: #1d4f8f; }
.qp-status-clarification_required { background: #fff0e6; color: #8f461d; }
.qp-status-approved { background: #e5f5ea; color: var(--qp-success); }
.qp-status-rejected { background: #fdeaea; color: var(--qp-danger); }
.qp-status-archived { background: #ececec; color: #5c5c5c; }
.qp-simple-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; padding-top: 1rem; }
.qp-simple-pagination a,
.qp-simple-pagination span { padding: .5rem .7rem; border-radius: 8px; background: var(--qp-cream-2); color: var(--qp-green); text-decoration: none; font-size: .8rem; }
.qp-simple-pagination span[aria-disabled="true"] { opacity: .45; }
.qp-membership-detail-head { align-items: flex-end; }
.qp-membership-admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.qp-membership-admin-summary > div { min-width: 0; display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--qp-border); border-radius: 12px; background: var(--qp-white); }
.qp-membership-admin-summary span,
.qp-membership-admin-summary small { color: var(--qp-muted); font-size: .72rem; }
.qp-membership-admin-summary strong { overflow-wrap: anywhere; }
.qp-membership-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 350px); gap: 1rem; align-items: start; }
.qp-membership-admin-main { min-width: 0; display: grid; gap: 1rem; }
.qp-membership-admin-sidebar { min-width: 0; }
.qp-sticky-panel { position: sticky; top: 1rem; }
.qp-admin-detail-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.qp-admin-detail-sections section { padding: 1rem; border: 1px solid var(--qp-border); border-radius: 12px; background: #fbfaf7; }
.qp-admin-detail-sections h2 { margin-bottom: .8rem; font-family: inherit; font-size: 1rem; }
.qp-admin-detail-list { display: grid; gap: .55rem; margin: 0; }
.qp-admin-detail-list div { display: grid; grid-template-columns: minmax(105px, .32fr) 1fr; gap: .75rem; }
.qp-admin-detail-list dt { color: var(--qp-muted); font-size: .74rem; }
.qp-admin-detail-list dd { margin: 0; overflow-wrap: anywhere; }
.qp-admin-detail-list dd small { display: block; margin-top: .2rem; color: var(--qp-muted); }
.qp-sensitive-value { display: inline-block; padding: .25rem .4rem; border-radius: 6px; background: #f4efe4; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.qp-admin-encrypted-note { margin-top: .8rem; padding: .8rem; border-radius: 10px; background: var(--qp-white); }
.qp-admin-encrypted-note p { margin: .35rem 0; white-space: pre-wrap; }
.qp-admin-encrypted-note small { color: var(--qp-muted); }
.qp-admin-note-form { display: grid; gap: .75rem; margin-bottom: 1rem; }
.qp-note-timeline { display: grid; gap: .75rem; }
.qp-note-timeline article { padding: .9rem; border: 1px solid var(--qp-border); border-radius: 10px; background: #fbfaf7; }
.qp-note-timeline header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.qp-note-timeline time { color: var(--qp-muted); font-size: .72rem; }
.qp-note-timeline p { margin: .55rem 0 0; white-space: pre-wrap; }
.qp-audit-timeline { display: grid; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.qp-audit-timeline li { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: .65rem; padding: .55rem 0; }
.qp-audit-dot { width: 10px; height: 10px; margin-top: .35rem; border-radius: 999px; background: var(--qp-green); box-shadow: 0 0 0 4px rgba(18,61,42,.1); }
.qp-audit-timeline p { margin: .2rem 0; }
.qp-audit-timeline small { color: var(--qp-muted); }
.qp-status-form { display: grid; gap: .8rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--qp-border); }
.qp-button-full { width: 100%; justify-content: center; }
.qp-sensitive-warning { margin-top: 1rem; padding: .85rem; border-radius: 10px; background: #fff5e8; color: #6d4616; }
.qp-sensitive-warning p { margin: .3rem 0 0; font-size: .76rem; line-height: 1.5; }

@media (max-width: 1180px) {
    .qp-membership-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .qp-membership-admin-grid { grid-template-columns: 1fr; }
    .qp-sticky-panel { position: static; }
}

@media (max-width: 980px) {
    .qp-membership-hero-grid,
    .qp-membership-form-layout { grid-template-columns: 1fr; }
    .qp-membership-sidecard { position: static; order: -1; }
    .qp-membership-sidecard dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
    .qp-membership-sidecard dl div { display: grid; gap: .2rem; padding: .65rem; border: 1px solid var(--qp-border); border-radius: 10px; background: var(--qp-white); }
    .qp-membership-sidecard dd { text-align: left; }
    .qp-privacy-note { grid-column: 1 / -1; }
    .qp-wizard-progress strong { display: none; }
    .qp-wizard-progress a,
    .qp-wizard-disabled { justify-content: center; min-height: 52px; padding: .45rem; }
    .qp-membership-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .qp-choice-grid,
    .qp-form-grid-2,
    .qp-admin-detail-sections { grid-template-columns: 1fr; }
    .qp-membership-resume,
    .qp-membership-secondary-card,
    .qp-membership-wizard-title { align-items: flex-start; flex-direction: column; }
    .qp-membership-start-actions { align-items: stretch; flex-direction: column; }
    .qp-membership-start-actions .qp-site-button { width: 100%; }
    .qp-wizard-progress { gap: .3rem; }
    .qp-wizard-progress a > span,
    .qp-wizard-disabled > span { width: 29px; height: 29px; font-size: .76rem; }
    .qp-share-selector { grid-template-columns: 1fr; }
    .qp-share-total { grid-column: auto; }
    .qp-wizard-actions { display: grid; grid-template-columns: 1fr; }
    .qp-wizard-actions .qp-site-button { width: 100%; justify-content: center; }
    .qp-review-sections dl div,
    .qp-admin-detail-list div { grid-template-columns: 1fr; gap: .15rem; }
    .qp-admin-filterbar { grid-template-columns: 1fr; }
    .qp-membership-table th:nth-child(1),
    .qp-membership-table td:nth-child(1),
    .qp-membership-table th:nth-child(4),
    .qp-membership-table td:nth-child(4),
    .qp-membership-table th:nth-child(6),
    .qp-membership-table td:nth-child(6) { display: none; }
}

@media (max-width: 560px) {
    .qp-membership-hero { padding-top: 3.5rem; }
    .qp-membership-hero h1 { font-size: clamp(2.8rem, 15vw, 4.2rem); }
    .qp-membership-facts { display: grid; }
    .qp-membership-facts span { justify-content: center; }
    .qp-membership-sidecard dl { grid-template-columns: 1fr; }
    .qp-wizard-progress { grid-template-columns: repeat(5, 1fr); }
    .qp-membership-form-card { padding: 1rem; }
    .qp-membership-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-membership-admin-summary { grid-template-columns: 1fr; }
    .qp-membership-table th:nth-child(2),
    .qp-membership-table td:nth-child(2) { display: none; }
}

@supports not selector(:has(*)) {
    .qp-choice-card input:checked { outline: 3px solid var(--qp-green); outline-offset: 4px; }
    .qp-declaration-card input:checked { outline: 2px solid var(--qp-green); outline-offset: 2px; }
}

/* Membership Admin Polish – v0.6.2 */
.qp-nav a[aria-current="page"] { background: rgba(255,255,255,.19); box-shadow: inset 3px 0 0 var(--qp-gold-300); color: white; }
.qp-sidebar-footer { color: rgba(255,255,255,.43); font-size: .72rem; letter-spacing: .04em; }
.qp-sidebar-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.qp-sidebar-close,
.qp-admin-menu-toggle { border: 0; font: inherit; cursor: pointer; }
.qp-sidebar-close { display: none; width: 38px; height: 38px; border-radius: 999px; background: rgba(255,255,255,.1); color: white; font-size: 1.5rem; }
.qp-topbar-left { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.qp-admin-menu-toggle { display: none; min-height: 40px; align-items: center; gap: .45rem; padding: .5rem .7rem; border: 1px solid var(--qp-border); border-radius: 9px; background: var(--qp-white); color: var(--qp-green); font-weight: 800; }
.qp-admin-backdrop { position: fixed; inset: 0; z-index: 89; background: rgba(4,20,14,.58); opacity: 0; transition: opacity .18s ease; }
.qp-admin-backdrop.is-open { opacity: 1; }

.qp-membership-detail-head { gap: 1rem; }
.qp-membership-status-wrap { display: grid; justify-items: end; gap: .35rem; }
.qp-membership-status-wrap small { color: var(--qp-muted); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.qp-membership-admin-summary { gap: 1rem; }
.qp-membership-admin-summary > div { padding: 1.05rem 1.1rem; }
.qp-membership-admin-grid { grid-template-columns: minmax(0, 1fr) minmax(350px, 410px); gap: 1.25rem; }
.qp-sticky-panel { top: 1.25rem; }
.qp-sidebar-status-block { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: -.2rem 0 1rem; padding: .8rem; border-radius: 10px; background: var(--qp-cream-2); }
.qp-sidebar-status-block small { color: var(--qp-muted); font-weight: 800; }
.qp-status-form .qp-button { justify-self: start; }
.qp-button-compact { min-height: 38px; padding: .5rem .75rem; font-size: .82rem; }

.qp-admin-detail-sections { gap: 1.15rem; }
.qp-admin-detail-sections section { padding: 1.1rem; }
.qp-admin-detail-list div { grid-template-columns: minmax(125px, .34fr) 1fr; gap: 1rem; align-items: start; }
.qp-admin-detail-list dt { padding-top: .1rem; font-weight: 750; }
.qp-sensitive-section { grid-column: 1 / -1; border-color: #dcc89d !important; background: #fffaf0 !important; }
.qp-sensitive-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.qp-sensitive-section-head > div { display: flex; align-items: center; gap: .55rem; }
.qp-sensitive-section-head h2 { margin: 0; }
.qp-security-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #f3e5c8; font-size: .9rem; }
.qp-security-badge { padding: .28rem .5rem; border-radius: 999px; background: #f3e5c8; color: #6d4616; font-size: .68rem; font-weight: 850; }
.qp-sensitive-tax-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem; border: 1px solid #e5d4ae; border-radius: 11px; background: var(--qp-white); }
.qp-sensitive-tax-row > div:first-child { display: grid; gap: .35rem; }
.qp-sensitive-tax-row small { color: var(--qp-muted); }
.qp-sensitive-value { min-width: 155px; text-align: center; }
.qp-sensitive-value.is-revealed { background: #fff2c9; color: #4e3510; font-weight: 900; letter-spacing: .12em; box-shadow: 0 0 0 3px rgba(200,155,82,.16); }
.qp-sensitive-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.qp-sensitive-no-access { max-width: 260px; text-align: right; }
.qp-panel-security-hint { color: var(--qp-muted); font-size: .7rem; font-weight: 500; }
.qp-admin-note-form { align-items: start; }
.qp-admin-note-form textarea { min-height: 72px; resize: none; overflow-y: hidden; }
.qp-note-timeline article { box-shadow: 0 5px 14px rgba(18,61,42,.04); }
.qp-audit-timeline li.is-technical { opacity: .67; font-size: .92em; }
.qp-audit-timeline li.is-important { margin: .25rem 0; padding: .75rem .7rem; border-radius: 10px; background: #f7f5ef; }
.qp-audit-timeline li.is-important .qp-audit-dot { background: var(--qp-gold-700); box-shadow: 0 0 0 4px rgba(200,155,82,.16); }
.qp-audit-reason { color: var(--qp-ink-soft); font-size: .8rem; }
.qp-timeline-more { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--qp-border); }
.qp-timeline-more summary { color: var(--qp-green); font-weight: 800; cursor: pointer; }
.qp-timeline-more .qp-audit-timeline { margin-top: .5rem; }
.qp-sensitive-permission-card { padding: 1rem; border: 1px solid #dcc89d; border-radius: 12px; background: #fffaf0; }

.qp-sensitive-dialog { width: min(560px, calc(100vw - 2rem)); padding: 0; border: 0; border-radius: 18px; background: var(--qp-white); color: var(--qp-ink); box-shadow: 0 28px 80px rgba(4,20,14,.34); }
.qp-sensitive-dialog::backdrop { background: rgba(4,20,14,.65); backdrop-filter: blur(4px); }
.qp-sensitive-dialog form { display: grid; gap: 1rem; padding: 1.4rem; }
.qp-sensitive-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.qp-sensitive-dialog h2 { margin: .2rem 0 0; font-family: inherit; font-size: 1.45rem; }
.qp-sensitive-dialog p { margin: 0; color: var(--qp-muted); line-height: 1.55; }
.qp-dialog-close { width: 38px; height: 38px; border: 0; border-radius: 999px; background: var(--qp-cream); color: var(--qp-ink); font-size: 1.5rem; cursor: pointer; }
.qp-field-counter { display: inline-flex; width: fit-content; padding: .2rem .42rem; border-radius: 999px; background: var(--qp-cream-2); color: var(--qp-muted); font-weight: 750; }
.qp-field-counter.is-complete { background: #e5f5ea; color: var(--qp-success); }

@media (max-width: 1400px) and (min-width: 961px) {
    .qp-admin-grid { grid-template-columns: 242px minmax(0, 1fr); }
    .qp-sidebar { padding-inline: .8rem; }
    .qp-admin-content { padding: 1.15rem; }
    .qp-topbar { padding: .85rem 1.15rem; }
    .qp-membership-admin-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, 380px); }
}

@media (max-width: 1180px) {
    .qp-membership-admin-grid { grid-template-columns: 1fr; }
    .qp-sticky-panel { position: static; }
}

@media (max-width: 960px) {
    .qp-admin-grid { display: block; }
    .qp-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 90; width: min(310px, 88vw); overflow-y: auto; transform: translateX(-105%); transition: transform .2s ease; box-shadow: 22px 0 60px rgba(4,20,14,.3); }
    .qp-sidebar.is-open { transform: translateX(0); }
    .qp-sidebar-close,
    .qp-admin-menu-toggle { display: inline-flex; }
    .qp-admin-menu-open { overflow: hidden; }
    .qp-admin-content { padding: 1rem; }
    .qp-topbar { padding: .8rem 1rem; }
    .qp-topbar-user { overflow: hidden; max-width: 45vw; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 760px) {
    .qp-membership-detail-head { align-items: flex-start; flex-direction: column; }
    .qp-membership-status-wrap { justify-items: start; }
    .qp-sensitive-section-head,
    .qp-sensitive-tax-row { align-items: flex-start; flex-direction: column; }
    .qp-sensitive-actions { justify-content: flex-start; }
    .qp-sensitive-no-access { text-align: left; }
    .qp-admin-detail-list div { grid-template-columns: 1fr; gap: .2rem; }
    .qp-panel-security-hint { display: block; margin-top: .2rem; }
}
.qp-badge-sensitive { border-color: #dcc89d; background: #fff4d8; color: #6d4616; }

/* Cookie & Privacy Foundation – v0.6.4 */
.qp-cookie-notice[hidden] { display: none !important; }
.qp-cookie-notice {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: max(1rem, env(safe-area-inset-left));
    z-index: 120;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    width: min(980px, calc(100vw - 2rem));
    margin-inline: auto;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(200,155,82,.42);
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    color: var(--qp-ink);
    box-shadow: 0 20px 60px rgba(4,20,14,.24);
    backdrop-filter: blur(14px);
}
.qp-cookie-notice-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--qp-cream-2);
    color: var(--qp-green);
}
.qp-cookie-notice-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.qp-cookie-notice-copy { display: grid; gap: .28rem; }
.qp-cookie-notice-copy strong { color: var(--qp-green); font-size: 1rem; }
.qp-cookie-notice-copy p { margin: 0; color: var(--qp-ink-soft); line-height: 1.45; }
.qp-cookie-notice-copy a { width: fit-content; color: var(--qp-green); font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.qp-cookie-notice form { margin: 0; }
.qp-cookie-notice .qp-site-button { white-space: nowrap; }
.qp-cookie-notice button[aria-busy="true"] { cursor: progress; opacity: .72; }

.qp-footer-cookie-form { margin: 0; }
.qp-footer-cookie-form button {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
    cursor: pointer;
}
.qp-footer-cookie-form button:hover,
.qp-footer-cookie-form button:focus-visible { color: white; }

.qp-privacy-cookie-section {
    scroll-margin-top: 120px;
    margin-top: 2.5rem;
    padding: clamp(1.1rem, 3vw, 1.8rem);
    border: 1px solid var(--qp-border);
    border-radius: 18px;
    background: var(--qp-cream-2);
}
.qp-privacy-cookie-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.qp-privacy-cookie-heading h2 { margin: .25rem 0 0; }
.qp-privacy-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: #e5f5ea;
    color: var(--qp-success);
    font-size: .76rem;
    font-weight: 850;
    white-space: nowrap;
}
.qp-cookie-table-wrap {
    overflow-x: auto;
    margin-block: 1.25rem;
    border: 1px solid var(--qp-border);
    border-radius: 12px;
    background: var(--qp-white);
}
.qp-cookie-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.qp-cookie-table th,
.qp-cookie-table td { padding: .85rem .9rem; border-bottom: 1px solid var(--qp-border); text-align: left; vertical-align: top; }
.qp-cookie-table thead th { background: var(--qp-green); color: white; font-size: .78rem; letter-spacing: .03em; text-transform: uppercase; }
.qp-cookie-table tbody tr:last-child > * { border-bottom: 0; }
.qp-cookie-table tbody th { color: var(--qp-green); }
.qp-cookie-table code { white-space: nowrap; }
.qp-privacy-updated { margin-bottom: 0 !important; color: var(--qp-muted); font-size: .82rem; font-weight: 750; }

@media (max-width: 760px) {
    .qp-cookie-notice {
        bottom: calc(70px + env(safe-area-inset-bottom));
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        padding: .9rem;
    }
    .qp-cookie-notice form { grid-column: 1 / -1; width: 100%; }
    .qp-cookie-notice .qp-site-button { width: 100%; justify-content: center; }
    .qp-privacy-cookie-heading { flex-direction: column; }
}

@media (max-width: 520px) {
    .qp-cookie-notice { grid-template-columns: 1fr; }
    .qp-cookie-notice-icon { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .qp-cookie-notice { scroll-behavior: auto; }
}

/* Navigation administration – v0.6.9 */
.qp-navigation-help { margin-bottom: 1.25rem; }
.qp-navigation-help p { margin: .35rem 0 0; color: var(--qp-muted); }
.qp-navigation-context { display: grid; gap: .25rem; margin: 0 0 1rem; }
.qp-navigation-context span { color: var(--qp-muted); }
.qp-navigation-menu { background: var(--qp-white); }
.qp-navigation-tree { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.qp-navigation-children { margin: .65rem 0 0 2.35rem; padding-left: 1rem; border-left: 2px solid var(--qp-border); }
.qp-navigation-node { min-width: 0; }
.qp-navigation-node.is-dragging { opacity: .48; }
.qp-navigation-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .8rem; align-items: center; padding: .85rem; border: 1px solid var(--qp-border); border-radius: 12px; background: #fbfaf7; }
.qp-navigation-drag { display: grid; place-items: center; width: 30px; min-height: 38px; border-radius: 8px; color: var(--qp-muted); font-weight: 900; cursor: grab; user-select: none; }
.qp-navigation-drag:active { cursor: grabbing; }
.qp-navigation-copy { min-width: 0; display: grid; gap: .2rem; }
.qp-navigation-copy span { overflow-wrap: anywhere; color: var(--qp-muted); font-size: .78rem; }
.qp-navigation-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.qp-navigation-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.qp-link-button { padding: 0; border: 0; background: none; color: var(--qp-green); font: inherit; font-weight: 800; cursor: pointer; }
.qp-danger-zone { border-color: rgba(163,41,41,.24); background: #fff8f7; }

@media (max-width: 760px) {
    .qp-navigation-row { grid-template-columns: auto minmax(0, 1fr) auto; }
    .qp-navigation-badges { grid-column: 2 / -1; justify-content: flex-start; }
    .qp-navigation-children { margin-left: .85rem; padding-left: .65rem; }
    .qp-navigation-options { grid-template-columns: 1fr; }
}

/* People, groups and page categories */
.qp-page-hero-photo { min-height: clamp(420px, 55vw, 650px); display: flex; align-items: center; color: white; background-image: linear-gradient(90deg, rgba(4,34,24,.92) 0%, rgba(4,34,24,.72) 46%, rgba(4,34,24,.18) 100%), var(--qp-page-hero-image); background-size: cover; background-position: center; }
.qp-page-hero-photo::after { display: none; }
.qp-page-hero-photo .qp-breadcrumb, .qp-page-hero-photo .qp-breadcrumb a { color: rgba(255,255,255,.74); }
.qp-page-hero-photo h1 { color: white; max-width: 15ch; }
.qp-page-hero-photo p { color: var(--qp-gold-300); font-family: var(--qp-font-display); font-size: clamp(1.35rem, 2.6vw, 2rem); }
.qp-page-hero-photo .qp-kicker { color: var(--qp-gold-300); }
.qp-section-page-intro { padding-bottom: 1rem; }
.qp-people-section { padding-top: clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, #fffdf8 0%, var(--qp-cream) 100%); }
.qp-people-section + .qp-people-section { padding-top: 1rem; }
.qp-people-section-head { max-width: 820px; margin-bottom: 2rem; }
.qp-people-section-head h2 { margin: .45rem 0 .7rem; font-size: clamp(2.2rem, 4vw, 3.7rem); }
.qp-people-section-head p { color: var(--qp-muted); font-size: 1.08rem; line-height: 1.75; }
.qp-people-grid { display: grid; gap: 1.2rem; }
.qp-people-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.qp-people-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.qp-people-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.qp-person-card { overflow: hidden; border: 1px solid var(--qp-border); border-radius: 20px; background: rgba(255,255,255,.88); box-shadow: 0 14px 40px rgba(24,43,32,.08); }
.qp-person-card-link { display: block; height: 100%; padding: 1.35rem; color: inherit; text-decoration: none; }
.qp-person-card:not(:has(.qp-person-card-link)) { padding: 1.35rem; }
.qp-person-card-link:hover { background: var(--qp-white); }
.qp-person-card-portrait { width: min(170px, 70%); aspect-ratio: 1; margin: 0 auto 1.1rem; display: grid; place-items: center; overflow: hidden; background: var(--qp-green-950); color: var(--qp-gold-300); font-family: var(--qp-font-display); font-size: 3rem; }
.qp-person-card-portrait-round { border-radius: 50%; }
.qp-person-card-portrait-rounded { border-radius: 24px; }
.qp-person-card-portrait img { width: 100%; height: 100%; object-fit: cover; }
.qp-person-card-body { text-align: center; }
.qp-person-card h3 { margin: .2rem 0 .8rem; color: var(--qp-green-950); font-size: 1.38rem; }
.qp-person-role { min-height: 2.8em; margin: 0; padding-top: .8rem; border-top: 1px solid rgba(200,155,82,.55); color: var(--qp-ink); font-weight: 750; }
.qp-person-role-description { margin: .45rem 0 0; color: var(--qp-muted); font-size: .92rem; }
.qp-person-since { margin: 1rem 0 0; color: var(--qp-muted); font-size: .88rem; }
.qp-person-since span { color: var(--qp-gold-600); }
.qp-person-bio { margin: 1rem 0 0; color: var(--qp-muted); text-align: left; }
.qp-person-more { display: inline-flex; gap: .45rem; margin-top: 1rem; color: var(--qp-green); font-weight: 850; }
.qp-people-layout-compact .qp-person-card { padding: 0; }
.qp-people-layout-compact .qp-person-card-link { display: grid; grid-template-columns: 88px 1fr; align-items: center; gap: 1rem; }
.qp-people-layout-compact .qp-person-card-portrait { width: 88px; margin: 0; }
.qp-people-layout-compact .qp-person-card-body { text-align: left; }
.qp-people-layout-compact .qp-person-role { min-height: 0; border-top: 0; padding-top: 0; }
.qp-people-detail-callout { margin-top: 2rem; display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 1.7rem 2rem; border-radius: 20px; background: linear-gradient(135deg, var(--qp-green-950), var(--qp-green)); color: white; }
.qp-people-detail-callout h3 { margin: .3rem 0 .45rem; color: white; font-size: 1.8rem; }
.qp-people-detail-callout p { margin: 0; color: rgba(255,255,255,.74); }
.qp-person-profile-head { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: center; }
.qp-person-profile-portrait { width: 280px; aspect-ratio: 1; overflow: hidden; border: 8px solid rgba(255,255,255,.8); border-radius: 50%; background: var(--qp-green-950); color: white; display: grid; place-items: center; font-family: var(--qp-font-display); font-size: 5rem; box-shadow: var(--qp-shadow); }
.qp-person-profile-portrait img { width: 100%; height: 100%; object-fit: cover; }
.qp-person-profile-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 3rem; }
.qp-person-profile-lead { color: var(--qp-green-950); font-family: var(--qp-font-display); font-size: 1.5rem; line-height: 1.5; }
.qp-person-profile-meta { display: grid; align-content: start; gap: 1rem; padding: 1.4rem; border: 1px solid var(--qp-border); border-radius: 18px; background: var(--qp-white); }
.qp-person-profile-meta div { display: grid; gap: .45rem; }
.qp-person-profile-meta ul { margin: 0; padding-left: 1.1rem; }
.qp-person-profile-gallery-section { background: var(--qp-cream-2); }
.qp-person-profile-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.qp-person-profile-gallery figure { margin: 0; overflow: hidden; border-radius: 18px; background: var(--qp-white); box-shadow: 0 12px 32px rgba(24,43,32,.08); }
.qp-person-profile-gallery img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.qp-person-profile-gallery figcaption { padding: .85rem 1rem; color: var(--qp-muted); }
.qp-person-admin-cell { display: flex; align-items: center; gap: .8rem; }
.qp-person-admin-cell img, .qp-person-member-row > img { border-radius: 50%; object-fit: cover; }
.qp-person-gallery-admin { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.qp-person-gallery-admin-item { padding: 1rem; border: 1px solid var(--qp-border); border-radius: 16px; background: var(--qp-white); }
.qp-person-gallery-admin-item > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 12px; margin-bottom: .8rem; }
.qp-person-members { display: grid; gap: .8rem; }
.qp-person-member-row { display: grid; grid-template-columns: auto 64px minmax(0,1fr) auto; gap: .8rem; align-items: start; padding: .9rem; border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); }
.qp-person-member-row.is-dragging { opacity: .48; }
.qp-person-member-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; align-items: center; }
.qp-person-member-form strong { grid-column: 1/-1; }
.qp-person-block-editor { margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); }
.qp-person-block-new { background: var(--qp-cream-2); }
.qp-person-portrait-preview img { aspect-ratio: 1; border-radius: 50%; object-fit: cover; }

@media (max-width: 980px) {
    .qp-people-grid-4, .qp-people-grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .qp-person-profile-head, .qp-person-profile-layout { grid-template-columns: 1fr; }
    .qp-person-profile-portrait { width: 220px; }
    .qp-person-member-row { grid-template-columns: auto 56px 1fr; }
    .qp-person-member-row > form:last-child { grid-column: 3; }
    .qp-person-member-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .qp-people-grid-4, .qp-people-grid-3, .qp-people-grid-2, .qp-person-profile-gallery, .qp-person-gallery-admin { grid-template-columns: 1fr; }
    .qp-people-detail-callout { align-items: flex-start; flex-direction: column; }
    .qp-page-hero-photo { min-height: 460px; }
    .qp-person-member-form { grid-template-columns: 1fr; }
}


/* Form builder, public forms and mail previews – v0.6.12 */
.qp-form-section { background: linear-gradient(180deg, var(--qp-cream-2), #fffdf8); }
.qp-form-shell { padding: clamp(1.2rem, 4vw, 2.4rem); border: 1px solid var(--qp-border); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: 0 18px 48px rgba(24,43,32,.09); }
.qp-public-form { display: grid; gap: 1.4rem; }
.qp-public-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.2rem; }
.qp-public-form-grid .qp-field { display: grid; gap: .42rem; min-width: 0; color: var(--qp-green-950); font-weight: 750; }
.qp-public-form-grid .qp-field > span, .qp-public-form-grid legend { font-weight: 850; }
.qp-public-form-grid input:not([type=checkbox]):not([type=radio]), .qp-public-form-grid textarea, .qp-public-form-grid select { width: 100%; padding: .82rem .9rem; border: 1px solid var(--qp-border); border-radius: 11px; background: var(--qp-white); color: var(--qp-ink); font: inherit; }
.qp-public-form-grid textarea { min-height: 150px; resize: vertical; }
.qp-public-form-grid input:focus, .qp-public-form-grid textarea:focus, .qp-public-form-grid select:focus { border-color: var(--qp-gold-600); outline: 3px solid rgba(200,155,82,.18); }
.qp-field-wide { grid-column: 1 / -1; }
.qp-field-options { margin: 0; padding: .8rem 0 0; border: 0; }
.qp-field-options label { display: inline-flex; align-items: center; gap: .45rem; margin: .4rem 1rem .4rem 0; font-weight: 650; }
.qp-field-checkbox { display: grid !important; grid-template-columns: auto 1fr; align-items: start; gap: .7rem !important; padding: .9rem 1rem; border-radius: 12px; background: var(--qp-cream-2); }
.qp-field-checkbox input { margin-top: .2rem; }
.qp-field-checkbox .qp-field-error { grid-column: 2; }
.qp-form-info-block { grid-column: 1/-1; padding: 1rem 1.1rem; border-left: 4px solid var(--qp-gold-600); border-radius: 8px; background: var(--qp-cream-2); color: var(--qp-ink-soft); }
.qp-field-error { color: #9d2525; font-weight: 750; }
.qp-form-privacy-note { margin: 0; color: var(--qp-muted); font-size: .84rem; line-height: 1.55; }
.qp-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.qp-form-success-card { padding: 2rem; border: 1px solid var(--qp-border); border-radius: 20px; background: var(--qp-white); box-shadow: var(--qp-shadow); }
.qp-form-builder-list { display: grid; gap: .75rem; }
.qp-form-builder-item { border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); }
.qp-form-builder-item.is-dragging { opacity: .48; }
.qp-form-builder-item > summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: 1rem; cursor: pointer; list-style: none; }
.qp-form-builder-item > summary::-webkit-details-marker { display: none; }
.qp-form-builder-editor { padding: 1rem; border-top: 1px solid var(--qp-border); background: #fbfaf7; }
.qp-form-builder-item > form:last-child { padding: 0 1rem 1rem; }
.qp-drag-handle { color: var(--qp-muted); cursor: grab; user-select: none; font-weight: 900; }
.qp-form-builder-add { margin-top: 1rem; background: var(--qp-cream-2); }
.qp-mail-preview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.qp-mail-preview-card { overflow: hidden; padding: 1.25rem; border: 1px solid var(--qp-border); border-radius: 18px; background: var(--qp-white); box-shadow: 0 12px 30px rgba(24,43,32,.06); }
.qp-mail-preview-brand { margin: -1.25rem -1.25rem 1.2rem; padding: 1rem 1.25rem; background: var(--qp-green-950); color: white; font-family: var(--qp-font-display); font-size: 1.25rem; }
.qp-mail-preview-card h3 { margin: .5rem 0 1rem; color: var(--qp-green-950); }
.qp-mail-preview-body { min-height: 150px; margin-bottom: 1rem; padding: 1rem; border-radius: 12px; background: var(--qp-cream-2); color: var(--qp-ink-soft); line-height: 1.6; }
.qp-form-mail-gate { margin-top: 1rem; padding: .9rem 1rem; border-radius: 12px; background: #edf4f0; color: var(--qp-green-950); }
.qp-anchor-target { scroll-margin-top: 1.25rem; }
.qp-form-steps { margin-bottom: 1.2rem; }
.qp-form-steps ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.qp-form-step > a, .qp-form-step > span { min-height: 72px; display: flex; align-items: center; gap: .7rem; padding: .8rem .9rem; border: 1px solid var(--qp-border); border-radius: 13px; background: var(--qp-white); color: var(--qp-muted); text-decoration: none; }
.qp-form-step-active > a, .qp-form-step-active > span { border-color: var(--qp-green); background: #edf4f0; color: var(--qp-green-950); box-shadow: 0 8px 22px rgba(18,61,42,.08); }
.qp-form-step-complete > a, .qp-form-step-complete > span { border-color: #b8d7c2; color: var(--qp-green-950); }
.qp-form-step-number { width: 2rem; height: 2rem; flex: 0 0 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #ece7dd; color: var(--qp-ink); font-weight: 900; }
.qp-form-step-active .qp-form-step-number, .qp-form-step-complete .qp-form-step-number { background: var(--qp-green); color: white; }
.qp-form-step-label { font-weight: 850; line-height: 1.25; }
.qp-form-process-note, .qp-form-next-action { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding: 1rem 1.15rem; border: 1px solid #d8c397; border-radius: 14px; background: #fff8e8; color: var(--qp-ink); }
.qp-form-process-note { display: grid; justify-content: stretch; gap: .25rem; }
.qp-form-process-note strong, .qp-form-next-action strong { color: var(--qp-green-950); }
.qp-form-next-action > div { display: grid; gap: .2rem; }
.qp-readonly-value { min-height: 2.7rem; display: flex; align-items: center; padding: .78rem .9rem; border: 1px solid var(--qp-border); border-radius: 10px; background: #f4f1eb; color: var(--qp-green-950); font-weight: 850; }
.qp-section-error { margin: 0 0 1rem; padding: .85rem 1rem; border: 1px solid #efb6b6; border-radius: 10px; background: #fff0f0; color: var(--qp-danger); font-weight: 750; }
.qp-form-empty-state { display: grid; gap: .3rem; margin-bottom: 1rem; padding: 1.1rem 1.2rem; border: 1px dashed #b8aa91; border-radius: 13px; background: var(--qp-white); }
.qp-form-empty-state strong { color: var(--qp-green-950); }
.qp-form-empty-state-compact { padding: .9rem 1rem; }
.qp-form-builder-add { border: 2px solid var(--qp-green); background: var(--qp-white); box-shadow: 0 14px 34px rgba(18,61,42,.1); }
.qp-form-builder-add .qp-panel-head { display: grid; gap: .2rem; background: #edf4f0; color: var(--qp-green-950); }
.qp-form-builder-add .qp-panel-head span { color: var(--qp-muted); font-size: .9rem; font-weight: 500; }
.qp-form-builder-add .qp-form-grid, .qp-recipient-add .qp-form-grid { padding: 1.1rem 1.2rem 0; }
.qp-form-builder-add .qp-actions, .qp-recipient-add .qp-actions { padding: 0 1.2rem 1.2rem; }
.qp-form-builder-existing-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 1.4rem 0 .75rem; }
.qp-form-builder-existing-head h3 { margin: 0; font-family: inherit; font-size: 1.05rem; }
.qp-recipient-add { margin-top: 1rem; margin-bottom: 0; }
.qp-readiness-summary { display: inline-flex; align-items: center; padding: .4rem .65rem; border-radius: 999px; font-size: .82rem; font-weight: 850; }
.qp-readiness-summary.is-ready { background: #e5f4e8; color: var(--qp-success); }
.qp-readiness-summary.is-pending { background: #fff0df; color: #8a4c00; }
.qp-readiness-list { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.qp-readiness-list li { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .85rem 1rem; border: 1px solid var(--qp-border); border-radius: 12px; background: var(--qp-white); }
.qp-readiness-list li.is-complete { border-color: #c4dfcb; }
.qp-readiness-list li.is-missing { border-color: #e9c08f; background: #fffaf2; }
.qp-readiness-icon { width: 1.8rem; height: 1.8rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #ece7dd; font-weight: 900; }
.qp-readiness-list .is-complete .qp-readiness-icon { background: var(--qp-green); color: white; }
.qp-readiness-list .is-missing .qp-readiness-icon { background: #f1a84c; color: #3f2606; }
.qp-readiness-list li > div { display: grid; gap: .15rem; }
.qp-readiness-list li > div span { color: var(--qp-muted); }
.qp-readiness-list li > a { color: var(--qp-green); font-weight: 800; }
.qp-publication-next-step { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem; border-radius: 12px; background: #edf4f0; }
.qp-publication-next-step > span { flex: 1; color: var(--qp-muted); }
.qp-publication-next-step.is-published { display: grid; gap: .2rem; }
.qp-submission-data { display: grid; gap: 0; margin: 0; }
.qp-submission-data > div { display: grid; grid-template-columns: minmax(150px, 30%) 1fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--qp-border); }
.qp-submission-data > div:last-child { border-bottom: 0; }
.qp-submission-data dt { font-weight: 850; color: var(--qp-green-950); }
.qp-submission-data dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }

@media (max-width: 760px) {
    .qp-public-form-grid, .qp-mail-preview-grid { grid-template-columns: 1fr; }
    .qp-form-steps ol { grid-template-columns: 1fr 1fr; }
    .qp-form-process-note, .qp-form-next-action, .qp-publication-next-step { align-items: stretch; flex-direction: column; }
    .qp-form-builder-existing-head { align-items: flex-start; flex-direction: column; }
    .qp-readiness-list li { grid-template-columns: auto 1fr; }
    .qp-readiness-list li > a { grid-column: 2; }
    .qp-field-wide { grid-column: auto; }
    .qp-form-builder-item > summary { grid-template-columns: auto 1fr; }
    .qp-form-builder-item > summary .qp-muted { grid-column: 2; }
    .qp-submission-data > div { grid-template-columns: 1fr; gap: .25rem; }
}

/* Managed media library – v0.6.16 */
.qp-media-status-help { display: flex; flex-wrap: wrap; gap: .7rem 1.25rem; align-items: center; margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid #cddfd4; border-radius: 14px; background: #f3faf5; color: var(--qp-ink-soft); font-size: .84rem; }
.qp-media-status-help > span { display: inline-flex; align-items: center; gap: .4rem; }
.qp-status-dot { width: .6rem; height: .6rem; display: inline-block; border-radius: 999px; background: #9ca3af; }
.qp-status-draft { background: #d4a72c; }
.qp-status-review { background: #3b82f6; }
.qp-status-published { background: #2f855a; }
.qp-status-expired { background: #d14c4c; }
.qp-media-stat { color: inherit; text-decoration: none; }
.qp-media-stat:hover { border-color: rgba(18,61,42,.28); box-shadow: var(--qp-shadow-sm); }
.qp-media-filters { display: grid; grid-template-columns: 180px 180px minmax(190px, .8fr) minmax(240px, 1.4fr) auto; gap: .8rem; align-items: end; padding: 1rem 1.2rem; border-bottom: 1px solid var(--qp-border); }
.qp-media-filters .qp-field { margin: 0; }
.qp-media-filter-actions { display: flex; gap: .55rem; padding-bottom: .02rem; }
.qp-media-table td { vertical-align: middle; }
.qp-media-file-cell { min-width: 260px; display: flex; align-items: center; gap: .8rem; }
.qp-media-file-cell img { width: 72px; height: 54px; flex: 0 0 auto; object-fit: cover; border: 1px solid var(--qp-border); border-radius: 9px; background: var(--qp-cream); }
.qp-media-file-cell span { min-width: 0; display: grid; gap: .15rem; }
.qp-media-file-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qp-media-file-cell small, .qp-media-dimensions { display: block; color: var(--qp-muted); font-size: .78rem; }
.qp-media-file-icon { width: 52px; height: 54px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #efb1ad; border-radius: 9px; background: #fff4f3; color: #b72f2b; font-size: .72rem; font-weight: 900; }
.qp-media-file-icon-large { width: 110px; height: 126px; margin-inline: auto; font-size: 1.25rem; }
.qp-media-status { display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .55rem; border-radius: 999px; background: #eee8de; color: var(--qp-muted); font-size: .76rem; font-weight: 850; white-space: nowrap; }
.qp-media-status::before { content: ""; width: .48rem; height: .48rem; border-radius: 50%; background: currentColor; }
.qp-media-status-draft { background: #fff7db; color: #8a6500; }
.qp-media-status-review { background: #e9f2ff; color: #235d9f; }
.qp-media-status-published { background: #e7f6eb; color: #247044; }
.qp-media-status-expired { background: #fff0ef; color: #a83c37; }
.qp-media-status-archived { background: #eeeef0; color: #666774; }
.qp-table-action { text-align: right !important; white-space: nowrap; }
.qp-media-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; }
.qp-media-pagination a, .qp-media-pagination span { padding: .5rem .75rem; border: 1px solid var(--qp-border); border-radius: 9px; text-decoration: none; }
.qp-media-pagination span { color: var(--qp-muted); }
.qp-media-todos { display: grid; gap: 0; }
.qp-media-todos > div { display: grid; grid-template-columns: minmax(190px, .45fr) minmax(0, 1.5fr) auto; gap: 1rem; align-items: center; padding: .9rem 1.2rem; border-bottom: 1px solid #eee7dc; }
.qp-media-todos > div:last-child { border-bottom: 0; }
.qp-media-todos span { color: var(--qp-muted); }
.qp-media-editor { overflow: visible; }
.qp-media-form-body { padding: 1.2rem; }
.qp-file-input { padding: .55rem; }
.qp-media-upload-field { padding: 1rem; border: 1px solid #d7dfda; border-radius: 14px; background: #f8faf8; }
.qp-media-upload-inspector { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 1rem; align-items: center; margin-top: .75rem; padding: .8rem; border: 1px solid #d8e1db; border-radius: 12px; background: #fff; }
.qp-media-upload-inspector[hidden] { display: none; }
.qp-media-upload-inspector.is-error { border-color: #e0a39f; background: #fff8f7; }
.qp-media-upload-preview { width: 132px; height: 96px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--qp-border); border-radius: 10px; background: #f3f1eb; color: var(--qp-muted); font-size: .72rem; font-weight: 900; letter-spacing: .04em; }
.qp-media-upload-preview img { width: 100%; height: 100%; object-fit: contain; background: #f7f4ee; }
.qp-media-upload-details { min-width: 0; display: grid; gap: .38rem; }
.qp-media-upload-details > strong { overflow-wrap: anywhere; }
.qp-media-upload-facts { display: flex; flex-wrap: wrap; gap: .4rem; }
.qp-media-upload-facts > span:not(:empty) { display: inline-flex; align-items: center; min-height: 26px; padding: .22rem .48rem; border-radius: 999px; background: #eef3ef; color: #365444; font-size: .72rem; font-weight: 800; }
.qp-media-upload-inspector-compact { grid-template-columns: 92px minmax(0, 1fr); margin-bottom: 1rem; }
.qp-media-upload-inspector-compact .qp-media-upload-preview { width: 92px; height: 70px; }
.qp-actions-inline { margin-top: 0; }
.qp-media-edit-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); gap: 1.25rem; align-items: start; }
.qp-media-detail-column { min-width: 0; }
.qp-media-detail-column .qp-panel { margin-bottom: 1.25rem; }
.qp-media-preview-large { display: grid; gap: 1rem; padding: 1rem; text-align: center; }
.qp-media-preview-large img { width: 100%; max-height: 420px; object-fit: contain; border: 1px solid var(--qp-border); border-radius: 12px; background: #f7f4ee; }
.qp-media-meta-list { margin: 0; padding: 0 1rem 1rem; }
.qp-media-meta-list > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: .8rem; padding: .65rem 0; border-top: 1px solid #eee7dc; }
.qp-media-meta-list dt { color: var(--qp-muted); font-size: .78rem; font-weight: 800; }
.qp-media-meta-list dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.qp-media-meta-list code { font-size: .7rem; }
.qp-media-version-list { display: grid; }
.qp-media-version-list > div { position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(170px, auto) auto; gap: .8rem; align-items: center; padding: .85rem 1.2rem; border-bottom: 1px solid #eee7dc; }
.qp-media-version-list span, .qp-media-version-list small { color: var(--qp-muted); }
.qp-media-version-list em { padding: .25rem .5rem; border-radius: 999px; background: #e7f6eb; color: #247044; font-size: .72rem; font-style: normal; font-weight: 850; }
.qp-media-replace-form { padding: 1.2rem; background: #fbfaf7; }
.qp-media-usage-list { display: grid; }
.qp-media-usage-list > div, .qp-media-usage-list > p { margin: 0; padding: .85rem 1rem; border-bottom: 1px solid #eee7dc; }
.qp-media-usage-list > div { display: grid; gap: .15rem; }
.qp-media-usage-list span { color: var(--qp-muted); font-size: .82rem; }
.qp-media-archive { border-color: #e9c5c2; }

@media (max-width: 1180px) {
    .qp-media-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qp-media-filter-actions { grid-column: 1 / -1; }
    .qp-media-edit-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .qp-media-filters { grid-template-columns: 1fr; }
    .qp-media-filter-actions { grid-column: auto; flex-direction: column; }
    .qp-media-filter-actions .qp-button { width: 100%; }
    .qp-media-todos > div { grid-template-columns: 1fr; gap: .3rem; }
    .qp-media-version-list > div { grid-template-columns: 1fr; }
    .qp-media-meta-list > div { grid-template-columns: 1fr; gap: .25rem; }
    .qp-media-upload-inspector, .qp-media-upload-inspector-compact { grid-template-columns: 1fr; }
    .qp-media-upload-preview, .qp-media-upload-inspector-compact .qp-media-upload-preview { width: 100%; height: 180px; }
}


/* 0.6.18 modularer Seitenbaukasten */
.qp-preview-banner{position:sticky;top:0;z-index:1000;padding:.75rem 1rem;background:#fff2bf;color:#4d3b00;text-align:center;border-bottom:1px solid #d9bd52}
.qp-page-block-list{display:grid;gap:1rem;margin:1rem 0 2rem}.qp-page-block-card{padding:1.1rem;border:1px solid #d8ddd9;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(18,61,42,.06)}.qp-page-block-card.is-dragging{opacity:.55;outline:3px solid rgba(18,61,42,.2)}.qp-page-block-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.qp-page-block-head>div:nth-child(2){display:grid;gap:.1rem;flex:1}.qp-page-block-head small{color:#64716a}.qp-drag-handle{font-size:1.5rem;cursor:grab;color:#607068}.qp-page-block-move{display:flex;gap:.35rem}.qp-page-block-move form{margin:0}.qp-page-block-move button{min-width:2.5rem;font-size:1.2rem}.qp-page-block-new{border-style:dashed;background:#f7faf8}.qp-danger-link{color:#9b1c1c}.qp-media-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid #ccd5cf;border-radius:10px;background:#f8faf9}.qp-media-picker-dialog{width:min(1100px,calc(100vw - 2rem));max-height:90vh;padding:0;border:0;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.3)}.qp-media-picker-dialog::backdrop{background:rgba(10,25,18,.64)}.qp-media-picker-shell{padding:1.2rem;overflow:auto;max-height:90vh}.qp-media-picker-shell>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;position:sticky;top:-1.2rem;background:#fff;padding:1rem 0;z-index:2}.qp-media-picker-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;align-items:end;margin-bottom:1rem}.qp-media-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.qp-media-picker-card{border:1px solid #d4ddd7;border-radius:14px;overflow:hidden;background:#fff}.qp-media-picker-card>div:last-child{padding:1rem}.qp-media-picker-preview{height:170px;display:grid;place-items:center;background:#eef3ef;font-size:2rem;font-weight:800;color:#365444}.qp-media-picker-preview img{width:100%;height:100%;object-fit:cover}.qp-media-picker-card h3{margin:.1rem 0}.qp-media-picker-card p{overflow-wrap:anywhere;color:#64716a}.qp-media-picker-card dl{font-size:.86rem}.qp-media-picker-card dl div{display:grid;grid-template-columns:70px 1fr;gap:.5rem}.qp-media-picker-card dt{font-weight:700}.qp-media-restriction{padding:.6rem;background:#fff3e6;border-radius:8px;color:#7d3f00}.qp-media-restriction ul{margin:.35rem 0 0;padding-left:1.2rem}.qp-media-public-ok{padding:.6rem;background:#e7f6eb;color:#175a2e;border-radius:8px;font-weight:700}.qp-content-block{padding-top:clamp(1.4rem,3vw,2.8rem);padding-bottom:clamp(1.4rem,3vw,2.8rem)}.qp-heading-block+.qp-text-block{padding-top:0}.qp-image-block figure,.qp-gallery-block figure{margin:0}.qp-image-block img{display:block;width:100%;max-height:760px;object-fit:cover;border-radius:18px}.qp-image-block figcaption,.qp-gallery-block figcaption{margin-top:.45rem;color:#66736c;font-size:.92rem}.qp-content-gallery{display:grid;gap:1rem}.qp-content-gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-content-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}.qp-content-gallery-4{grid-template-columns:repeat(4,minmax(0,1fr))}.qp-content-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.qp-document-card{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;border:1px solid #d7ded9;border-radius:16px;background:#f8faf8}.qp-content-notice{padding:1.3rem;border-radius:14px;border-left:5px solid #2e6e50;background:#edf6f0}.qp-content-notice-warning{border-color:#ae6500;background:#fff4df}.qp-content-notice-success{border-color:#207c3c;background:#eaf7ee}.qp-content-separator-line{width:min(900px,calc(100% - 2rem));margin:2.5rem auto;border-top:1px solid #ced8d1}.qp-content-separator-space-small{height:1rem}.qp-content-separator-space-medium{height:2.5rem}.qp-content-separator-space-large{height:5rem}.qp-content-text-link{font-weight:750;text-decoration:underline;text-underline-offset:.2em}
@media(max-width:760px){.qp-media-picker-filters{grid-template-columns:1fr}.qp-content-gallery-3,.qp-content-gallery-4{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-document-card{align-items:flex-start;flex-direction:column}.qp-page-block-head{align-items:flex-start}.qp-media-selection{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.qp-content-gallery-2,.qp-content-gallery-3,.qp-content-gallery-4{grid-template-columns:1fr}}

/* 0.6.19 Personenmedien und durchgängiger zentraler Medienworkflow */
.qp-media-picker-loading{min-height:220px;display:grid;place-items:center;align-content:center;gap:.8rem;color:var(--qp-muted)}
.qp-spinner{width:2rem;height:2rem;border:.25rem solid rgba(18,61,42,.18);border-top-color:var(--qp-green);border-radius:50%;animation:qp-spin .8s linear infinite}
@keyframes qp-spin{to{transform:rotate(360deg)}}
.qp-media-picker-upload{margin-bottom:1rem;padding:1rem;border:1px solid #cfd9d3;border-radius:14px;background:#f7faf8}
.qp-media-picker-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.qp-media-picker-upload-head h3{margin:0}.qp-media-picker-upload-head p{margin:.25rem 0 0;color:var(--qp-muted)}
.qp-picker-status-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0;padding:0;border:0}.qp-picker-status-choice legend{grid-column:1/-1;font-weight:800;margin-bottom:.1rem}
.qp-media-origin{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.65rem 0}.qp-media-origin a{font-size:.85rem;font-weight:750}
.qp-media-selection{flex-wrap:wrap}.qp-media-selection .qp-link-button{margin-left:auto}
@media(max-width:760px){.qp-picker-status-choice{grid-template-columns:1fr}.qp-media-picker-upload-head{flex-direction:column}}


/* Public theme administration preview. These rules remain scoped to the fixed
   preview component and never apply the editable palette to the admin shell. */
.qp-theme-admin { margin-bottom: 1.25rem; }
.qp-theme-format { flex: 0 0 auto; padding: .42rem .62rem; border: 1px solid var(--qp-border); border-radius: 999px; background: var(--qp-white); color: var(--qp-muted); font: 750 .72rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; }
.qp-theme-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr); gap: 1.25rem; align-items: start; }
.qp-theme-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.qp-theme-field { min-width: 0; padding: .9rem; border: 1px solid var(--qp-border); border-radius: 12px; background: #fbfaf7; }
.qp-theme-field-head { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: .55rem; }
.qp-theme-field-head label { font-size: .84rem; font-weight: 850; }
.qp-theme-field-head code { overflow: hidden; color: var(--qp-muted); font-size: .66rem; text-overflow: ellipsis; }
.qp-theme-input-row { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: .55rem; align-items: center; }
.qp-theme-picker { width: 52px; height: 46px; padding: 3px; border: 1px solid var(--qp-border); border-radius: 10px; background: var(--qp-white); cursor: pointer; }
.qp-theme-hex { min-width: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; }
.qp-theme-field small { display: block; margin-top: .5rem; color: var(--qp-muted); font-size: .72rem; line-height: 1.45; }
.qp-theme-preview-column { position: sticky; top: 1rem; display: grid; gap: .9rem; }
.qp-theme-preview { overflow: hidden; border: 1px solid var(--qp-preview-border); border-radius: 18px; background: var(--qp-preview-background); color: var(--qp-preview-text); box-shadow: 0 18px 42px rgba(8,36,25,.12); }
.qp-theme-preview-announcement { padding: .55rem .8rem; background: var(--qp-preview-primary-dark); color: var(--qp-preview-accent); font-size: .72rem; font-weight: 850; text-align: center; }
.qp-theme-preview-header { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem 1rem; border-bottom: 1px solid var(--qp-preview-border); background: var(--qp-preview-surface); }
.qp-theme-preview-header strong { color: var(--qp-preview-primary-dark); }
.qp-theme-preview-header span { color: var(--qp-preview-text-muted); font-size: .68rem; }
.qp-theme-preview-body { padding: 1.15rem; }
.qp-theme-preview-eyebrow { color: var(--qp-preview-accent); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.qp-theme-preview h3 { margin: .42rem 0 .55rem; color: var(--qp-preview-text); font-size: 1.45rem; }
.qp-theme-preview p { margin: 0; color: var(--qp-preview-text-muted); font-size: .82rem; line-height: 1.55; }
.qp-theme-preview-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.qp-theme-preview-actions span, .qp-theme-preview-actions a { display: inline-flex; align-items: center; min-height: 36px; padding: .45rem .7rem; border: 1px solid var(--qp-preview-primary); border-radius: 999px; font-size: .72rem; font-weight: 850; text-decoration: none; }
.qp-theme-preview-actions span { background: var(--qp-preview-primary); color: #fff; }
.qp-theme-preview-actions a { background: var(--qp-preview-surface); color: var(--qp-preview-primary); }
.qp-theme-preview-card { display: grid; gap: .22rem; margin-top: 1rem; padding: .85rem; border: 1px solid var(--qp-preview-border); border-radius: 12px; background: var(--qp-preview-surface); }
.qp-theme-preview-card strong { color: var(--qp-preview-text); font-size: .8rem; }
.qp-theme-preview-card small { color: var(--qp-preview-text-muted); }
.qp-theme-contrast { padding: .95rem; border: 1px solid var(--qp-border); border-radius: 14px; background: var(--qp-white); }
.qp-theme-contrast h3 { margin-bottom: .3rem; font-family: inherit; font-size: .95rem; }
.qp-theme-contrast > p { margin: 0 0 .75rem; color: var(--qp-muted); font-size: .72rem; line-height: 1.45; }
.qp-theme-contrast-list { display: grid; gap: .35rem; }
.qp-theme-contrast-row { display: flex; justify-content: space-between; gap: .7rem; padding: .48rem .55rem; border-radius: 8px; background: #f5f6f5; font-size: .7rem; }
.qp-theme-contrast-row strong { white-space: nowrap; }
.qp-theme-contrast-row.is-pass strong { color: var(--qp-success); }
.qp-theme-contrast-row.is-fail { background: #fff1f1; }
.qp-theme-contrast-row.is-fail strong { color: var(--qp-danger); }
.qp-theme-warning-list { display: grid; gap: .35rem; margin-top: .65rem; }
.qp-theme-warning { padding: .5rem .55rem; border-radius: 8px; background: #fff8e8; color: #71531f; font-size: .7rem; line-height: 1.4; }
.qp-theme-warning.is-clear { background: #edf7f0; color: var(--qp-success); }
.qp-theme-actions { align-items: center; justify-content: flex-start; gap: .9rem; }
.qp-theme-actions span { color: var(--qp-muted); font-size: .76rem; }
.qp-theme-actions span.is-invalid { color: var(--qp-danger); font-weight: 800; }
.qp-theme-reset-form { margin-top: .8rem; }

@media (max-width: 1120px) {
    .qp-theme-editor-grid { grid-template-columns: 1fr; }
    .qp-theme-preview-column { position: static; }
}

@media (max-width: 680px) {
    .qp-theme-fields { grid-template-columns: 1fr; }
    .qp-theme-preview-header { align-items: flex-start; flex-direction: column; }
    .qp-theme-actions { align-items: flex-start; flex-direction: column; }
}

/* QueensPub 0.8.0 – Gastronomie-Grundmodul */
.qp-menu-jump{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.qp-menu-page{display:grid;gap:3.5rem}.qp-menu-section{scroll-margin-top:6rem}.qp-menu-category{margin:0 0 2.5rem}.qp-menu-category-head{display:grid;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--qp-theme-border);padding-bottom:.75rem}.qp-menu-category-head h3{font-size:clamp(1.45rem,3vw,2rem);margin:0}.qp-menu-category-head p{margin:0;color:var(--qp-theme-text-muted)}.qp-menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.qp-menu-item{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--qp-theme-border);background:var(--qp-theme-surface);border-radius:1rem;overflow:hidden;box-shadow:0 12px 35px rgba(15,23,42,.06)}.qp-menu-item.has-image{grid-template-columns:130px minmax(0,1fr)}.qp-menu-item-image{width:100%;height:170px;object-fit:cover}.qp-menu-item-content{padding:1rem 1.1rem;display:grid;gap:.65rem}.qp-menu-item-title-row{display:flex;gap:.75rem;justify-content:space-between;align-items:flex-start}.qp-menu-item-title-row h4{font-size:1.2rem;margin:0}.qp-menu-item-content>p{margin:0;color:var(--qp-theme-text-muted)}.qp-menu-tags{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.qp-menu-tags span,.qp-menu-unavailable{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.74rem;font-weight:700;background:color-mix(in srgb,var(--qp-theme-accent) 14%,var(--qp-theme-surface));color:var(--qp-theme-text)}.qp-menu-unavailable{background:#fee2e2;color:#991b1b;width:max-content}.qp-menu-item.is-unavailable{opacity:.72}.qp-menu-prices{margin:0;display:grid;gap:.35rem}.qp-menu-prices>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end}.qp-menu-prices>div:after{content:"";border-bottom:1px dotted var(--qp-theme-border);grid-column:1/3;grid-row:1;align-self:end;margin:0 0 .3rem;z-index:0}.qp-menu-prices dt,.qp-menu-prices dd{margin:0;background:var(--qp-theme-surface);position:relative;z-index:1}.qp-menu-prices dt{padding-right:.45rem}.qp-menu-prices dd{padding-left:.45rem;font-weight:800}.qp-menu-references{font-size:.76rem;color:var(--qp-theme-text-muted)}.qp-menu-legend{border:1px solid var(--qp-theme-border);border-radius:1rem;background:var(--qp-theme-surface);padding:1rem 1.2rem}.qp-menu-legend summary{font-weight:800;cursor:pointer}.qp-menu-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:1rem}.qp-menu-legend-grid h3{margin:.2rem 0 .75rem}.qp-menu-legend dl{display:grid;gap:.35rem;margin:0}.qp-menu-legend dl>div{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.5rem}.qp-menu-legend dt{font-weight:800}.qp-menu-legend dd{margin:0}.qp-reservation-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:2rem;align-items:start}.qp-public-form,.qp-reservation-info,.qp-success-card{background:var(--qp-theme-surface);border:1px solid var(--qp-theme-border);border-radius:1rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 16px 40px rgba(15,23,42,.07)}.qp-reservation-info{position:sticky;top:6rem}.qp-reservation-info h2{margin-top:0}.qp-reservation-info ol{display:grid;gap:.7rem;padding-left:1.3rem}.qp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.qp-reservation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.qp-reservation-summary>div{padding:1rem;border:1px solid var(--qp-theme-border);border-radius:.8rem}.qp-reservation-summary dt{font-size:.8rem;color:var(--qp-theme-text-muted)}.qp-reservation-summary dd{margin:.25rem 0 0;font-size:1.15rem;font-weight:800}.qp-filter-bar{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap;margin-bottom:1.25rem}.qp-filter-bar .qp-input{width:auto;min-width:160px;flex:1}.qp-menu-admin-list{display:grid;gap:1rem}.qp-menu-admin-card{margin:0}.qp-menu-price-grid{display:grid;gap:.55rem}.qp-menu-price-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,180px) auto;gap:.75rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--qp-border,#d8dee8)}.qp-menu-quick-flags{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.qp-checkbox-compact{padding:.35rem .6rem}.qp-admin-subsection{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--qp-border,#d8dee8);border-radius:.9rem;background:#fff}.qp-admin-subsection h2{margin-top:0}.qp-menu-variant-editor{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,180px) 120px auto auto;gap:.75rem;align-items:end;padding:.8rem 0;border-bottom:1px solid var(--qp-border,#d8dee8)}.qp-inline-fields{display:flex;gap:.5rem;align-items:center}.qp-inline-fields .qp-input{min-width:0}.qp-floorplan-shell{width:100%;overflow:auto;padding:1rem 0}.qp-floorplan{position:relative;min-width:600px;max-width:100%;border:2px solid var(--qp-border,#cbd5e1);border-radius:1rem;background:linear-gradient(90deg,rgba(148,163,184,.1) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.1) 1px,transparent 1px),#f8fafc;background-size:25px 25px;overflow:hidden}.qp-floor-table{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;min-height:50px;padding:.3rem;text-decoration:none;color:#172033;background:#fff7df;border:2px solid #966b18;box-shadow:0 6px 15px rgba(15,23,42,.12);transform:translateZ(0)}.qp-floor-table.shape-round{border-radius:50%}.qp-floor-table.shape-rectangle{border-radius:.65rem}.qp-floor-table.is-inactive{opacity:.45;filter:grayscale(1)}.qp-floor-table strong{font-size:1.1rem}.qp-floor-table span{font-size:.72rem}.qp-empty-state-compact{padding:1rem}.qp-admin-two-column{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1.25rem;align-items:start}.qp-detail-list{display:grid;gap:0;margin:0}.qp-detail-list>div{display:grid;grid-template-columns:minmax(130px,32%) minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--qp-border,#e2e8f0)}.qp-detail-list dt{font-weight:700}.qp-detail-list dd{margin:0}.qp-table-assignment-group{display:grid;gap:.35rem;padding:.7rem;border:1px solid var(--qp-border,#e2e8f0);border-radius:.7rem}.qp-status{display:inline-flex;padding:.25rem .6rem;border-radius:999px;font-size:.78rem;font-weight:800;background:#e2e8f0;color:#334155}.qp-status-new{background:#dbeafe;color:#1d4ed8}.qp-status-review{background:#fef3c7;color:#92400e}.qp-status-confirmed,.qp-status-arrived{background:#dcfce7;color:#166534}.qp-status-rejected,.qp-status-cancelled,.qp-status-no_show{background:#fee2e2;color:#991b1b}.qp-timeline{display:grid;gap:.75rem}.qp-timeline article{padding:.8rem;border-left:3px solid #b58a36;background:#f8fafc}.qp-timeline p{margin:.35rem 0 0;white-space:pre-wrap}.qp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.qp-menu-list,.qp-menu-legend-grid,.qp-reservation-layout,.qp-admin-two-column{grid-template-columns:1fr}.qp-reservation-info{position:static}.qp-menu-variant-editor{grid-template-columns:1fr 1fr}.qp-menu-variant-editor .qp-link-button{grid-column:1/-1}.qp-menu-price-row{grid-template-columns:1fr 140px}.qp-menu-price-row .qp-checkbox{grid-column:1/-1}.qp-reservation-summary{grid-template-columns:1fr}.qp-detail-list>div{grid-template-columns:1fr;gap:.2rem}}
@media(max-width:600px){.qp-menu-list{grid-template-columns:1fr}.qp-menu-item-title-row{display:grid}.qp-menu-tags{justify-content:flex-start}.qp-menu-variant-editor{grid-template-columns:1fr}.qp-filter-bar{display:grid}.qp-filter-bar .qp-input{width:100%}.qp-floorplan{min-width:520px}}


/* Editorial Layout Fast-Scope */
.qp-heading-block .qp-kicker{margin-bottom:.45rem}.qp-heading-block h2,.qp-heading-block h3,.qp-heading-block h4{margin:0;max-width:18ch}.qp-heading-block-large h2,.qp-heading-block-large h3,.qp-heading-block-large h4{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02}.qp-heading-block-display h2,.qp-heading-block-display h3,.qp-heading-block-display h4{font-size:clamp(2.5rem,6vw,5rem);line-height:.96;letter-spacing:-.025em}.qp-heading-block-center{text-align:center}.qp-heading-block-center h2,.qp-heading-block-center h3,.qp-heading-block-center h4{margin-left:auto;margin-right:auto}.qp-image-block-contain img{object-fit:contain;height:auto;max-height:none}.qp-image-block-cover img{object-fit:cover;aspect-ratio:16/9}.qp-image-block-wide img{max-height:900px}
.qp-editorial-block{padding-top:clamp(1.2rem,2.5vw,2.4rem);padding-bottom:clamp(1.2rem,2.5vw,2.4rem)}.qp-editorial-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.35rem,3vw,3rem);border-radius:24px;overflow:hidden}.qp-editorial-light .qp-editorial-shell{background:#f7f4ec;color:var(--qp-text)}.qp-editorial-sand .qp-editorial-shell{background:#e8d0ac;color:#183326}.qp-editorial-dark .qp-editorial-shell{background:#40362d;color:#fff8ee}.qp-editorial-dark .qp-kicker{color:#edbb7f}.qp-editorial-copy h2{margin:.25rem 0 .9rem;font-size:clamp(2rem,4.5vw,4.25rem);line-height:.98;letter-spacing:-.02em}.qp-editorial-heading-compact .qp-editorial-copy h2{font-size:clamp(1.55rem,2.2vw,2.2rem);line-height:1.08;letter-spacing:-.01em}.qp-editorial-heading-medium .qp-editorial-copy h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.04}.qp-editorial-heading-large .qp-editorial-copy h2{font-size:clamp(2rem,4.5vw,4.25rem)}.qp-editorial-heading-display .qp-editorial-copy h2{font-size:clamp(2.6rem,6vw,5.4rem);line-height:.94;letter-spacing:-.028em}.qp-editorial-copy p{margin:0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65;max-width:48ch}.qp-editorial-media{margin:0;min-width:0}.qp-editorial-media img{display:block;width:100%;border-radius:18px}.qp-editorial-fit-contain .qp-editorial-media img{height:auto;object-fit:contain;max-height:720px}.qp-editorial-fit-cover .qp-editorial-media{align-self:stretch}.qp-editorial-fit-cover .qp-editorial-media img{height:100%;min-height:360px;object-fit:cover}.qp-editorial-media-right .qp-editorial-media{order:2}.qp-editorial-media-right .qp-editorial-copy{order:1}.qp-editorial-media-top .qp-editorial-shell{grid-template-columns:1fr}.qp-editorial-media-top .qp-editorial-media{order:1}.qp-editorial-media-top .qp-editorial-copy{order:2;max-width:900px}.qp-editorial-shell.without-media{grid-template-columns:1fr}.qp-editorial-shell.without-media .qp-editorial-copy{max-width:900px}
.qp-media-picker-preview{height:220px;padding:.65rem}.qp-media-picker-preview a{display:grid;place-items:center;width:100%;height:100%}.qp-media-picker-preview img{width:100%;height:100%;object-fit:contain}.qp-media-picker-card dl div{grid-template-columns:70px 1fr}
@media(max-width:820px){.qp-editorial-shell{grid-template-columns:1fr}.qp-editorial-media-right .qp-editorial-media,.qp-editorial-media-right .qp-editorial-copy{order:initial}.qp-editorial-fit-cover .qp-editorial-media img{min-height:260px;max-height:520px}}

/* Editorial layout fast R4: compact, intentional link/button placement. */
.qp-link-block { padding-top: .7rem; padding-bottom: clamp(1.4rem, 3vw, 2.8rem); }
.qp-content-block + .qp-link-block { padding-top: 0; }
.qp-link-block .qp-narrow { display: flex; }
.qp-link-align-left .qp-narrow { justify-content: flex-start; }
.qp-link-align-center .qp-narrow { justify-content: center; }
.qp-link-align-right .qp-narrow { justify-content: flex-end; }
@media (max-width: 700px) {
    .qp-link-align-right .qp-narrow { justify-content: flex-start; }
}

.qp-menu-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:1rem 0 1.5rem}.qp-menu-import-summary>div{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--qp-border,#d8dee8);border-radius:.8rem;background:#fff}.qp-menu-import-summary span{font-size:.78rem;color:var(--qp-muted)}.qp-menu-import-summary strong{font-size:1.45rem}.qp-menu-import-table{min-width:1100px}.qp-menu-import-error{color:#991b1b;font-weight:700}.qp-menu-import-warning{color:#92400e}.qp-menu-import-actions{margin-top:1.25rem}.qp-menu-compliance-line{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.55rem}.qp-menu-legal-notice{font-size:.78rem;font-weight:650;color:var(--qp-theme-text);padding:.45rem .6rem;border-left:3px solid var(--qp-theme-accent);background:color-mix(in srgb,var(--qp-theme-accent) 7%,var(--qp-theme-surface))}

/* Menu item editor calm layout – R6 */
.qp-menu-editor{max-width:1280px;display:grid;gap:1rem}.qp-menu-editor-card{padding:1.15rem 1.2rem;border:1px solid var(--qp-border,#d8dee8);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(48,37,23,.035)}.qp-menu-editor-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.9rem;border-bottom:1px solid #eee7dc}.qp-menu-editor-card-head h2{margin:.08rem 0 .2rem;font-family:inherit;font-size:1.18rem;line-height:1.25}.qp-menu-editor-card-head p{margin:0;color:var(--qp-muted);font-size:.84rem;line-height:1.45}.qp-menu-editor-eyebrow{color:var(--qp-green);font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.qp-menu-editor-grid{display:grid;gap:.85rem 1rem}.qp-menu-editor-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-menu-editor-full{grid-column:1/-1}.qp-menu-editor .qp-field{margin:0}.qp-menu-editor .qp-field label{font-size:.84rem}.qp-menu-editor .qp-field input,.qp-menu-editor .qp-field select{min-height:44px}.qp-menu-editor .qp-field textarea.qp-menu-textarea-compact{min-height:84px}.qp-menu-import-meta{min-width:190px;display:grid;grid-template-columns:auto 1fr;gap:.08rem .5rem;align-items:baseline;padding:.55rem .7rem;border-radius:10px;background:#f3f0e9;color:var(--qp-ink)}.qp-menu-import-meta span{grid-row:1/3;align-self:center;padding:.2rem .4rem;border-radius:6px;background:#e5ded2;color:var(--qp-muted);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.qp-menu-import-meta strong{font-size:.83rem}.qp-menu-import-meta small{color:var(--qp-muted);font-size:.69rem}.qp-menu-property-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee7dc}.qp-menu-property{min-height:46px;display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid #e4dcd0;border-radius:10px;background:#fbfaf7;cursor:pointer}.qp-menu-property-primary{background:#f3f7f4;border-color:#d7e3db}.qp-menu-property span{display:grid;gap:.05rem;line-height:1.2}.qp-menu-property strong{font-size:.84rem}.qp-menu-property small{color:var(--qp-muted);font-size:.68rem}.qp-menu-editor input[type=checkbox]{width:1.05rem!important;min-width:1.05rem!important;height:1.05rem!important;min-height:1.05rem!important;flex:0 0 1.05rem;padding:0!important;margin:0;accent-color:var(--qp-green);border-radius:3px}.qp-menu-compliance-card{border-left-width:4px}.qp-menu-compliance-not_reviewed,.qp-menu-compliance-todo{border-left-color:#c99a45}.qp-menu-compliance-partial{border-left-color:#5d83a6}.qp-menu-compliance-reviewed{border-left-color:#3f825d}.qp-menu-compliance-badge,.qp-menu-count-badge{display:inline-flex;align-items:center;width:max-content;padding:.3rem .55rem;border-radius:999px;background:#eee8de;color:var(--qp-muted);font-size:.7rem;font-weight:850;white-space:nowrap}.qp-menu-compliance-todo .qp-menu-compliance-badge{background:#fff3d7;color:#8a6500}.qp-menu-compliance-partial .qp-menu-compliance-badge{background:#e9f2ff;color:#235d9f}.qp-menu-compliance-reviewed .qp-menu-compliance-badge{background:#e7f6eb;color:#247044}.qp-menu-source-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.qp-menu-source-open{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.qp-menu-variant-list{display:grid;gap:.55rem;margin-bottom:.8rem}.qp-menu-variant-editor{grid-template-columns:minmax(220px,1fr) minmax(120px,170px) 110px 92px auto;padding:.7rem .75rem;border:1px solid #eee7dc;border-radius:11px;background:#fbfaf7}.qp-menu-variant-editor:last-child{border-bottom:1px solid #eee7dc}.qp-menu-variant-editor .qp-field label{font-size:.73rem;color:var(--qp-muted)}.qp-menu-variant-active{align-self:end;justify-content:center;background:#fff}.qp-menu-remove-variant{align-self:center;margin-top:1.2rem;font-size:.78rem}.qp-menu-marking-panels{display:grid;gap:.65rem}.qp-menu-marking-panel{overflow:hidden;border:1px solid #e4dcd0;border-radius:12px;background:#fbfaf7}.qp-menu-marking-panel>summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;cursor:pointer;list-style:none}.qp-menu-marking-panel>summary::-webkit-details-marker{display:none}.qp-menu-marking-panel>summary:after{content:'+';width:1.55rem;height:1.55rem;display:grid;place-items:center;flex:0 0 1.55rem;border-radius:50%;background:#eee8de;color:var(--qp-green);font-weight:900;order:3}.qp-menu-marking-panel[open]>summary:after{content:'−'}.qp-menu-marking-panel>summary>span:first-child{display:grid;gap:.05rem}.qp-menu-marking-panel>summary strong{font-size:.9rem}.qp-menu-marking-panel>summary small{color:var(--qp-muted);font-size:.7rem}.qp-menu-marking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;padding:.75rem;border-top:1px solid #e9e1d5;background:#fff}.qp-menu-marking-option{min-height:44px;display:grid;grid-template-columns:auto 2rem minmax(0,1fr);gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #ece5da;border-radius:9px;background:#fff;cursor:pointer}.qp-menu-marking-option:hover{border-color:#cfc3b1;background:#fdfbf7}.qp-menu-marking-option strong{font-size:.78rem;color:var(--qp-green)}.qp-menu-marking-option span{min-width:0;font-size:.78rem;line-height:1.25}.qp-menu-editor-actions{margin-top:.1rem;padding:.2rem 0 .3rem}.qp-menu-markings-card{padding-bottom:1rem}
@media(max-width:1180px){.qp-menu-property-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.qp-menu-marking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.qp-menu-variant-editor{grid-template-columns:minmax(200px,1fr) 150px 100px}.qp-menu-variant-active{justify-self:start}.qp-menu-remove-variant{margin-top:0;align-self:center}}
@media(max-width:820px){.qp-menu-editor{max-width:none}.qp-menu-editor-card{padding:1rem}.qp-menu-editor-card-head{align-items:flex-start;flex-direction:column}.qp-menu-import-meta{min-width:0;width:100%}.qp-menu-editor-grid-2{grid-template-columns:1fr}.qp-menu-editor-full{grid-column:auto}.qp-menu-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-menu-source-field{grid-template-columns:1fr}.qp-menu-source-open{width:max-content}.qp-menu-variant-editor{grid-template-columns:1fr 1fr}.qp-menu-variant-active{justify-self:stretch}.qp-menu-remove-variant{grid-column:1/-1;justify-self:start}.qp-menu-marking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.qp-menu-property-grid,.qp-menu-marking-grid,.qp-menu-variant-editor{grid-template-columns:1fr}.qp-menu-marking-panel>summary{align-items:flex-start}.qp-menu-marking-panel>summary .qp-menu-count-badge{margin-left:auto}.qp-menu-remove-variant{grid-column:auto}}

/* Speisekarte: daumentaugliche Kategorienavigation */
.qp-menu-category-filter{position:sticky;top:calc(var(--qp-header-height) + .45rem);z-index:32;display:grid;gap:.55rem;margin:-1rem 0 .2rem;padding:.7rem .8rem;border:1px solid var(--qp-theme-border);border-radius:1rem;background:color-mix(in srgb,var(--qp-theme-background) 94%,transparent);box-shadow:0 10px 28px rgba(8,36,25,.08);backdrop-filter:blur(14px)}
.qp-menu-category-filter-label{padding-inline:.15rem;color:var(--qp-theme-text-muted);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.qp-menu-category-filter-scroll{display:flex;gap:.5rem;overflow-x:auto;padding:.12rem .1rem .25rem;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.qp-menu-category-filter-scroll::-webkit-scrollbar{display:none}
.qp-menu-filter-chip{min-height:44px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:.58rem .9rem;border:1px solid var(--qp-theme-border);border-radius:999px;background:var(--qp-theme-surface);color:var(--qp-theme-text);text-decoration:none;font-size:.88rem;font-weight:800;white-space:nowrap;scroll-snap-align:start;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.qp-menu-filter-chip:hover{border-color:var(--qp-theme-accent);transform:translateY(-1px)}
.qp-menu-filter-chip.is-active{border-color:var(--qp-theme-primary);background:var(--qp-theme-primary);color:#fff;box-shadow:0 6px 16px rgba(18,61,42,.16)}
.qp-menu-category[hidden],.qp-menu-section[hidden]{display:none!important}
@media(max-width:700px){.qp-menu-category-filter{top:calc(var(--qp-header-height) + .25rem);margin-inline:-.35rem;padding:.6rem .55rem;border-radius:.85rem}.qp-menu-category-filter-label{font-size:.68rem}.qp-menu-filter-chip{min-height:46px;padding:.62rem .88rem}}

/* QueensPub A1 R4 – mobile-first Speisekarten-UX */
@media (max-width: 680px) {
    .qp-menu-hero {
        padding: 1.25rem 0 1.45rem;
    }

    .qp-menu-hero .qp-breadcrumb {
        display: none;
    }

    .qp-menu-hero .qp-kicker {
        font-size: .66rem;
        letter-spacing: .12em;
    }

    .qp-menu-hero h1 {
        max-width: none;
        margin: .2rem 0 .45rem;
        font-size: clamp(2.05rem, 10.5vw, 2.8rem);
        line-height: .98;
        letter-spacing: -.035em;
    }

    .qp-menu-hero p {
        font-size: .92rem;
        line-height: 1.45;
    }

    .qp-menu-hero .qp-menu-jump {
        display: none;
    }

    .qp-menu-hero + .qp-section {
        padding-block: .7rem 2.35rem;
    }

    .qp-menu-page {
        gap: 1.45rem;
        padding-bottom: .6rem;
    }

    .qp-menu-category-filter {
        top: calc(var(--qp-header-height) - 1px);
        gap: 0;
        margin: 0 -.625rem .1rem;
        padding: .42rem .625rem .5rem;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        background: color-mix(in srgb, var(--qp-theme-background) 98%, transparent);
        box-shadow: 0 5px 16px rgba(8,36,25,.09);
        backdrop-filter: blur(12px);
    }

    .qp-menu-category-filter-label {
        display: none;
    }

    .qp-menu-category-filter-scroll {
        gap: .35rem;
        padding: .08rem 0 .05rem;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: .1rem;
    }

    .qp-menu-filter-chip {
        min-height: 44px;
        padding: .45rem .72rem;
        font-size: .8rem;
        scroll-snap-align: center;
    }

    .qp-menu-section {
        scroll-margin-top: calc(var(--qp-header-height) + 4.5rem);
    }

    .qp-menu-section > .qp-section-head {
        margin-bottom: .8rem;
    }

    .qp-menu-section > .qp-section-head .qp-kicker {
        display: none;
    }

    .qp-menu-section > .qp-section-head h2 {
        margin: 0;
        font-size: clamp(2rem, 11vw, 2.7rem);
        line-height: .96;
        letter-spacing: -.035em;
    }

    .qp-menu-page.is-category-filtered .qp-menu-section > .qp-section-head {
        display: none;
    }

    .qp-menu-category {
        margin-bottom: 1.25rem;
        scroll-margin-top: calc(var(--qp-header-height) + 4.5rem);
    }

    .qp-menu-category-head {
        gap: .2rem;
        margin-bottom: .55rem;
        padding-bottom: .45rem;
    }

    .qp-menu-category-head h3 {
        font-size: clamp(1.45rem, 7vw, 1.8rem);
        line-height: 1.08;
    }

    .qp-menu-category-head p {
        font-size: .9rem;
        line-height: 1.4;
    }

    .qp-menu-list {
        gap: .6rem;
    }

    .qp-menu-item {
        border-radius: .8rem;
        box-shadow: 0 8px 22px rgba(15,23,42,.055);
    }

    .qp-menu-item.has-image {
        grid-template-columns: 92px minmax(0,1fr);
    }

    .qp-menu-item-image {
        height: 100%;
        min-height: 118px;
    }

    .qp-menu-item-content {
        padding: .72rem .8rem;
        gap: .42rem;
    }

    .qp-menu-item-title-row {
        gap: .4rem;
    }

    .qp-menu-item-title-row h4 {
        font-size: 1.07rem;
        line-height: 1.2;
    }

    .qp-menu-item-content > p {
        font-size: .88rem;
        line-height: 1.35;
    }

    .qp-menu-tags span,
    .qp-menu-unavailable {
        font-size: .68rem;
    }

    .qp-menu-prices {
        gap: .15rem;
    }

    .qp-menu-prices > div {
        gap: .55rem;
        font-size: .94rem;
    }

    .qp-menu-references,
    .qp-menu-legal-notice {
        font-size: .7rem;
        line-height: 1.35;
    }

    .qp-menu-legend {
        padding: .8rem .85rem;
        border-radius: .8rem;
    }

    .qp-menu-legend summary {
        min-height: 44px;
        display: flex;
        align-items: center;
        font-size: .92rem;
    }

    .qp-menu-legend-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 430px) {
    .qp-menu-filter-chip {
        font-size: .78rem;
    }

    .qp-menu-item.has-image {
        grid-template-columns: 84px minmax(0,1fr);
    }

    .qp-menu-item-content {
        padding: .68rem .72rem;
    }
}

/* QueensPub A1 R5 – mobile Speisekarten-Polish */
@media (max-width: 680px) {
    .qp-announcement {
        overflow: hidden;
    }

    .qp-announcement-inner {
        min-height: 32px;
        justify-content: flex-start;
        align-items: flex-start;
        gap: .42rem;
        padding: .34rem .625rem;
        overflow: visible;
        white-space: normal;
        text-align: left;
        font-size: .72rem;
        line-height: 1.28;
    }

    .qp-announcement-inner a {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .qp-announcement-dot {
        margin-top: .18rem;
    }

    .qp-menu-hero {
        padding: .72rem 0 .82rem;
    }

    .qp-menu-hero .qp-kicker {
        font-size: .61rem;
        letter-spacing: .11em;
    }

    .qp-menu-hero h1 {
        max-width: 15ch;
        margin: .12rem 0 .28rem;
        font-size: clamp(1.72rem, 8.3vw, 2.15rem);
        line-height: 1;
        letter-spacing: -.03em;
    }

    .qp-menu-hero p {
        max-width: 42ch;
        font-size: .82rem;
        line-height: 1.34;
    }

    .qp-menu-hero.is-category-filtered {
        display: none;
    }

    .qp-menu-hero + .qp-section {
        padding-block: .45rem 1.55rem;
    }

    .qp-menu-page {
        gap: .95rem;
    }

    .qp-menu-category-filter {
        margin-bottom: .05rem;
        padding-block: .34rem .4rem;
    }

    .qp-menu-page:not(.is-category-filtered) .qp-menu-section > .qp-section-head {
        margin-bottom: .42rem;
    }

    .qp-menu-page:not(.is-category-filtered) .qp-menu-section > .qp-section-head h2 {
        font-size: clamp(1.5rem, 8vw, 1.85rem);
        line-height: 1.02;
        letter-spacing: -.025em;
    }

    .qp-menu-page:not(.is-category-filtered) .qp-menu-category {
        margin-bottom: .82rem;
    }

    .qp-menu-page:not(.is-category-filtered) .qp-menu-category-head {
        margin-bottom: .35rem;
        padding-bottom: .3rem;
    }

    .qp-menu-page:not(.is-category-filtered) .qp-menu-category-head h3 {
        font-size: clamp(1.15rem, 6vw, 1.4rem);
        line-height: 1.08;
    }

    .qp-menu-page:not(.is-category-filtered) .qp-menu-category-head p {
        font-size: .78rem;
        line-height: 1.28;
    }

    .qp-menu-page.is-category-filtered .qp-menu-category {
        margin-bottom: .8rem;
    }

    .qp-menu-page.is-category-filtered .qp-menu-category-head {
        margin-bottom: .42rem;
        padding-bottom: .35rem;
    }

    .qp-menu-page.is-category-filtered .qp-menu-category-head h3 {
        font-size: clamp(1.35rem, 7vw, 1.65rem);
    }

    .qp-menu-page.is-category-filtered .qp-menu-category-head p {
        font-size: .82rem;
        line-height: 1.3;
    }

    .qp-menu-legend {
        margin-top: .05rem;
        padding: 0 .75rem;
        border-radius: .72rem;
    }

    .qp-menu-legend summary {
        min-height: 52px;
        font-size: .82rem;
        line-height: 1.2;
    }

    .qp-menu-legend[open] {
        padding-bottom: .72rem;
    }

    .qp-menu-legend-grid {
        margin-top: .35rem;
        gap: .75rem;
    }

    .qp-site-footer {
        padding-bottom: calc(6.4rem + env(safe-area-inset-bottom));
    }
}

@media (max-width: 430px) {
    .qp-menu-filter-chip {
        padding-inline: .66rem;
    }

    .qp-menu-hero h1 {
        font-size: clamp(1.65rem, 8.5vw, 1.95rem);
    }
}

/* QueensPub A1 R6 – Speisekarte ohne überlagernde Mobile-Quickbar */
@media (max-width: 680px) {
    .qp-route-menu .qp-site-footer {
        padding-bottom: 1.2rem;
    }
}



/* A2 R3 – zentraler visueller Medien-Fokuspunkt */
.qp-media-focus-editor{display:grid;gap:.7rem}
.qp-media-focus-surface{position:relative;display:block;width:min(100%,720px);padding:0;border:1px solid var(--qp-border);border-radius:14px;overflow:hidden;background:#17231d;cursor:crosshair;box-shadow:0 8px 22px rgba(18,61,42,.08)}
.qp-media-focus-surface:focus-visible{outline:3px solid color-mix(in srgb,var(--qp-primary,#245a43) 38%,transparent);outline-offset:3px}
.qp-media-focus-surface img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.qp-media-focus-marker{position:absolute;width:28px;height:28px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(20,43,33,.75),0 4px 14px rgba(0,0,0,.35);pointer-events:none}
.qp-media-focus-marker::before,.qp-media-focus-marker::after{content:"";position:absolute;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.qp-media-focus-marker::before{width:12px;height:2px}
.qp-media-focus-marker::after{width:2px;height:12px}
.qp-media-focus-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:760px){.qp-media-focus-surface{width:100%}}

/* Content UX R2 R1: safe rich text, controlled colors and callouts. */
.qp-rich-editor{display:grid;gap:.55rem}.qp-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem;border:1px solid var(--qp-border);border-bottom:0;border-radius:11px 11px 0 0;background:var(--qp-cream-2)}.qp-rich-editor .qp-textarea{border-radius:0 0 11px 11px}.qp-rich-tool{min-width:44px;min-height:44px;display:inline-grid;place-items:center;padding:.45rem .65rem;border:1px solid var(--qp-border);border-radius:9px;background:var(--qp-white);color:var(--qp-ink);font-weight:780}.qp-rich-tool:hover{border-color:var(--qp-green);background:var(--qp-cream)}.qp-rich-tool-accent{color:var(--qp-green-950);background:var(--qp-gold-100);border-color:var(--qp-gold)}.qp-rich-emoji{font-size:1.15rem}.qp-rich-toolbar-separator{width:1px;height:30px;margin-inline:.15rem;background:var(--qp-border)}
.qp-richtext p{margin:0 0 1rem}.qp-richtext p:last-child{margin-bottom:0}.qp-richtext ul{margin:.35rem 0 1rem;padding-left:1.35rem}.qp-richtext li+li{margin-top:.35rem}.qp-richtext strong{font-weight:850}.qp-richtext u{text-decoration-thickness:.08em;text-underline-offset:.16em}.qp-richtext-mark{padding:.05em .18em;border-radius:.22em;background:var(--qp-gold-100);color:var(--qp-green-950)}.qp-text-tone-green .qp-richtext{color:var(--qp-green)}.qp-text-tone-accent .qp-richtext{color:var(--qp-gold-700)}
.qp-editorial-richtext{font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65;max-width:48ch;color:inherit}.qp-editorial-richtext p{line-height:inherit}.qp-editorial-dark .qp-editorial-richtext{color:rgba(255,248,238,.92)}
.qp-content-notice h2{margin:0 0 .55rem;font-size:clamp(1.35rem,2vw,1.8rem)}.qp-notice-richtext{font-size:1rem;line-height:1.65;color:inherit}.qp-content-notice-pub{border-color:var(--qp-green);background:var(--qp-green-950);color:#fff}.qp-content-notice-pub h2,.qp-content-notice-pub .qp-richtext-mark{color:var(--qp-green-950)}.qp-content-notice-pub h2{color:var(--qp-gold-300)}.qp-content-notice-accent{border-color:var(--qp-gold);background:var(--qp-gold-100);color:var(--qp-green-950)}
@media(max-width:520px){.qp-rich-toolbar{gap:.3rem}.qp-rich-tool{flex:1 0 44px;padding:.4rem}.qp-rich-toolbar-separator{display:none}.qp-rich-emoji{flex:0 0 44px}}@media(max-width:360px){.qp-rich-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;padding-inline:.2rem}.qp-rich-tool{width:100%;min-width:44px}.qp-rich-tool-accent{padding-inline:.2rem}}

/* Content UX R3 R1 – controlled image, editorial and gallery presentation. */
.qp-image-shell{width:100%}.qp-image-block figure{width:100%;margin:0}.qp-image-block-small figure{max-width:520px}.qp-image-block-narrow figure{max-width:790px}.qp-image-block-wide figure{max-width:1220px}.qp-image-shell-full{width:min(1600px,100%);margin-inline:auto}.qp-image-align-left figure{margin-right:auto}.qp-image-align-center figure{margin-inline:auto}.qp-image-align-right figure{margin-left:auto}.qp-image-frame{overflow:hidden;border-radius:18px;background:var(--qp-cream-2)}.qp-image-frame img{display:block;width:100%;height:auto;max-height:none;border-radius:0}.qp-image-block-contain .qp-image-frame img{object-fit:contain}.qp-image-block-cover .qp-image-frame img{object-fit:cover}.qp-image-aspect-1-1 .qp-image-frame{aspect-ratio:1/1}.qp-image-aspect-4-3 .qp-image-frame{aspect-ratio:4/3}.qp-image-aspect-3-2 .qp-image-frame{aspect-ratio:3/2}.qp-image-aspect-16-9 .qp-image-frame{aspect-ratio:16/9}.qp-image-aspect-portrait .qp-image-frame{aspect-ratio:4/5}.qp-image-aspect-banner .qp-image-frame{aspect-ratio:21/9}.qp-image-block:not(.qp-image-aspect-auto) .qp-image-frame img{height:100%}.qp-image-shell-full figcaption{padding-inline:1rem}
.qp-editorial-media{display:grid;gap:.45rem}.qp-editorial-image-frame{min-width:0;overflow:hidden;border-radius:18px;background:rgba(255,255,255,.22)}.qp-editorial-image-frame img{display:block;width:100%;height:auto;border-radius:0}.qp-editorial-fit-contain .qp-editorial-image-frame img{object-fit:contain;max-height:720px}.qp-editorial-fit-cover.qp-editorial-aspect-auto .qp-editorial-image-frame{height:100%;min-height:360px}.qp-editorial-fit-cover.qp-editorial-aspect-auto .qp-editorial-image-frame img{height:100%;min-height:360px;object-fit:cover}.qp-editorial-aspect-1-1 .qp-editorial-image-frame{aspect-ratio:1/1}.qp-editorial-aspect-4-3 .qp-editorial-image-frame{aspect-ratio:4/3}.qp-editorial-aspect-3-2 .qp-editorial-image-frame{aspect-ratio:3/2}.qp-editorial-aspect-16-9 .qp-editorial-image-frame{aspect-ratio:16/9}.qp-editorial-aspect-portrait .qp-editorial-image-frame{aspect-ratio:4/5}.qp-editorial-block:not(.qp-editorial-aspect-auto) .qp-editorial-media{align-self:center}.qp-editorial-block:not(.qp-editorial-aspect-auto) .qp-editorial-image-frame img{height:100%;min-height:0;max-height:none}.qp-editorial-media figcaption{margin-top:0;color:inherit;opacity:.76;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
.qp-gallery-image-frame{overflow:hidden;border-radius:14px;background:var(--qp-cream-2)}.qp-content-gallery .qp-gallery-image-frame img{display:block;width:100%;height:auto;aspect-ratio:auto;border-radius:0}.qp-gallery-fit-cover .qp-gallery-image-frame img{object-fit:cover}.qp-gallery-fit-contain .qp-gallery-image-frame img{object-fit:contain}.qp-gallery-aspect-1-1 .qp-gallery-image-frame{aspect-ratio:1/1}.qp-gallery-aspect-4-3 .qp-gallery-image-frame{aspect-ratio:4/3}.qp-gallery-aspect-3-2 .qp-gallery-image-frame{aspect-ratio:3/2}.qp-gallery-aspect-16-9 .qp-gallery-image-frame{aspect-ratio:16/9}.qp-gallery-aspect-portrait .qp-gallery-image-frame{aspect-ratio:4/5}.qp-gallery-block:not(.qp-gallery-aspect-auto) .qp-gallery-image-frame img{height:100%}.qp-gallery-block figcaption{overflow-wrap:anywhere}
.qp-gallery-caption-list{display:grid;gap:.65rem;margin-top:.9rem}.qp-gallery-caption-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:.8rem;align-items:center;padding:.7rem;border:1px solid var(--qp-border);border-radius:10px;background:var(--qp-white)}.qp-gallery-caption-row>div{display:grid;gap:.12rem;min-width:0}.qp-gallery-caption-row strong,.qp-gallery-caption-row small{overflow-wrap:anywhere}.qp-gallery-caption-row .qp-input{min-height:44px}
@media(max-width:820px){.qp-editorial-fit-cover.qp-editorial-aspect-auto .qp-editorial-image-frame,.qp-editorial-fit-cover.qp-editorial-aspect-auto .qp-editorial-image-frame img{min-height:260px;max-height:520px}}
@media(max-width:760px){.qp-gallery-caption-row{grid-template-columns:1fr}.qp-image-block-small figure,.qp-image-block-narrow figure,.qp-image-block-wide figure{max-width:100%}}
@media(max-width:820px){.qp-content-gallery-3,.qp-content-gallery-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.qp-content-gallery-2,.qp-content-gallery-3,.qp-content-gallery-4{grid-template-columns:1fr}}

/* Content UX R4 R1 HF1 – responsive media archive / trash controls */
.qp-status-archived{background:#70717c}.qp-status-trash{background:#5f6368}
.qp-media-status-trash{background:#eceef0;color:#555b61}
.qp-media-filters-r4{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(200px,1.3fr)}
.qp-media-filters-r4 .qp-media-filter-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap}
.qp-media-reference-compact{display:grid;gap:.2rem;margin-top:.25rem;max-width:320px;color:var(--qp-muted);font-size:.75rem;line-height:1.35;white-space:normal}
.qp-media-reference-compact span{overflow-wrap:anywhere}
.qp-media-trash-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.qp-media-trash-actions form{margin:0}
.qp-media-trash-actions .qp-button,.qp-media-trash-panel .qp-button{min-height:44px}
.qp-media-trash-panel{border-color:#d6c39d}
.qp-media-trash-panel .qp-panel-head{background:#fff8e8}
@media(max-width:1180px){
.qp-media-filters-r4{grid-template-columns:repeat(2,minmax(0,1fr))}
.qp-media-filters-r4 .qp-media-filter-actions{grid-column:1/-1;justify-content:flex-start}
.qp-media-trash-actions{justify-content:stretch;flex-direction:column}
.qp-media-trash-actions form,.qp-media-trash-actions .qp-button{width:100%}
.qp-media-table{display:block;min-width:0}
.qp-media-table thead{display:none}
.qp-media-table tbody{display:grid;gap:.85rem;padding:.85rem}
.qp-media-table tr{display:grid;min-width:0;border:1px solid var(--qp-border);border-radius:14px;background:#fff;overflow:hidden}
.qp-media-table td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:.55rem;align-items:start;min-width:0;padding:.7rem .8rem!important;border:0!important;border-bottom:1px solid #eee7dc!important;text-align:left!important;white-space:normal!important}
.qp-media-table td:last-child{border-bottom:0!important}
.qp-media-table td::before{content:attr(data-label);font-size:.75rem;font-weight:850;color:var(--qp-muted)}
.qp-media-table td[data-label="Datei"]{grid-template-columns:1fr}
.qp-media-table td[data-label="Datei"]::before{display:none}
.qp-media-table .qp-media-file-cell{min-width:0;width:100%;max-width:100%;overflow:hidden}
.qp-media-table .qp-media-file-cell span,.qp-media-table .qp-media-file-cell small{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.qp-media-table .qp-media-file-cell strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.qp-media-table .qp-table-action{grid-template-columns:1fr}
.qp-media-table .qp-table-action::before{margin-bottom:.15rem}
.qp-media-table .qp-table-action>a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:820px){
.qp-media-filters-r4{grid-template-columns:1fr}
.qp-media-filters-r4 .qp-media-filter-actions{grid-column:auto;flex-direction:column}
.qp-media-filters-r4 .qp-media-filter-actions .qp-button{width:100%}
}


/* Content UX R5 R1 – redaktionelle Vorschau und mobile Seitenverwaltung */
.qp-preview-workspace-head{align-items:flex-start}
.qp-preview-workspace-meta{display:grid;gap:.8rem;margin-bottom:1rem}
.qp-preview-workspace-status{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;padding:.8rem 1rem;border:1px solid var(--qp-border);border-radius:12px;background:#fbfaf7;color:var(--qp-muted);font-size:.9rem}
.qp-preview-workspace-status>span:not(.qp-badge){position:relative;padding-left:.8rem}
.qp-preview-workspace-status>span:not(.qp-badge)::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:#a79f92;transform:translateY(-50%)}
.qp-preview-ready{margin:0;background:#edf7ee;color:var(--qp-success)}
.qp-preview-workspace{overflow:hidden;border:1px solid var(--qp-border);border-radius:16px;background:#f4f1ea;box-shadow:0 12px 30px rgba(20,33,27,.08)}
.qp-preview-workspace-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--qp-border);background:#fff}
.qp-preview-workspace-toolbar h2{margin:0 0 .25rem;font-family:inherit;font-size:1.15rem}
.qp-preview-workspace-toolbar p{margin:0;color:var(--qp-muted);font-size:.9rem}
.qp-preview-size-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}
.qp-preview-size-controls .qp-button{min-height:44px;padding:.58rem .78rem}
.qp-preview-size-controls .qp-button small{font-size:.7rem;opacity:.72}
.qp-preview-size-controls .is-active{background:var(--qp-green);color:#fff}
.qp-preview-stage{display:grid;justify-items:center;overflow:hidden;padding:1rem;background:linear-gradient(135deg,#ece8df,#f7f5f0)}
.qp-preview-device{width:min(100%,390px);min-width:0;overflow:hidden;border:1px solid #bab3a7;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(20,33,27,.14);transition:width .2s ease}
.qp-preview-workspace[data-preview-viewport="tablet"] .qp-preview-device{width:min(100%,768px)}
.qp-preview-workspace[data-preview-viewport="wide"] .qp-preview-device{width:100%}
.qp-preview-device-bar{min-height:36px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;padding:.35rem .7rem;border-bottom:1px solid #ddd7cc;background:#f8f6f1;color:#6c665e;font-size:.72rem;font-weight:800;text-align:center}
.qp-preview-device-bar>span:first-child{justify-self:start;width:8px;height:8px;border-radius:50%;background:#d4cec3;box-shadow:14px 0 0 #d4cec3,28px 0 0 #d4cec3}
.qp-preview-frame{display:block;width:100%;height:min(72vh,820px);min-height:520px;border:0;background:#fff}
.qp-preview-workspace-note{margin:0;padding:.75rem 1rem 1rem;font-size:.82rem}
.qp-preview-banner{display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap}
.qp-preview-banner-actions{display:inline-flex;gap:.4rem;flex-wrap:wrap}
.qp-preview-banner-actions a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .65rem;border:1px solid #b79a2d;border-radius:999px;color:inherit;font-weight:800;text-decoration:none}
.qp-pages-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.qp-pages-path{overflow-wrap:anywhere}

@media(max-width:820px){
  .qp-preview-workspace-toolbar{flex-direction:column}
  .qp-preview-size-controls{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .qp-preview-size-controls .qp-button{width:100%;padding-inline:.45rem}
  .qp-preview-stage{padding:.7rem}
  .qp-preview-frame{height:68vh;min-height:430px}
  .qp-pages-table thead{display:none}
  .qp-pages-table,.qp-pages-table tbody,.qp-pages-table tr,.qp-pages-table td{display:block;width:100%}
  .qp-pages-table tbody{display:grid;gap:.8rem}
  .qp-pages-table tr{padding:.85rem 1rem;border:1px solid var(--qp-border);border-radius:12px;background:#fff}
  .qp-pages-table td{display:grid;grid-template-columns:minmax(92px,.32fr) minmax(0,1fr);gap:.65rem;padding:.42rem 0;border:0;text-align:left;overflow-wrap:anywhere}
  .qp-pages-table td::before{content:attr(data-label);color:var(--qp-muted);font-size:.76rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
  .qp-pages-table td[data-label="Titel"]{grid-template-columns:1fr;padding-top:0}
  .qp-pages-table td[data-label="Titel"]::before{display:none}
  .qp-pages-table .qp-pages-actions{display:flex;grid-template-columns:none;min-height:44px;align-items:center}
  .qp-pages-table .qp-pages-actions::before{align-self:center;min-width:92px}
  .qp-pages-table-archived form{margin:0}
}
@media(max-width:480px){
  .qp-preview-workspace-status{align-items:flex-start;flex-direction:column}
  .qp-preview-workspace-status>span:not(.qp-badge){padding-left:0}
  .qp-preview-workspace-status>span:not(.qp-badge)::before{display:none}
  .qp-preview-size-controls{grid-template-columns:1fr}
  .qp-preview-frame{min-height:390px}
  .qp-preview-device-bar{grid-template-columns:1fr auto 1fr;padding-inline:.55rem}
  .qp-pages-table td{grid-template-columns:1fr;gap:.18rem}
  .qp-pages-table .qp-pages-actions{display:flex;min-height:44px;gap:.9rem}
  .qp-pages-table .qp-pages-actions::before{width:100%;min-width:0}
}

/* Content UX R5 R1 HF2 – mobile Neuigkeiten-Liste ohne lokalen Tabellenoverflow */
@media(max-width:680px){
  .qp-news-admin-table{display:block;min-width:0;width:100%}
  .qp-news-admin-table thead{display:none}
  .qp-news-admin-table tbody{display:grid;gap:.8rem;padding:.8rem}
  .qp-news-admin-table tr{display:grid;min-width:0;border:1px solid var(--qp-border);border-radius:12px;background:#fff;overflow:hidden}
  .qp-news-admin-table td{display:grid;grid-template-columns:minmax(92px,.34fr) minmax(0,1fr);gap:.55rem;align-items:start;min-width:0;padding:.68rem .75rem!important;border:0!important;border-bottom:1px solid #eee7dc!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word}
  .qp-news-admin-table td:last-child{border-bottom:0!important}
  .qp-news-admin-table td::before{content:attr(data-label);color:var(--qp-muted);font-size:.76rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
  .qp-news-admin-table td[data-label="Titel"]{grid-template-columns:1fr;padding-top:.8rem!important}
  .qp-news-admin-table td[data-label="Titel"]::before{display:none}
  .qp-news-admin-table .qp-news-actions a{display:inline-flex;align-items:center;min-height:44px;width:max-content}
  .qp-news-admin-table .qp-news-empty{display:block}
  .qp-news-admin-table .qp-news-empty td{display:block;border-bottom:0!important}
  .qp-news-admin-table .qp-news-empty td::before{display:none}
}
@media(max-width:480px){
  .qp-news-admin-table td{grid-template-columns:1fr;gap:.18rem}
}
