/* ==========================================================
   WS Core — Entity Base
   Base compartida para entity blocks
   Theme-friendly / Gutenberg-friendly / FSE-friendly
   ========================================================== */

:root {
    --ws-theme-color-text: var(--wp--preset--color--contrast, var(--wp--preset--color--text, currentColor));
    --ws-theme-color-background: var(--wp--preset--color--base, var(--wp--preset--color--white, transparent));
    --ws-theme-color-primary: var(--wp--preset--color--primary, var(--wp--preset--color--accent, currentColor));
    --ws-theme-color-muted: color-mix(in srgb, currentColor 68%, transparent);
    --ws-theme-border-color: color-mix(in srgb, currentColor 14%, transparent);
    --ws-theme-border-color-strong: color-mix(in srgb, currentColor 22%, transparent);
    --ws-theme-surface: var(--wp--preset--color--base, transparent);
    --ws-theme-surface-soft: color-mix(in srgb, currentColor 4%, transparent);
    --ws-theme-surface-strong: color-mix(in srgb, currentColor 8%, transparent);
    --ws-theme-font-family: var(--wp--preset--font-family--body, inherit);
    --ws-theme-font-heading: var(--wp--preset--font-family--heading, inherit);
    --ws-theme-font-size: inherit;
    --ws-theme-line-height: inherit;
    --ws-theme-block-gap: var(--wp--style--block-gap, var(--wp--preset--spacing--40, 1rem));

    --ws-entity-radius: 0;
    --ws-entity-radius-sm: 0;
    --ws-entity-radius-lg: 0;

    --ws-entity-border-color: var(--ws-theme-border-color);
    --ws-entity-border-color-strong: var(--ws-theme-border-color-strong);

    --ws-entity-surface: var(--ws-theme-surface);
    --ws-entity-surface-soft: var(--ws-theme-surface-soft);
    --ws-entity-surface-strong: var(--ws-theme-surface-strong);

    --ws-entity-shadow-sm: none;
    --ws-entity-shadow-md: none;

    --ws-entity-gap-2xs: var(--wp--preset--spacing--10, .25rem);
    --ws-entity-gap-xs: var(--wp--preset--spacing--20, .5rem);
    --ws-entity-gap-sm: var(--wp--preset--spacing--30, .75rem);
    --ws-entity-gap-md: var(--ws-theme-block-gap);
    --ws-entity-gap-lg: var(--wp--preset--spacing--50, 1.5rem);
    --ws-entity-gap-xl: var(--wp--preset--spacing--60, 2rem);

    --ws-entity-pad-xs: var(--wp--preset--spacing--20, .65rem);
    --ws-entity-pad-sm: var(--wp--preset--spacing--30, .875rem);
    --ws-entity-pad-md: var(--wp--preset--spacing--40, 1rem);
    --ws-entity-pad-lg: var(--wp--preset--spacing--50, 1.25rem);
    --ws-entity-pad-xl: var(--wp--preset--spacing--60, 1.5rem);

    --ws-entity-max-width: 100%;
    --ws-entity-button-radius: 0;
    --ws-entity-badge-radius: 0;

    --ws-entity-media-ratio: 16 / 9;
    --ws-entity-title-line-height: var(--wp--custom--line-height--heading, 1.15);
    --ws-entity-text-line-height: var(--wp--custom--line-height--body, inherit);
}

