.event-estimator { margin: 16px 0 0; width: 100%; color: #392c21; background: #fffaf2; border: 1px solid #e7d4b5; border-radius: 16px; text-align: left; overflow: hidden; scroll-margin-top: 100px; }
.event-estimator > summary { cursor: pointer; padding: 22px 26px; display: flex; align-items: center; gap: 18px; list-style: none; background: linear-gradient(110deg, #fffaf2, #f7ecdc); }
.event-estimator > summary::-webkit-details-marker { display: none; }
.event-estimator__icon { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border: 1px solid #e4c69d; border-radius: 50%; color: #a84600; font-size: 24px; font-family: Georgia, serif; background: #fffaf2; }
.event-estimator__intro { flex: 1; min-width: 0; }
.event-estimator__action { display: flex; align-items: center; gap: 14px; flex-shrink: 0; padding: 12px 18px; border-radius: 8px; background: #a84600; color: #fff; font-size: 13px; font-weight: 500; }
.event-estimator__action::after { content: '+'; font-size: 22px; line-height: 1; }
.event-estimator[open] > summary .event-estimator__action > span { display: none; }
.event-estimator[open] > summary .event-estimator__action::before { content: 'Schließen'; }
.event-estimator[open] > summary .event-estimator__action::after { content: '−'; }
.event-estimator > summary:hover .event-estimator__action { background: #863800; }
.event-estimator[open] > summary { margin-bottom: 22px; border-bottom: 1px solid #e7d4b5; }
.event-estimator summary strong { display: block; font-size: 20px; line-height: 1.35; }
.event-estimator summary small { display: block; margin-top: 5px; font-size: 13px; color: #715d47; }
.event-estimator__body { padding: 0 26px 26px; }
.event-estimator__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr); gap: 24px; align-items: start; }
.event-estimator__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.event-estimator__package-hint { padding: 12px 14px; border-left: 3px solid #c78535; background: #f6ecdd; border-radius: 0 7px 7px 0; }
.event-estimator__bar-options { min-width: 0; transition: opacity .15s ease, filter .15s ease; }
.event-estimator__bar-options:disabled { opacity: .48; filter: blur(.65px) grayscale(1); user-select: none; }
.event-estimator__bar-options:disabled input, .event-estimator__bar-options:disabled select { cursor: not-allowed; }
.event-estimator__garnish { margin-top: 16px; }
.event-estimator label, .estimate-admin label { display: block; font-size: 13px; font-weight: 500; }
.event-estimator input[type=number], .event-estimator select, .estimate-admin input { display: block; width: 100%; min-height: 44px; margin: 6px 0 0; padding: 9px 11px; border: 1px solid #cdbba2; background: #fff; border-radius: 7px; color: #392c21; font: inherit; font-size: 16px; }
.event-estimator :focus-visible, .estimate-admin :focus-visible { outline: 3px solid #cf650a; outline-offset: 3px; }
.event-estimator__body p, .event-estimator__body small { font-size: 13px; line-height: 1.65; }
.event-estimator__options { margin-top: 20px; border-top: 1px solid #e7d4b5; padding-top: 14px; }
.event-estimator__options > summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.event-estimator__options fieldset { border: 0; padding: 0; margin: 18px 0; }
.event-estimator__options legend { font-size: 13px; margin-bottom: 8px; }
.event-estimator__checks { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.event-estimator__checks label { display: flex; gap: 7px; align-items: center; }
.event-estimator input[type=checkbox] { width: 17px; height: 17px; accent-color: #b04b00; }
.event-estimator__result { background: #f1e7d8; border-radius: 12px; padding: 24px; }
.event-estimator__result h3 { margin: 0 0 10px; font-size: 14px; letter-spacing: .03em; }
.event-estimator__price { display: block; font-size: clamp(26px, 3vw, 34px); font-weight: 600; color: #923e00; line-height: 1.3; }
.event-estimator__result button { width: 100%; margin-top: 12px; border: 0; border-radius: 8px; padding: 13px; background: #a84600; color: white; cursor: pointer; font: inherit; font-size: 13px; }
.event-estimator__result button:disabled { opacity: .5; cursor: default; }
.event-estimator__notice { border-top: 1px solid #d9c6ab; margin-top: 16px; padding-top: 14px; }
.event-estimator__error { color: #9d3225; }
.estimate-admin { padding: 26px; }
.estimate-admin h2 { margin: 0 0 10px; }
.estimate-admin p { font-size: 14px; line-height: 1.6; }
.estimate-admin fieldset { margin: 24px 0; border: 1px solid #d9c6ab; border-radius: 10px; padding: 18px; }
.estimate-admin legend { padding: 0 8px; font-weight: 600; }
.estimate-admin__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.estimate-admin__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.estimate-admin [role=status] { min-height: 24px; }
@media (max-width: 650px) {
  .event-estimator > summary { padding: 18px; gap: 12px; }
  .event-estimator__icon { display: none; }
  .event-estimator summary strong { font-size: 18px; }
  .event-estimator summary small { font-size: 12px; line-height: 1.6; }
  .event-estimator__action { width: 38px; height: 38px; padding: 0; justify-content: center; }
  .event-estimator > summary .event-estimator__action > span, .event-estimator[open] > summary .event-estimator__action::before { display: none; }
  .event-estimator__body { padding: 0 18px 18px; }
  .event-estimator__layout { grid-template-columns: 1fr; gap: 18px; }
  .event-estimator__grid { gap: 12px; }
  .event-estimator #estimateForm > .event-estimator__grid > label:nth-child(2) { font-size: 12px; }
  .event-estimator__result { padding: 18px; }
  .estimate-admin { padding: 16px; }
  .estimate-admin__grid { grid-template-columns: 1fr; }
}
