.sfo-wrap{
  --sfo-accent:#8f0f0f;--sfo-secondary:#666;--sfo-label-color:#8f0f0f;--sfo-date-color:#8f0f0f;--sfo-text:#8f0f0f;--sfo-card:#fff;--sfo-section:#fff;
  --sfo-control-bg:#fff;--sfo-control-border:#d8d8d8;--sfo-control-text:#222;--sfo-border:#ece7e2;
  --sfo-border-width:1px;--sfo-radius:18px;--sfo-max:1180px;--sfo-list-width:720px;--sfo-column-gap:150px;--sfo-control-width:410px;--sfo-year-size:58px;
  --sfo-row-size:26px;--sfo-ui-size:16px;--sfo-section-pad:36px;--sfo-card-pad:48px;--sfo-row-gap:16px;
  --sfo-year-font:Georgia,'Times New Roman',serif;--sfo-row-font:Georgia,'Times New Roman',serif;--sfo-ui-font:inherit;
  --sfo-year-weight:500;--sfo-row-weight:500;--sfo-ui-weight:500;
  box-sizing:border-box;width:100%;max-width:var(--sfo-max);margin:0 auto;padding:var(--sfo-section-pad);
  background:var(--sfo-section);color:var(--sfo-text);text-align:center;border-radius:calc(var(--sfo-radius) + 6px);
}
.sfo-wrap *{box-sizing:border-box}
/* Layout-critical rules are scoped to the plugin so page builders such as Avada
   cannot collapse the two-column presentation into unstyled block elements. */