/* ==========================================================
   Reset suave para wrappers de entity blocks
   ========================================================== */

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) {
    color: inherit;
    background: transparent;
    font-family: var(--ws-theme-font-family);
    font-size: var(--ws-theme-font-size);
    line-height: var(--ws-theme-line-height);
    border-radius: 0;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, figure) {
    color: inherit;
    font-family: inherit;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(a) {
    color: inherit;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(button, input, select, textarea) {
    font: inherit;
    color: inherit;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(.wp-element-button, .wp-block-button__link) {
    border-radius: 0;
    font-family: inherit;
}


[class*="ws-"][class*="__"],
[class^="ws-"] {
    box-sizing: border-box;
}

:where([class^="ws-"], [class*=" ws-"]) {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    border-radius: 0;
}

:where([class^="ws-"], [class*=" ws-"]) :where(a, button, input, select, textarea) {
    font: inherit;
    color: inherit;
}


[class^="ws-entity"],
[class*=" ws-entity"],
[class^="ws-articulo"],
[class^="ws-libro"],
[class^="ws-congreso"],
[class^="ws-simposio"],
[class^="ws-trabajo"],
[class^="ws-curso"],
[class^="ws-comite"] {
    min-width: 0;
    max-width: var(--ws-entity-max-width, 100%);
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) {
    box-sizing: border-box;
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow-wrap: anywhere;
}

[class^="ws-articulo"] *,
[class^="ws-libro"] *,
[class^="ws-congreso"] *,
[class^="ws-simposio"] *,
[class^="ws-trabajo"] *,
[class^="ws-curso"] *,
[class^="ws-comite"] * {
    min-width: 0;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) *,
:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) *::before,
:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) *::after {
    box-sizing: border-box;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(img, video, iframe, canvas, svg) {
    max-inline-size: 100%;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(img, video, canvas, svg) {
    block-size: auto;
}

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) :where(table) {
    display: block;
    max-inline-size: 100%;
    overflow-x: auto;
    border-spacing: 0;
}

/* ==========================================================
   Helpers de layout base
   ========================================================== */

.ws-entity-layout-stack {
    display: grid;
    gap: var(--ws-entity-gap-md);
}

.ws-entity-layout-grid {
    display: grid;
    gap: var(--ws-entity-gap-md);
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ws-entity-layout-split {
    display: grid;
    gap: var(--ws-entity-gap-lg);
    grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
    align-items: start;
}

.ws-entity-layout-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ws-entity-gap-sm);
}

@media (max-width: 900px) {
    .ws-entity-layout-split {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   Card base
   ========================================================== */

.ws-entity-card {
    display: grid;
    gap: var(--ws-entity-gap-md);
    padding: var(--ws-entity-pad-md);
    border: 1px solid var(--ws-entity-border-color);
    border-radius: 0;
    background: var(--ws-entity-surface);
}

.ws-entity-card--soft {
    background: var(--ws-entity-surface-soft);
}

.ws-entity-card--strong {
    background: var(--ws-entity-surface-strong);
    border-color: var(--ws-entity-border-color-strong);
}

.ws-entity-card--shadow {
    box-shadow: var(--ws-entity-shadow-sm);
}

.ws-entity-card--compact {
    gap: var(--ws-entity-gap-sm);
    padding: var(--ws-entity-pad-sm);
}

.ws-entity-card--spacious {
    gap: var(--ws-entity-gap-lg);
    padding: var(--ws-entity-pad-lg);
}

/* ==========================================================
   Titles / text
   ========================================================== */

.ws-entity-kicker {
    margin: 0;
    font-size: .92em;
    font-weight: 600;
    line-height: 1.3;
    opacity: .82;
}

.ws-entity-title {
    margin: 0;
    font-family: var(--ws-theme-font-heading);
    line-height: var(--ws-entity-title-line-height);
    overflow-wrap: anywhere;
}

.ws-entity-title a {
    color: inherit;
    text-decoration: none;
}

.ws-entity-title a:hover,
.ws-entity-title a:focus {
    text-decoration: underline;
    text-underline-offset: .12em;
}

.ws-entity-subtitle {
    margin: 0;
    font-size: 1em;
    line-height: 1.4;
    opacity: .9;
    overflow-wrap: anywhere;
}

.ws-entity-description,
.ws-entity-text {
    margin: 0;
    line-height: var(--ws-entity-text-line-height);
    overflow-wrap: anywhere;
}

.ws-entity-description>*:first-child,
.ws-entity-text>*:first-child {
    margin-top: 0;
}

.ws-entity-description>*:last-child,
.ws-entity-text>*:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   Media
   ========================================================== */

.ws-entity-media {
    position: relative;
    overflow: hidden;
    border-radius: 0;
}

.ws-entity-media--ratio {
    aspect-ratio: var(--ws-entity-media-ratio, 16 / 9);
}

.ws-entity-media img,
.ws-entity-media video,
.ws-entity-media iframe {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.ws-entity-media--cover img,
.ws-entity-media--cover video,
.ws-entity-media--cover iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ws-entity-media-placeholder {
    display: grid;
    place-items: center;
    min-height: 180px;
    border: 1px dashed var(--ws-entity-border-color);
    border-radius: 0;
    opacity: .75;
    padding: var(--ws-entity-pad-md);
    text-align: center;
}

.ws-block-image-placeholder {
    display: grid;
    place-items: center;
    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--wp--preset--color--contrast, currentColor) 10%, transparent),
            color-mix(in srgb, var(--wp--preset--color--contrast, currentColor) 4%, transparent)
        ),
        var(--wp--preset--color--base, transparent);
}

.ws-block-image-placeholder__img {
    width: min(56%, 220px) !important;
    height: auto !important;
    max-width: 220px !important;
    max-height: 70% !important;
    object-fit: contain !important;
    margin: auto;
}

.ws-block-image-placeholder > .ws-block-image-placeholder__img {
    align-self: center;
    justify-self: center;
}

/* ==========================================================
   Badges / pills
   ========================================================== */

.ws-entity-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .5rem;
}

