/* StarTechno presentation layer adapted to StarFlow data contracts. */
.sv-public-shell .stx-public-header { position: sticky; top: 0; z-index: 1180; height: 52px; background: rgba(255,255,255,.8); backdrop-filter: saturate(180%) blur(20px); }
.sv-public-shell .stx-desktop-header { height: 52px; }
.sv-public-shell .stx-desktop-header__top { position: relative; width: 100%; max-width: 1200px; height: 52px; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 0; padding-inline: 24px; box-sizing: border-box; margin-inline: auto; direction: rtl; }
.sv-public-shell .stx-desktop-logo { display: inline-flex; flex: 0 0 auto; align-items: center; max-width: 190px; justify-self: auto; direction: rtl; }
.sv-public-shell .stx-desktop-logo img { display: block; width: auto; max-width: 160px; max-height: 40px; object-fit: contain; }
.sv-public-shell .stx-desktop-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-start; gap: .5rem; justify-self: auto; direction: rtl; }
.sv-public-shell .stx-action-button { display: inline-flex; align-items: center; min-height: 34px; padding-inline: 16px; border: 0; border-radius: 999px; background: var(--public-accent); color: #fff; font: inherit; font-size: .8rem; font-weight: 500; text-decoration: none; cursor: pointer; }
.sv-public-shell .stx-action-button:hover { background: color-mix(in srgb, var(--public-accent) 88%, #000); color: #fff; }
.sv-public-shell .stx-action-button--login { color: var(--public-accent); }
.sv-public-shell .stx-action-button--login { background: transparent; }
.sv-public-shell .stx-action-button--login:hover { background: color-mix(in srgb, var(--public-accent) 9%, transparent); color: var(--public-accent); }
.sv-public-shell .stx-theme-toggle__icon { font-size: 1rem; }
.sv-public-shell .stx-main-nav { position: absolute; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; gap: .15rem; min-width: 0; transform: translate(-50%, -50%); direction: rtl; }
.sv-public-shell .stx-main-nav__item { position: relative; }
.sv-public-shell .stx-main-nav__item > a { display: inline-flex; align-items: center; gap: .3rem; min-height: 54px; padding-inline: .75rem; color: var(--stx-text, #211a2b); font-size: .82rem; font-weight: 500; text-decoration: none; }
.sv-public-shell .stx-main-nav__submenu-indicator { display: inline-flex; align-items: center; justify-content: center; width: .8rem; height: .8rem; margin-inline-start: .1rem; color: currentColor; font-size: .9rem; font-weight: 800; line-height: .65; transform: translateY(-.08rem); }
.sv-public-shell .stx-main-nav__item > a:hover,
.sv-public-shell .stx-main-nav__item:focus-within > a { color: var(--public-accent); background: color-mix(in srgb, var(--public-accent) 7%, transparent); }
    .sv-public-shell .stx-main-nav__dropdown { position: absolute; top: calc(100% - 1px); right: 0; z-index: 1190; display: none; flex-direction: column; gap: 2px; width: max-content; min-width: 245px; max-width: min(320px, calc(100vw - 32px)); padding: .65rem; border: 1px solid var(--stx-line, #ebe5f0); border-radius: 0 0 14px 14px; background: var(--stx-bg, #fff); box-shadow: var(--stx-shadow, 0 20px 55px rgba(36,22,48,.16)); }
.sv-public-shell .stx-main-nav__item:hover .stx-main-nav__dropdown,
    .sv-public-shell .stx-main-nav__item:focus-within .stx-main-nav__dropdown { display: flex; }
    .sv-public-shell .stx-main-nav__dropdown-item > a { display: block; padding: .55rem .7rem; color: var(--stx-text, #211a2b); font-size: .8rem; text-decoration: none; border-radius: 8px; }
    .sv-public-shell .stx-main-nav__dropdown-item > a:hover { background: color-mix(in srgb, var(--public-accent) 8%, transparent); color: var(--public-accent); }
.sv-public-shell .stx-main-nav__item > a:hover,
.sv-public-shell .stx-main-nav__item:focus-within > a { background: rgba(255,255,255,.045); color: var(--stx-text, #eef0f8); }
.sv-public-shell .stx-main-nav__submenu-indicator { color: rgba(228,232,245,.72); font-size: .78rem; }
.sv-public-shell .stx-main-nav__dropdown { border-color: rgba(255,255,255,.09); background: rgba(20,22,39,.97); box-shadow: 0 16px 36px rgba(0,0,0,.22); }
.sv-public-shell .stx-main-nav__dropdown-item > a { color: #e4e7f0; }
.sv-public-shell .stx-main-nav__dropdown-item > a:hover { background: rgba(255,255,255,.055); color: #fff; }
.sv-public-shell .stx-public-support { color: var(--stx-muted, #766f80); font-size: .78rem; }
.sv-public-shell .stx-public-support a { margin-inline-start: .35rem; color: var(--public-accent); font-weight: 800; }
.sv-public-shell .stx-mobile-header { display: none; }
.sv-public-shell .stx-mobile-drawer { display: none; }

.sv-public-shell .st-footer { margin-top: 4rem; padding-block: 1.25rem 1rem; background: #f8fafc; color: var(--stx-text, #211a2b); }
.sv-public-shell .st-footer__benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.sv-public-shell .st-footer__benefit { display: flex; align-items: center; gap: .7rem; min-height: 72px; padding: .8rem; border: 1px solid var(--stx-line, #ebe5f0); border-radius: 14px; background: #fff; }
.sv-public-shell .st-footer__benefit img { width: 38px; height: 38px; object-fit: contain; }
.sv-public-shell .st-footer__benefit span { font-size: .78rem; font-weight: 800; }
.sv-public-shell .st-footer__main { padding: 1.5rem; border: 1px solid var(--stx-line, #ebe5f0); border-radius: 20px; background: #fff; }
.sv-public-shell .st-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, .8fr)); gap: 2rem; }
.sv-public-shell .st-footer__logo { display: inline-flex; align-items: center; max-width: 170px; }
.sv-public-shell .st-footer__logo img { display: block; width: auto; max-width: 170px; max-height: 58px; object-fit: contain; }
.sv-public-shell .st-footer__about { margin-top: .9rem; color: var(--stx-muted, #766f80); font-size: .82rem; line-height: 2; }
.sv-public-shell .st-footer__contact { display: grid; gap: .45rem; margin-top: .75rem; color: var(--stx-muted, #766f80); font-size: .78rem; }
.sv-public-shell .st-footer__box-title { margin-bottom: .7rem; color: var(--stx-text, #211a2b); font-size: .88rem; font-weight: 900; }
.sv-public-shell .st-footer__menu { display: grid; gap: .4rem; padding: 0; margin: 0; list-style: none; }
.sv-public-shell .st-footer__menu a { color: var(--stx-muted, #766f80); font-size: .78rem; text-decoration: none; }
.sv-public-shell .st-footer__menu a:hover { color: var(--public-accent); }
.sv-public-shell .st-footer__social { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--stx-line, #ebe5f0); }
.sv-public-shell .st-footer__social a { display: inline-flex; min-height: 34px; align-items: center; padding: 0 .7rem; border: 1px solid var(--stx-line, #ebe5f0); border-radius: 9px; color: var(--public-accent); font-size: .72rem; text-decoration: none; }
.sv-public-shell .st-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--stx-line, #ebe5f0); color: var(--stx-muted, #766f80); font-size: .72rem; }
.sv-public-shell .st-footer__bottom a { color: var(--public-accent); }

@media (max-width: 991.98px) {
    .sv-public-shell .stx-public-header { height: 54px; }
    .sv-public-shell .stx-desktop-header { height: auto; }
    .sv-public-shell .stx-desktop-header { display: none; }
    .sv-public-shell .stx-mobile-header { position: sticky; top: 0; z-index: 1180; display: block; background: rgba(255,255,255,.8); backdrop-filter: saturate(180%) blur(20px); }
    .sv-public-shell .stx-mobile-header__row { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 54px; padding: 0 1rem; }
    .sv-public-shell .stx-mobile-logo img { display: block; width: auto; max-width: 140px; max-height: 42px; object-fit: contain; }
    .sv-public-shell .stx-mobile-icon-button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--stx-text, #211a2b); font: inherit; cursor: pointer; }
    .sv-public-shell .stx-mobile-header__actions { display: flex; gap: .35rem; }
    .sv-public-shell .stx-mobile-drawer { position: fixed; inset: 0; z-index: 1200; display: none; }
    .sv-public-shell .stx-mobile-drawer.is-open { display: block; }
    .sv-public-shell .stx-mobile-drawer__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(15,23,42,.38); }
    .sv-public-shell .stx-mobile-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(86vw, 340px); padding: 1rem; overflow-y: auto; background: var(--stx-bg, #fff); box-shadow: -12px 0 35px rgba(15,23,42,.16); }
    .sv-public-shell .stx-mobile-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
    .sv-public-shell .stx-mobile-drawer__nav { display: grid; gap: .35rem; }
    .sv-public-shell .stx-mobile-drawer__nav a { display: block; padding: .75rem; border-radius: 10px; color: var(--stx-text, #211a2b); text-decoration: none; }
    .sv-public-shell .stx-mobile-drawer__nav a:hover { background: color-mix(in srgb, var(--public-accent) 8%, transparent); color: var(--public-accent); }
    .sv-public-shell .stx-mobile-drawer__group { display: grid; gap: .15rem; }
    .sv-public-shell .stx-mobile-drawer__subnav { display: grid; gap: .15rem; padding-inline-start: 1rem; border-inline-start: 2px solid color-mix(in srgb, var(--public-accent) 22%, transparent); }
    .sv-public-shell .stx-mobile-drawer__subnav a { padding-block: .55rem; color: var(--stx-muted, #68788f); font-size: .9em; }
    .sv-public-shell .st-footer__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sv-public-shell .st-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
}
@media (max-width: 575.98px) {
    .sv-public-shell .st-footer__benefits, .sv-public-shell .st-footer__grid { grid-template-columns: 1fr; }
    .sv-public-shell .st-footer__main { padding: 1rem; }
    .sv-public-shell .st-footer__bottom { flex-direction: column; }
}
