/* Scoped shared banner: does not depend on the page's tables or wording.css. */
#dlmbs-consent-banner { position:fixed; z-index:10000; bottom:0; left:0; right:0; max-height:65vh; overflow:auto; box-sizing:border-box; padding:18px 24px; padding-bottom:max(18px,env(safe-area-inset-bottom)); border-top:1px solid #b8c8a7; background:#f7f9f3; color:#283322; box-shadow:0 -3px 14px #0002; font:16px/1.6 Arial,sans-serif; -webkit-text-size-adjust:100%; text-size-adjust:100%; text-align:left; }
#dlmbs-consent-banner[hidden] { display:none; }
#dlmbs-consent-banner * { box-sizing:border-box; }
#dlmbs-consent-banner .dlmbs-consent-inner { max-width:960px; margin:0 auto; }
#dlmbs-consent-banner h2 { margin:0 0 6px; font-size:24px; color:#42572e; }
#dlmbs-consent-banner p { margin:6px 0 10px; overflow-wrap:anywhere; }
#dlmbs-consent-banner summary { cursor:pointer; min-height:44px; padding:9px 0; font-weight:bold; }
#dlmbs-consent-banner fieldset { min-width:0; border:1px solid #c9d4bd; padding:8px 12px; margin:8px 0; }
#dlmbs-consent-banner legend { font-weight:bold; }
#dlmbs-consent-banner label { display:flex; align-items:flex-start; gap:10px; min-height:44px; padding:8px 0; cursor:pointer; }
#dlmbs-consent-banner input { width:20px; height:20px; margin:3px 0 0; flex:0 0 auto; }
#dlmbs-consent-banner strong, #dlmbs-consent-banner small { display:block; }
#dlmbs-consent-banner small { font-size:16px; }
#dlmbs-consent-banner a { color:#005b9f; text-decoration:underline; }
#dlmbs-consent-banner .dlmbs-consent-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
#dlmbs-consent-banner button { min-height:44px; padding:8px 18px; border:1px solid #526b39; border-radius:5px; color:#30451f; background:white; cursor:pointer; font:inherit; }
#dlmbs-consent-banner :focus-visible { outline:3px solid #236b9a; outline-offset:3px; }
#dlmbs-consent-banner .dlmbs-consent-status:empty { display:none; }
@media(max-width:480px) { #dlmbs-consent-banner { padding:12px 16px; } #dlmbs-consent-banner button { flex:1 1 120px; } }
/* Entry buttons on copyright pages share one style; footer links remain links. */
button.dlmbs-consent-settings { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 18px; border:1px solid #526b39; border-radius:22px; background:#f7f9f3; color:#30451f; font:600 16px/1.6 Arial,sans-serif; vertical-align:middle; cursor:pointer; }
button.dlmbs-consent-settings:hover { background:#e6eedc; }
button.dlmbs-consent-settings:focus-visible { outline:3px solid #236b9a; outline-offset:3px; }
/* Reset page-level dimensions so all entry pages render the same banner. */
#dlmbs-consent-banner { width:auto; height:auto; margin:0; }
#dlmbs-consent-banner .dlmbs-consent-inner { width:100%; box-sizing:border-box; }
#dlmbs-consent-banner button:hover { background:#e6eedc; }
/* Override legacy page rules that assign 10pt directly to div/span/a. */
#dlmbs-consent-banner .dlmbs-consent-inner,
#dlmbs-consent-banner .dlmbs-consent-actions,
#dlmbs-consent-banner span,
#dlmbs-consent-banner a { font-size:inherit; font-family:inherit; line-height:inherit; }

/* Keep legacy paragraph, label and form rules out of the settings panel. */
#dlmbs-consent-banner p,
#dlmbs-consent-banner label,
#dlmbs-consent-banner strong,
#dlmbs-consent-banner summary,
#dlmbs-consent-banner legend { font-size:inherit; font-family:inherit; line-height:inherit; }
/* Footer entries also work on homepages without the RWD stylesheet. */
td.MainPanelFooter#page-index-m-footer { height:auto; }
#page-index-m-footer a.homepage-consent-settings { display:inline-block; margin-top:10px; overflow-wrap:anywhere; }
#page-index-m-footer a.homepage-consent-settings:focus-visible { outline:2px solid #ffdf80; outline-offset:4px; }

/* Compact shared panel; actions precede descriptions in DOM and keyboard order. */
#dlmbs-consent-banner { min-height: 20vh; max-height: 35vh; min-height: 20dvh; max-height: 35dvh; padding: 8px 12px; padding-bottom: max(8px,env(safe-area-inset-bottom)); font-size: 14px; line-height: 1.4; }
#dlmbs-consent-banner h2 { font-size: 18px; margin-bottom: 4px; }
#dlmbs-consent-banner small { font-size: 13px; }
#dlmbs-consent-banner p { margin: 4px 0 6px; }
#dlmbs-consent-banner summary, #dlmbs-consent-banner label { padding: 4px 0; min-height: 32px; }
#dlmbs-consent-banner .dlmbs-consent-actions { position: sticky; top: -8px; z-index: 1; background: #f7f9f3; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; margin: 4px 0 6px; padding: 4px 0; }
#dlmbs-consent-banner button { padding: 4px 8px; font-size: 14px; line-height: 1.3; min-width: 0; }
@media(max-width:768px) { #dlmbs-consent-banner .dlmbs-consent-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Terms remain first; cookie choices follow the cookie notice. */
#dlmbs-consent-banner .dlmbs-consent-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
#dlmbs-consent-banner .dlmbs-consent-cookie-actions { position: static; }
#dlmbs-consent-banner button[data-action="accept-terms"] { background: #425f27; color: #fff; border: 2px solid #30491b; font-weight: bold; box-shadow: 0 2px 4px #0002; }
#dlmbs-consent-banner button[data-action="accept-terms"]:hover { background: #30491b; }