.ws-entity-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2em;
    padding: .2rem .6rem;
    border: 1px solid var(--ws-entity-border-color);
    border-radius: 0;
    background: transparent;
    font-size: .85em;
    line-height: 1.2;
    white-space: nowrap;
}

.ws-entity-badge--soft {
    background: var(--ws-entity-surface-soft);
}

.ws-entity-badge--strong {
    background: var(--ws-entity-surface-strong);
    border-color: var(--ws-entity-border-color-strong);
}

.ws-entity-badge--success {
    border-color: color-mix(in srgb, green 30%, transparent);
}

.ws-entity-badge--warning {
    border-color: color-mix(in srgb, orange 35%, transparent);
}

.ws-entity-badge--danger {
    border-color: color-mix(in srgb, red 35%, transparent);
}

.ws-entity-badge--info {
    border-color: color-mix(in srgb, blue 30%, transparent);
}

/* ==========================================================
   Meta rows / definition lists
   ========================================================== */

.ws-entity-meta {
    display: grid;
    gap: var(--ws-entity-gap-xs);
}

.ws-entity-meta--inline {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
}

.ws-entity-meta-item {
    overflow-wrap: anywhere;
}

.ws-entity-meta-label {
    font-weight: 600;
}

.ws-entity-meta-value {
    opacity: .96;
}

.ws-entity-data-list {
    display: grid;
    gap: .55rem;
}

.ws-entity-data-row {
    display: grid;
    grid-template-columns: minmax(110px, 180px) minmax(0, 1fr);
    gap: .5rem .85rem;
    align-items: start;
}

.ws-entity-data-row dt,
.ws-entity-data-row .ws-entity-data-label {
    margin: 0;
    font-weight: 600;
}

.ws-entity-data-row dd,
.ws-entity-data-row .ws-entity-data-value {
    margin: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .ws-entity-data-row {
        grid-template-columns: 1fr;
        gap: .15rem;
    }
}

/* ==========================================================
   Sections
   ========================================================== */

.ws-entity-sections {
    display: grid;
    gap: var(--ws-entity-gap-md);
}

.ws-entity-sections--grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ws-entity-section {
    display: grid;
    gap: var(--ws-entity-gap-sm);
    padding: var(--ws-entity-pad-md);
    border: 1px solid var(--ws-entity-border-color);
    border-radius: 0;
    background: transparent;
}

.ws-entity-section-title {
    margin: 0;
    line-height: 1.2;
}

/* ==========================================================
   Lists / collection items
   ========================================================== */

.ws-entity-list {
    display: grid;
    gap: var(--ws-entity-gap-md);
}

.ws-entity-list--grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ws-entity-list--stack {
    grid-template-columns: 1fr;
}

.ws-entity-item {
    display: grid;
    gap: var(--ws-entity-gap-sm);
    min-width: 0;
}

.ws-entity-item-main {
    display: grid;
    gap: var(--ws-entity-gap-xs);
}

.ws-entity-item-title {
    margin: 0;
    line-height: 1.15;
}

.ws-entity-item-title a {
    color: inherit;
    text-decoration: none;
}

.ws-entity-item-title a:hover,
.ws-entity-item-title a:focus {
    text-decoration: underline;
    text-underline-offset: .12em;
}

/* ==========================================================
   Files / documents
   ========================================================== */

.ws-entity-files {
    display: grid;
    gap: var(--ws-entity-gap-sm);
}

.ws-entity-file {
    display: grid;
    gap: var(--ws-entity-gap-xs);
    padding: var(--ws-entity-pad-sm);
    border: 1px solid var(--ws-entity-border-color);
    border-radius: 0;
}

