/* Additive editorial modules: typography and palette follow the existing site. */
[data-editorial-campaigns][hidden], [data-home-testimonials][hidden],
[data-editorial-testimonials][hidden], #editorial-admin [hidden] { display: none !important; }
.editorial-campaign[hidden] { display: none !important; }
[data-editorial-campaigns] { display: grid; gap: clamp(18px, 2.5vw, 30px); padding: var(--home-section-space, clamp(64px, 8vw, 112px)) clamp(18px, 6vw, 86px); }
.editorial-campaign { position: relative; display: grid; gap: 0; align-items: stretch; overflow: hidden; border: 1px solid #c8bdaf; background: #f7f2ea; color: #29251f; box-shadow: 0 18px 42px rgba(49, 37, 26, .12); }
.editorial-campaign > * { min-width: 0; }
.editorial-campaign-visual { position: relative; height: clamp(240px, 70vw, 360px); overflow: hidden; }
.editorial-campaign-visual > img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: center center; }
.editorial-ai-label { position: absolute; z-index: 2; right: 6px; bottom: 6px; max-width: calc(100% - 12px); padding: 0; background: transparent; color: rgba(255, 255, 255, .88); font: 600 8px/1.2 Inter, sans-serif; letter-spacing: .03em; text-shadow: 0 1px 3px rgba(0, 0, 0, .82); }
.editorial-campaign-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 5vw, 58px); }
.editorial-campaign-kicker { margin: 0 0 14px !important; color: #715336; font: 700 11px/1.4 Inter, sans-serif; letter-spacing: .22em; text-transform: uppercase; }
.editorial-campaign h2 { margin: 0; max-width: 18ch; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.02; overflow-wrap: normal; }
.editorial-campaign p:not(.editorial-campaign-kicker) { margin: 18px 0 26px; max-width: 60ch; font-size: clamp(15px, 1.35vw, 18px); line-height: 1.65; white-space: pre-line; }
.editorial-campaign .button { min-height: 44px; white-space: normal; text-align: center; }
.editorial-campaign[data-campaign-id*="oktoberfest"] { border-color: #b99b70; background: linear-gradient(135deg, #f5ead8 0%, #f7f2ea 72%); }
.editorial-campaign[data-campaign-id*="oktoberfest"]::after { content: ""; position: absolute; inset: 0 0 auto auto; width: 150px; height: 150px; pointer-events: none; opacity: .22; background: repeating-linear-gradient(45deg, transparent 0 13px, #a77b47 13px 14px), repeating-linear-gradient(-45deg, transparent 0 13px, #a77b47 13px 14px); mask-image: linear-gradient(225deg, #000, transparent 70%); }
.editorial-campaign[data-campaign-id*="weihnachten"] { border-color: #a98a79; background: linear-gradient(135deg, #f9f3ea 0%, #efe2d5 100%); }
.editorial-campaign[data-campaign-id*="weihnachten"] .editorial-campaign-kicker { color: #6c2f32; }
.editorial-campaign[data-campaign-id*="weihnachten"]::after { content: ""; position: absolute; inset: 20px 20px auto auto; width: 48px; height: 48px; border-top: 1px solid rgba(108, 47, 50, .45); border-right: 1px solid rgba(108, 47, 50, .45); pointer-events: none; }
.editorial-detail-quotes { display: grid; gap: 20px; min-width: 0; }
#editorial-admin { min-width: 0; color: #29251f; }
#editorial-admin *, #editorial-admin *::before, #editorial-admin *::after { box-sizing: border-box; }
#editorial-admin h2 { font-size: clamp(32px, 5vw, 48px); }
#editorial-admin h3 { font-size: clamp(26px, 4vw, 34px); }
#editorial-admin h4 { font: 600 16px/1.5 Inter, sans-serif; margin: 0 0 8px; }
#editorial-admin p { font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
#editorial-admin button { min-height: 44px; padding: 11px 16px; border: 1px solid #8c7966; color: #29251f; background: #fffaf2; font: 600 14px/1.4 Inter, sans-serif; cursor: pointer; white-space: normal; }
#editorial-admin button:disabled { opacity: .6; cursor: wait; }
#editorial-admin button[type="submit"] { background: #29251f; color: #fffaf2; }
#editorial-admin :is(button, input, select, textarea):focus-visible, .editorial-campaign a:focus-visible { outline: 3px solid #715336; outline-offset: 3px; }
.editorial-panel, .editorial-editor, .editorial-preview { margin-top: 32px; padding: clamp(16px, 3vw, 32px); background: #f7f2ea; border: 1px solid #c8bdaf; min-width: 0; }
.editorial-panel-head, .editorial-record { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.editorial-record { padding: 20px 0; border-top: 1px solid #c8bdaf; }
.editorial-record > div:first-child { flex: 1 1 260px; min-width: 0; }
.editorial-record.is-archived { border-left: 3px solid #8c7966; padding-left: 14px; }
.editorial-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
.editorial-editor form { display: grid; gap: 20px; }
.editorial-editor label { display: grid; gap: 8px; min-width: 0; font-size: 15px; line-height: 1.5; font-weight: 600; }
.editorial-editor :is(input:not([type="checkbox"]), select, textarea) { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; padding: 11px; border: 1px solid #8c7966; background: #fffdf8; color: #29251f; font: 16px/1.5 Inter, sans-serif; }
.editorial-editor textarea { resize: vertical; }
.editorial-editor fieldset { min-width: 0; padding: 16px; border: 1px solid #8c7966; }
.editorial-editor legend { padding: 0 6px; font-weight: 600; }
.editorial-editor .editorial-check { display: flex; gap: 10px; align-items: center; min-height: 44px; font-weight: 400; }
.editorial-check input[type="checkbox"] { flex: 0 0 22px; width: 22px; height: 22px; margin: 0; accent-color: #715336; }
.editorial-field-grid, .editorial-worlds { display: grid; gap: 16px; min-width: 0; }
#editorial-admin [role="status"] { scroll-margin-top: 130px; font-weight: 600; }
#editorial-admin .is-error, #editorial-admin [role="alert"] { color: #8c2525; }
@media (min-width: 768px) {
  .editorial-campaign:has(> .editorial-campaign-visual) { grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); min-height: 330px; }
  .editorial-campaign-visual { height: clamp(384px, 32vw, 460px); min-height: 0; max-height: none; }
  .editorial-campaign .button { align-self: flex-start; width: auto; min-width: 210px; }
  .editorial-field-grid, .editorial-worlds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .editorial-campaign h2 { max-width: 100%; }
  .editorial-campaign[data-campaign-id*="oktoberfest"]::after { width: 96px; height: 96px; }
}