section.sfo-wrap{display:block;position:relative}
section.sfo-wrap .sfo-card{display:block}
section.sfo-wrap .sfo-row> .sfo-label,section.sfo-wrap .sfo-row> .sfo-date{margin:0;padding:0}
.sfo-kicker{margin:0 0 12px;color:var(--sfo-secondary);font:var(--sfo-ui-weight) calc(var(--sfo-ui-size) * .875)/1.4 var(--sfo-ui-font);letter-spacing:.08em;text-transform:uppercase}
.sfo-title{max-width:1050px;margin:0 auto 20px;color:var(--sfo-accent);font:var(--sfo-year-weight) clamp(28px,4vw,48px)/1.15 var(--sfo-year-font)}
.sfo-year{display:block;margin:0 auto 20px;color:var(--sfo-accent);font:var(--sfo-year-weight) clamp(38px,7vw,var(--sfo-year-size))/1.05 var(--sfo-year-font);letter-spacing:.01em}
.sfo-year-select{appearance:none;-webkit-appearance:none;width:auto;max-width:100%;padding:0 40px 2px 10px;border:0;background:transparent;color:var(--sfo-accent);text-align:center;text-align-last:center;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 48%,calc(100% - 10px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.sfo-year-select:focus{outline:2px solid color-mix(in srgb,var(--sfo-accent) 28%,transparent);outline-offset:4px;border-radius:8px}
.sfo-control-block{position:relative;z-index:30;width:min(100%,var(--sfo-control-width));margin:0 auto 30px;text-align:left}
.sfo-control-block label,.sfo-fixed-state span{display:block;margin:0 0 8px;color:var(--sfo-secondary);font:var(--sfo-ui-weight) var(--sfo-ui-size)/1.3 var(--sfo-ui-font);text-align:center}
.sfo-control{width:100%;height:58px;padding:0 48px 0 20px;border:1px solid var(--sfo-control-border);border-radius:12px;background:var(--sfo-control-bg);color:var(--sfo-control-text);font:var(--sfo-ui-weight) var(--sfo-ui-size)/1.2 var(--sfo-ui-font);appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.sfo-control:focus{outline:2px solid color-mix(in srgb,var(--sfo-accent) 24%,transparent);outline-offset:2px}
.sfo-fixed-state{margin:0 auto 28px;text-align:center}
.sfo-fixed-state strong{display:inline-block;color:var(--sfo-control-text);font:var(--sfo-ui-weight) var(--sfo-ui-size)/1.2 var(--sfo-ui-font)}
.sfo-card{width:100%;padding:var(--sfo-card-pad);background:var(--sfo-card);border-radius:var(--sfo-radius);box-shadow:0 24px 60px rgba(35,31,27,.10)}
.sfo-no-shadow .sfo-card{box-shadow:none}
.sfo-has-border .sfo-card{border:var(--sfo-border-width) solid var(--sfo-border)}
.sfo-no-card .sfo-card{padding-left:0;padding-right:0;background:transparent;box-shadow:none;border-color:transparent}
section.sfo-wrap .sfo-card{text-align:center}
section.sfo-wrap .sfo-list{display:inline-grid!important;width:auto!important;max-width:min(100%,var(--sfo-list-width));margin-left:auto!important;margin-right:auto!important;grid-template-columns:max-content max-content;justify-content:center;align-items:baseline;column-gap:var(--sfo-column-gap);row-gap:var(--sfo-row-gap);vertical-align:top;font:var(--sfo-row-weight) clamp(17px,2.2vw,var(--sfo-row-size))/1.25 var(--sfo-row-font)}
.sfo-row{display:contents}
.sfo-label{margin:0;padding:0;text-align:left;color:var(--sfo-label-color)}
.sfo-date{margin:0;padding:0;text-align:left;color:var(--sfo-date-color);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;letter-spacing:0}
.sfo-subtitle{margin:34px 0 14px;color:var(--sfo-secondary);font:var(--sfo-ui-weight) calc(var(--sfo-ui-size) * .94)/1.3 var(--sfo-ui-font);text-transform:uppercase;letter-spacing:.06em}
.sfo-legal-card .sfo-list{font-size:clamp(15px,1.8vw,20px)}
.sfo-source{margin:18px auto 0;color:var(--sfo-secondary);font:400 calc(var(--sfo-ui-size) * .82)/1.5 var(--sfo-ui-font)}
.sfo-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.sfo-admin-warning{padding:14px 16px;border-left:4px solid #dba617;background:#fff8e5;color:#3c434a}
/* Eigene Dropdowns: bewusst nach unten öffnend, damit Browser/OS die Richtung nicht umdrehen. */
.sfo-native-select-enhanced{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.sfo-custom-select{position:relative;z-index:40}
.sfo-custom-select-control{width:100%}
.sfo-custom-trigger{appearance:none;-webkit-appearance:none;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin:0;border:1px solid var(--sfo-control-border);border-radius:12px;background:var(--sfo-control-bg);color:var(--sfo-control-text);cursor:pointer;text-align:left;font:var(--sfo-ui-weight) var(--sfo-ui-size)/1.2 var(--sfo-ui-font);box-shadow:none}
.sfo-custom-select-control .sfo-custom-trigger{height:58px;padding:0 18px 0 20px}
.sfo-custom-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--sfo-accent) 28%,transparent);outline-offset:2px}
.sfo-custom-chevron{width:8px;height:8px;flex:0 0 auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.sfo-custom-select.is-open .sfo-custom-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.sfo-custom-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:999999;max-height:min(360px,45vh);margin:0;padding:6px;overflow:auto;border:1px solid var(--sfo-control-border);border-radius:12px;background:var(--sfo-control-bg);box-shadow:0 16px 42px rgba(23,20,17,.18);color:var(--sfo-control-text);text-align:left}
.sfo-custom-menu[hidden]{display:none!important}
.sfo-custom-option{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;margin:0;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;text-align:left;font:var(--sfo-ui-weight) var(--sfo-ui-size)/1.25 var(--sfo-ui-font);box-shadow:none}
.sfo-custom-option:hover,.sfo-custom-option:focus-visible{outline:0;background:rgba(0,0,0,.055)}
.sfo-custom-option[aria-selected="true"]{font-weight:700}
.sfo-custom-option[aria-selected="true"]::after{content:"✓";margin-left:14px;color:var(--sfo-accent);font-weight:700}
.sfo-custom-select-year{display:table;min-width:190px;max-width:min(100%,320px);margin:0 auto 20px;color:var(--sfo-accent);font:var(--sfo-year-weight) clamp(38px,7vw,var(--sfo-year-size))/1.05 var(--sfo-year-font)}
.sfo-custom-select-year .sfo-custom-trigger{min-height:1.2em;padding:0 14px 4px;border:0;border-radius:10px;background:transparent;color:var(--sfo-accent);font:inherit;text-align:center;justify-content:center}
.sfo-custom-select-year .sfo-custom-trigger-text{min-width:0}
.sfo-custom-select-year .sfo-custom-chevron{width:10px;height:10px;margin-left:4px}
.sfo-custom-select-year .sfo-custom-menu{left:50%;right:auto;width:240px;max-width:90vw;transform:translateX(-50%);font:var(--sfo-ui-weight) var(--sfo-ui-size)/1.25 var(--sfo-ui-font);color:var(--sfo-control-text)}
@media (max-width:700px){
  .sfo-wrap{padding:clamp(18px,5vw,var(--sfo-section-pad))}
  .sfo-card{padding:clamp(20px,6vw,var(--sfo-card-pad))}
  /* Mobile: nicht auf volle Breite strecken. Der komplette Zweispaltenblock
     bleibt als kompakte Einheit exakt in der Seitenmitte. */
  section.sfo-wrap .sfo-list{display:inline-grid!important;width:max-content!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;grid-template-columns:max-content max-content;justify-content:center;column-gap:clamp(18px,6vw,34px);font-size:clamp(15px,4.5vw,var(--sfo-row-size))}
  .sfo-label,.sfo-date{text-align:left}
  .sfo-date{white-space:nowrap}
  .sfo-control{height:54px}
  .sfo-custom-select-control .sfo-custom-trigger{height:54px}
}
@media (max-width:430px){
  section.sfo-wrap .sfo-list{width:max-content!important;max-width:100%!important;grid-template-columns:max-content max-content;justify-content:center;column-gap:clamp(10px,4vw,18px);font-size:15px}
  .sfo-card{padding-left:18px;padding-right:18px}
}
@media (max-width:360px){
  section.sfo-wrap .sfo-list{column-gap:10px;font-size:14px}
}
