/** YUSASO Teal Widget presentation.
 *  Widget headers own typography; their HTML heading level does not alter it.
 */

/* ==========================================================================
   Standard Widget
   ========================================================================== */

.public_widget,
.widget_card {
    color: var(--widget-text, var(--page-card-text));
    background-color: var(--widget-background-color);
    background-image: none !important;
    border: var(--widget-border-width) solid var(--widget-border-color) !important;
    border-radius: var(--widget-radius, var(--page-card-radius));

    }
:is(.public_widget,.widget_card)>.theme_surface_frame>.theme_surface_frame_corner{background-image:var(--widget-frame-corner-image)}
:is(.public_widget,.widget_card)>.theme_surface_frame>.theme_surface_frame_side:is(.theme_surface_frame_side_top,.theme_surface_frame_side_bottom){background-image:var(--widget-frame-side-image)}
:is(.public_widget,.widget_card)>.theme_surface_frame>.theme_surface_frame_side:is(.theme_surface_frame_side_left,.theme_surface_frame_side_right){background-image:var(--widget-frame-side-vertical-image)}
details.public_widget:not([open])>.theme_surface_frame{display:block}

/* ==========================================================================
   Widget Header
   ========================================================================== */

:is(.public_widget, .widget_card) > :is(summary, header, h1, h2, h3):is(.public_widget_header, .widget_header) {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    max-height: 2.75rem !important;
    margin: 0 !important;
    padding: 0.45rem 0.65rem !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.5rem !important;
    overflow: hidden !important;
    color: var(--yusaso-blue) !important;
    background-color: var(--widget-header-background-color) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--widget-header-border-color) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: calc(var(--font-h2-size) - 0.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;

    }

/* Standalone controls may intentionally use the canonical widget-header presentation. */
button.public_widget_header_action {
    height: 2.75rem;
    min-height: 2.75rem;
    max-height: 2.75rem;
    padding: 0.45rem 0.65rem;
    color: var(--yusaso-blue);
    background-color: var(--widget-header-background-color);
    background-image: none;
    border: 0;
    border-bottom: 1px solid var(--widget-header-border-color);
    border-radius: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: calc(var(--font-h2-size) - 0.2rem);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

:is(summary.public_widget_header, summary.widget_header) {
    list-style: none !important;
}

/* ==========================================================================
   Widget Title
   ========================================================================== */

:is(.public_widget, .widget_card) > :is(.public_widget_header, .widget_header) > :is(h1, h2, h3, .public_widget_title, .widget_title),
button.public_widget_header_action > .public_widget_title,
.quick_post > h2 {
    display: block !important;
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: var(--yusaso-blue) !important;
    background: transparent !important;
    border: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: calc(var(--font-h2-size) - 0.2rem) !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-overflow: ellipsis !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

/* ==========================================================================
   Widget Toggle
   ========================================================================== */

:is(summary.public_widget_header, summary.widget_header):not(:has(> :is(.public_widget_toggle, .widget_toggle)))::after {
    content: "▾";
    display: grid;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: auto;
    place-items: center;
    color: var(--yusaso-blue) !important;
    font-family: inherit !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

details:not([open]) > :is(summary.public_widget_header, summary.widget_header):not(:has(> :is(.public_widget_toggle, .widget_toggle)))::after {
    content: "▸";
}

:is(.public_widget, .widget_card) > :is(.public_widget_header, .widget_header) :is(.public_widget_toggle, .widget_toggle) {
    flex: 0 0 1.5rem !important;
    width: 1.5rem !important;
    min-width: 1.5rem !important;
    max-width: 1.5rem !important;
    height: 1.5rem !important;
    min-height: 1.5rem !important;
    max-height: 1.5rem !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    color: var(--yusaso-blue) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50%;
    line-height: 1 !important;
}

:is(.public_widget_toggle, .widget_toggle) {
    position: relative;
    display: grid;
    box-sizing: border-box;
    place-items: center;
    font-size: 1.25rem;
}

.public_widget_arrow,
.widget_toggle_glyph {
    font-size: 1em;
    line-height: 1;
}

.public_widget_arrow_closed,
.public_widget:not([open]) .public_widget_arrow_open,
.widget_card[aria-expanded="false"] .public_widget_arrow_open {
    display: none;
}

/* ==========================================================================
   Widget Content
   ========================================================================== */

:is(.public_widget, .widget_card) > :is(.public_widget_content, .widget_content) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0.75rem !important;
    color: var(--widget-content-text, var(--widget-text, var(--page-card-text)));
    text-align: left;
    /* Background is owned by the shared Widget and Persona Viewer surface in cards.css. */
    border: 0 !important;

    }

:is(.public_widget_content, .widget_content) h2 {
    color: var(--widget-heading-text, var(--widget-content-text, var(--page-card-text)));
    font-size: calc(var(--font-lg) - 0.2rem) !important;
    line-height: 1.2;
}


:is(.public_widget_content, .widget_content) > h2:first-child {
    margin-top: 0;
}

:is(.public_widget, .widget_card) a:not(.button):is(:link, :visited, :hover, :focus-visible, :active) {
    color: var(--primary-font-color) !important;
}

/* ==========================================================================
   Widget Visibility
   ========================================================================== */

/* ==========================================================================
   Widget Form Controls
   ========================================================================== */

:is(.public_widget, .widget_card) > :is(.public_widget_content, .widget_content) :is(
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="reset"]):not([type="button"]):not([type="image"]):not([type="range"]):not([type="color"]),
    select,
    textarea
) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

