/* 01154 — public visitor-only structural/semantic base.
   Intentionally excludes Builder canvas defaults: no default st-block background,
   borders, min-height, selection, resize, drag/drop or editor hit-zone rules. */
.site-root{position:relative}
.site-root,.site-root *{box-sizing:border-box}
.site-root .st-section,.site-root .st-row,.site-root .st-block{min-width:0}
.site-root img,.site-root video{max-width:100%}

/* Public semantic states retained from the authored-style contract. */
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:hover{
  --st-sem-button-state-bg:var(--st-sem-button-hover-bg);
  --st-sem-button-state-text:var(--st-sem-button-hover-text);
  --st-sem-button-state-border-color:var(--st-sem-button-hover-border-color);
  --st-sem-button-state-shadow:var(--st-sem-button-hover-shadow)
}
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:active{
  --st-sem-button-state-bg:var(--st-sem-button-active-bg);
  --st-sem-button-state-text:var(--st-sem-button-active-text);
  --st-sem-button-state-border-color:var(--st-sem-button-active-border-color,var(--st-sem-button-hover-border-color));
  --st-sem-button-state-shadow:var(--st-sem-button-active-shadow)
}
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:is(:disabled,[aria-disabled="true"]){
  --st-sem-button-state-bg:var(--st-sem-button-disabled-bg);
  --st-sem-button-state-text:var(--st-sem-button-disabled-text);
  opacity:var(--st-sem-button-disabled-opacity,.55)
}
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:focus-visible,
[data-st-semantic-style="00946"][data-st-semantic-role="navigation"]:focus-visible,
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:focus-visible,
[data-st-semantic-style="00946"][data-st-semantic-role="icon"]:focus-visible{
  outline:var(--st-sem-focus-width,2px) solid var(--st-sem-focus-color,#2563eb);
  outline-offset:var(--st-sem-focus-offset,2px)
}
[data-st-semantic-style="00946"][data-st-semantic-role="navigation"]:hover{
  --st-sem-menu-state-bg:var(--st-sem-menu-hover-bg);
  --st-sem-menu-state-text:var(--st-sem-menu-hover-text);
  --st-sem-menu-state-border-color:var(--st-sem-menu-hover-border-color)
}
[data-st-semantic-style="00946"][data-st-semantic-role="navigation"]:is(:active,.is-active,[aria-current="page"],[data-active="true"]){
  --st-sem-menu-state-bg:var(--st-sem-menu-active-bg);
  --st-sem-menu-state-text:var(--st-sem-menu-active-text);
  --st-sem-menu-state-border-color:var(--st-sem-menu-active-border-color)
}
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:hover{
  --st-sem-link-state-color:var(--st-sem-link-hover-color);
  --st-sem-link-state-decoration:var(--st-sem-link-hover-decoration)
}
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:active{
  --st-sem-link-state-color:var(--st-sem-link-active-color);
  --st-sem-link-state-decoration:var(--st-sem-link-active-decoration)
}
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:visited{--st-sem-link-state-color:var(--st-sem-link-visited-color)}
[data-st-semantic-style="00946"][data-st-semantic-role="icon"]:hover{
  --st-sem-icon-state-bg:var(--st-sem-icon-hover-bg);
  --st-sem-icon-state-color:var(--st-sem-icon-hover-color)
}
[data-st-semantic-style="00946"][data-st-semantic-role="icon"]:active{
  --st-sem-icon-state-bg:var(--st-sem-icon-active-bg);
  --st-sem-icon-state-color:var(--st-sem-icon-active-color)
}
[data-st-semantic-style="00946"][data-st-semantic-role="media-overlay"]:hover{--st-sem-media-state-overlay:var(--st-sem-media-hover-overlay)}

/* 01380 · whole-element links and anchor targets */
.site-root [data-st-link-href]{cursor:pointer}
.site-root [data-st-link-href]:focus-visible{outline:2px solid var(--st-sem-focus-color,#2563eb);outline-offset:2px}