.ws-entity-file-name,
.ws-entity-file-title {
    margin: 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ws-entity-file-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .75rem;
    font-size: .92em;
    opacity: .9;
}

/* ==========================================================
   Actions / buttons
   ========================================================== */

.ws-entity-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.ws-entity-actions--stack {
    display: grid;
    gap: .65rem;
}

.ws-entity-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.75rem;
    max-width: 100%;
    padding: .65rem 1rem;
    border: 1px solid currentColor;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1.2;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition:
        transform .12s ease,
        opacity .12s ease,
        background-color .12s ease,
        border-color .12s ease;
}

.ws-entity-button:hover,
.ws-entity-button:focus-visible {
    text-decoration: none;
    opacity: .96;
    transform: translateY(-1px);
}

.ws-entity-button:active {
    transform: translateY(0);
}

.ws-entity-button--primary {
    font-weight: 600;
}

.ws-entity-button--soft {
    background: var(--ws-entity-surface-soft);
}

.ws-entity-button--strong {
    background: var(--ws-entity-surface-strong);
}

.ws-entity-button[aria-disabled="true"],
.ws-entity-button.is-disabled {
    pointer-events: none;
    opacity: .55;
}

/* ==========================================================
   Empty / messages
   ========================================================== */

.ws-entity-empty,
.ws-entity-message {
    padding: var(--ws-entity-pad-md);
    border: 1px dashed var(--ws-entity-border-color);
    border-radius: 0;
    opacity: .86;
}

.ws-entity-message--soft {
    background: var(--ws-entity-surface-soft);
}

.ws-entity-message--warning {
    border-color: color-mix(in srgb, orange 35%, transparent);
}

.ws-entity-message--success {
    border-color: color-mix(in srgb, green 35%, transparent);
}

.ws-entity-message--danger {
    border-color: color-mix(in srgb, red 35%, transparent);
}

/* ==========================================================
   Access states
   ========================================================== */

.ws-entity-access {
    display: grid;
    gap: var(--ws-entity-gap-sm);
}

.ws-entity-access-state {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .7rem;
    border: 1px solid var(--ws-entity-border-color);
    border-radius: 0;
    width: fit-content;
    max-width: 100%;
    font-size: .9em;
}

.ws-entity-access-state--granted {
    border-color: color-mix(in srgb, green 35%, transparent);
}

.ws-entity-access-state--locked {
    border-color: color-mix(in srgb, orange 35%, transparent);
}

.ws-entity-access-state--expired {
    border-color: color-mix(in srgb, red 35%, transparent);
}

.ws-entity-access-state--preview {
    border-color: color-mix(in srgb, blue 35%, transparent);
}

/* ==========================================================
   Utility helpers
   ========================================================== */

.ws-entity-align-left {
    text-align: left;
}

.ws-entity-align-center {
    text-align: center;
}

.ws-entity-align-right {
    text-align: right;
}

.ws-entity-align-center .ws-entity-badges,
.ws-entity-align-center .ws-entity-actions,
.ws-entity-align-center .ws-entity-file-meta {
    justify-content: center;
}

.ws-entity-align-right .ws-entity-badges,
.ws-entity-align-right .ws-entity-actions,
.ws-entity-align-right .ws-entity-file-meta {
    justify-content: flex-end;
}

.ws-entity-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ws-entity-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ws-entity-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ==========================================================
   Focus visible
   ========================================================== */

.ws-entity-button:focus-visible,
.ws-entity-title a:focus-visible,
.ws-entity-item-title a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ==========================================================
   Accessibility and motion
   ========================================================== */

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"])[id] {
    scroll-margin-block-start: var(--wp-admin--admin-bar--height, 2rem);
}

@media (prefers-reduced-motion: reduce) {
    :where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]),
    :where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) *,
    :where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) *::before,
    :where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}

/* Theme colors are inherited from the active WordPress theme. */

/* ==========================================================
   Gutenberg native styles (theme.json / panel Estilos)
   Las clases e inline styles del style engine mandan sobre
   el look por defecto del bloque, en cualquier tema.
   ========================================================== */

:where([class^="wp-block-ws-"], [class*=" wp-block-ws-"], [class^="wp-block-ws-core-"], [class*=" wp-block-ws-core-"]) {
    --ws-gutenberg-link: var(--wp--style--color--link, var(--ws-theme-color-primary));
}