:is(.public_widget, .widget_card) :is(
    input[type="date"],
    input[type="datetime-local"],
    input[type="time"],
    input[type="month"],
    input[type="week"],
    input[type="number"]
) {
    width: min(100%, var(--widget-control-small-width));
    max-width: var(--widget-control-small-width);
}

:is(.public_widget, .widget_card) > :is(.public_widget_content, .widget_content) :is(
    input:not([type]),
    input[type="text"],
    input[type="search"],
    input[type="email"],
    input[type="password"],
    input[type="url"],
    input[type="tel"],
    input[type="file"],
    select
) {
    width: 100%;
    max-width: 100%;
}

:is(.public_widget, .widget_card) textarea {
    width: 100%;
    max-width: 100%;
}

:is(.public_widget, .widget_card) input[type="file"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 2.45rem !important;
    min-height: 2.45rem !important;
    max-height: 2.45rem !important;
    padding: 0.2rem !important;
    font-size: var(--font-sm) !important;
}

:is(.public_widget, .widget_card) input[type="file"]::file-selector-button {
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    margin-inline-end: 0.45rem !important;
    padding: 0.35rem 0.55rem !important;
}

:is(.public_widget, .widget_card):not(.widget_communication_connections):not(.messaging_participants) :is(
    button,
    input[type="submit"],
    input[type="reset"],
    input[type="button"],
    a.button
):not(.widget_navigation_button):not(.public_widget_toggle):not(.widget_toggle) {
    display: inline-flex !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 2.25rem !important;
    margin: 0 !important;
    padding: 0.45rem 0.75rem !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
}

/* ==========================================================================
   Date-Range Controls
   ========================================================================== */

.widget_date_range,
.widget_date_range_rows,
.persona_date_filter_rows {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    margin: 0;
    gap: 0.65rem;
}

/* Platform widgets.css owns shared Widget action-bar geometry and alignment. */

/* ==========================================================================
   Advertisement Widget
   ========================================================================== */

.widget_advertisement_placement {
    color: var(--advertisement-text, var(--page-muted-text));
    background: var(--advertisement-background);
    border-color: var(--advertisement-border);
}

/* ==========================================================================
   Widget Navigation
   ========================================================================== */

.widget_navigation_button {
    color: var(--primary-font-color);
    background: transparent;
    border: 0;
    border-radius: var(--widget-navigation-radius, 8px);
    font-size: var(--font-md);
    text-decoration: none !important;
}

.widget_navigation_submenu_button {
    color: var(--primary-font-color);
    background: transparent !important;
    border-radius: 0 !important;
    font-size: var(--font-sm);
    text-decoration: none !important;
}

/* RETIRED 2026-08-30: the nested-menu rail positioned against the Widget
 * instead of an individual link and produced a full-height vertical line. */

@media (max-width: 50rem) {
    :is(.public_widget, .widget_card)
    > :is(summary, header, h1, h2, h3):is(.public_widget_header, .widget_header) {
        font-size: 1.0625rem !important;
    }
}

.widget_navigation_button:is(:hover, :focus-visible, [aria-current="page"], [aria-selected="true"], .is_selected) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.widget_navigation_submenu_button:is(:hover, :focus-visible) {
    background: var(--widget-navigation-hover-background, transparent) !important;
}

/* Component-specific Widget presentation remains centralized here. */
:is(.post_composer_menu_widget, .post_composer_guide_widget) {
    border-width: 0 !important;
    box-shadow: none;
}

:is(.post_composer_menu_widget, .post_composer_guide_widget) > .public_widget_header {
    border-bottom-width: 0 !important;
}

.persona_identity_widget_avatar {
    border-radius: 0;
}

.persona_identity_widget_names > :is(strong, h2) {
    font-size: var(--font-xl);
}

.persona_identity_widget_names > span {
    color: var(--form-helper-color);
}