[class*="wp-block-ws-"].has-text-color,
[class*="wp-block-ws-core-"].has-text-color {
    color: inherit;
}

[class*="wp-block-ws-"].has-text-color :where(h1, h2, h3, h4, h5, h6, p, li, small, strong, em, dt, dd, figcaption, span, a, button),
[class*="wp-block-ws-core-"].has-text-color :where(h1, h2, h3, h4, h5, h6, p, li, small, strong, em, dt, dd, figcaption, span, a, button) {
    color: inherit;
}

[class*="wp-block-ws-"].has-background,
[class*="wp-block-ws-core-"].has-background {
    background-clip: padding-box;
}

[class*="wp-block-ws-"].has-link-color a,
[class*="wp-block-ws-core-"].has-link-color a {
    color: var(--ws-gutenberg-link);
}

[class*="wp-block-ws-"].has-font-family,
[class*="wp-block-ws-"].has-font-family :where(h1, h2, h3, h4, h5, h6, p, li, a, button, span, input, select, textarea),
[class*="wp-block-ws-core-"].has-font-family,
[class*="wp-block-ws-core-"].has-font-family :where(h1, h2, h3, h4, h5, h6, p, li, a, button, span, input, select, textarea) {
    font-family: inherit;
}

[class*="wp-block-ws-"].has-font-size :where(p, li, span, a, small, button),
[class*="wp-block-ws-core-"].has-font-size :where(p, li, span, a, small, button) {
    font-size: inherit;
}

[class*="wp-block-ws-"].has-border-color,
[class*="wp-block-ws-core-"].has-border-color {
    border-color: inherit;
}

[class*="wp-block-ws-"].has-border-color :where([class*="__card"], [class*="__item"], [class*="__shell"], [class*="__section"], [class*="__file"], [class*="__badge"]),
[class*="wp-block-ws-core-"].has-border-color :where([class*="__card"], [class*="__item"], [class*="__shell"], [class*="__section"], [class*="__file"], [class*="__badge"]) {
    border-color: inherit;
}

[class*="wp-block-ws-"].has-custom-font-size,
[class*="wp-block-ws-core-"].has-custom-font-size {
    line-height: inherit;
}

[class*="wp-block-ws-"].is-position-sticky,
[class*="wp-block-ws-core-"].is-position-sticky {
    z-index: 10;
}

[class*="wp-block-ws-"][class*="has-shadow"],
[class*="wp-block-ws-core-"][class*="has-shadow"] {
    isolation: isolate;
}

[class*="wp-block-ws-"].has-text-align-left,
[class*="wp-block-ws-core-"].has-text-align-left {
    text-align: left;
}

[class*="wp-block-ws-"].has-text-align-center,
[class*="wp-block-ws-core-"].has-text-align-center {
    text-align: center;
}

[class*="wp-block-ws-"].has-text-align-right,
[class*="wp-block-ws-core-"].has-text-align-right {
    text-align: right;
}

[class*="wp-block-ws-"] :where([class*="__button"], [class*="__btn"], [class*="__cta"]),
[class*="wp-block-ws-core-"] :where([class*="__button"], [class*="__btn"], [class*="__cta"]) {
    font-family: inherit;
    font-size: inherit;
    border-radius: inherit;
}

[class*="wp-block-ws-"] :where([class*="__button--primary"], [class*="__btn--primary"]),
[class*="wp-block-ws-core-"] :where([class*="__button--primary"], [class*="__btn--primary"]) {
    background: var(--wp--preset--color--primary, var(--ws-theme-color-primary, currentColor));
    color: var(--wp--preset--color--base, var(--ws-theme-color-background, #fff));
    border-color: transparent;
}

[class*="wp-block-ws-"] :where([class*="__button--secondary"], [class*="__btn--secondary"]),
[class*="wp-block-ws-core-"] :where([class*="__button--secondary"], [class*="__btn--secondary"]) {
    background: transparent;
    color: inherit;
    border-color: currentColor;
}

[class*="wp-block-ws-"].has-button-color :where([class*="__button--primary"], [class*="__btn--primary"]),
[class*="wp-block-ws-core-"].has-button-color :where([class*="__button--primary"], [class*="__btn--primary"]) {
    background: var(--wp--style--color--button, var(--wp--preset--color--primary, currentColor));
    color: var(--wp--preset--color--base, #fff);
}