.widget_connections_search .connections_filter.connections_filter_compact {
    color: inherit;
    background: transparent;
    background-image: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

:is(.dm_workspace_connections, #chat-participants-panel) .public_widget_content {
    background: transparent !important;
    border: 0 !important;
}

.public_widget.messaging_chat_options_widget .messaging_chat_option_control {
    color: inherit;
    background: transparent;
    background-image: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font: inherit;
}

.public_widget.messaging_chat_options_widget .messaging_chat_option_control:disabled,
.public_widget.messaging_chat_options_widget .messaging_chat_option_control:disabled + .messaging_chat_option_name {
    color: var(--page-muted-text);
}

.widget_communication_recipient_chooser .communication_circle_connection_choice {
    color: inherit;
    background: transparent !important;
    border: 1px solid var(--page-divider-color);
}

.widget_communication_recipient_chooser .communication_circle_connection_choice:is(:hover, [aria-pressed="true"]) {
    background: var(--navigation-hover-background-color) !important;
}

.widget_recipient_chooser :is(.communication_specific_connection_choices, .connection_compact_list) {
    border: 0 !important;
}

.widget_recipient_chooser .communication_circle_connection_choice {
    border: 0 !important;
    border-bottom: 1px solid var(--page-divider-color) !important;
    border-radius: 0 !important;
}

:is(.public_widget, .widget_card, .widget_page_navigation, .platform_page_menu) :is(
    .platform_page_menu_items,
    .widget_navigation_list,
    .public_widget_content,
    .widget_content
) {
    border-bottom: 0 !important;
    border-block-end: 0 !important;
}

.widget_page_navigation :is(.public_widget_content, .widget_content),
.widget_page_navigation nav {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
}

/* RETIRED 2026-08-28: page-menu renderers no longer emit widget_navigation_icon.
.widget_navigation_icon {
    display: inline-grid;
    box-sizing: border-box;
    flex: 0 0 1em;
    width: 1em;
    height: 1em;
    place-items: center;
    font-size: 1em;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
}
*/

/* ==========================================================================
   Horizontal Page Navigation
   ========================================================================== */

.widget_presentation_horizontal_tabs,
.horizontal_page_tab_menu {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    margin: 0 0 1rem;
    padding: 0;
    overflow: hidden !important;
    border: 0 !important;
    box-shadow: none !important;
}

:is(.widget_presentation_horizontal_tabs, .horizontal_page_tab_menu) > :is(.public_widget_header, .widget_header) {
    display: none !important;
}

:is(.widget_presentation_horizontal_tabs, .horizontal_page_tab_menu) > :is(.public_widget_content, .widget_content) {
    padding: 0 !important;
    overflow: hidden !important;
}

:is(.widget_presentation_horizontal_tabs, .horizontal_page_tab_menu) .platform_page_menu_items {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0.2rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    white-space: nowrap !important;
}

:is(.widget_presentation_horizontal_tabs, .horizontal_page_tab_menu) .widget_navigation_button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    padding: 0.35rem 0.5rem !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

.public_widget.platform_page_menu .platform_page_menu_items > .widget_navigation_button {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 1em !important;
    font-style: normal !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* RETIRED 2026-08-30: nested page-menu geometry is owned by the shared
 * platform Widget stylesheet so every Theme and page uses one hierarchy. */

/* ==========================================================================
   Vertical Page-Navigation Widget
   ========================================================================== */

.public_widget.widget_page_navigation:not(.widget_presentation_horizontal_tabs):not(.persona_profile_tab_widget) .platform_page_menu_items > .widget_navigation_button {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* ==========================================================================
   Persona Tab Widget
   Applies independently to persona.php and the Persona full-view dialog.
   ========================================================================== */

:is(
    .page_content_wrapper.persona_profile_page,
    .persona_full_view_dialog
) .public_widget.widget_page_navigation.persona_profile_tab_widget {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    box-shadow: none !important;
}

:is(
    .page_content_wrapper.persona_profile_page,
    .persona_full_view_dialog
) .public_widget.widget_page_navigation.persona_profile_tab_widget > :is(.public_widget_header, .widget_header) {
    display: none !important;
}

:is(
    .page_content_wrapper.persona_profile_page,
    .persona_full_view_dialog
) .public_widget.widget_page_navigation.persona_profile_tab_widget > :is(.public_widget_content, .widget_content) {
    padding: 0 !important;
    overflow: hidden !important;
}

:is(
    .page_content_wrapper.persona_profile_page,
    .persona_full_view_dialog
) .public_widget.widget_page_navigation.persona_profile_tab_widget .platform_page_menu_items {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
    gap: 0.15rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border: 0 !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    white-space: nowrap !important;
}

.page_content_wrapper.persona_profile_page
    .public_widget.widget_page_navigation.persona_profile_tab_widget,
.page_content_wrapper.persona_profile_page
    .public_widget.widget_page_navigation.persona_profile_tab_widget > :is(.public_widget_content, .widget_content),
.page_content_wrapper.persona_profile_page
    .public_widget.widget_page_navigation.persona_profile_tab_widget .platform_page_menu_items {
    background-color: var(--primary-color);
    background-image: none;
}

.persona_full_view_dialog
    .public_widget.widget_page_navigation.persona_profile_tab_widget,
.persona_full_view_dialog
    .public_widget.widget_page_navigation.persona_profile_tab_widget > :is(.public_widget_content, .widget_content),
.persona_full_view_dialog
    .public_widget.widget_page_navigation.persona_profile_tab_widget .platform_page_menu_items {
    background-color: color-mix(in srgb, var(--primary-color) 40%, transparent);
}

:is(
    .page_content_wrapper.persona_profile_page,
    .persona_full_view_dialog
) .public_widget.widget_page_navigation.persona_profile_tab_widget .platform_page_menu_items > .widget_navigation_button {
    display: flex !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 2rem !important;
    padding: 0.3rem 0.4rem !important;
    justify-content: center !important;
    font-size: var(--font-sm) !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;
}





/* Widget containment must preserve the approved compact date-part sizes. */
:is(.public_widget,.widget_card) select.date_part_month_control,
:is(.public_widget,.widget_card) select.date_part_day_control {
    flex: 0 0 4.5rem;
    width: 4.5rem;
    min-width: 4.5rem;
    max-width: 4.5rem;
}

:is(.public_widget,.widget_card) select.date_part_year_control {
    flex: 0 0 6rem;
    width: 6rem;
    min-width: 6rem;
    max-width: 6rem;
}
