/*
Font family:
--ANUWD-01-variables-button-font-family
--ANUWD-01-variables-button-font-size
--ANUWD-01-variables-button-font-weight

Focus ring variables (for accessibility) off by default:
--ANUWD-01-variables-primary-focous-ring-thickness
--ANUWD-01-variables-primary-focous-ring-colour

Button width, height, radius(scale), scale:
--ANUWD-01-variables-button-width
--ANUWD-01-variables-button-height
--ANUWD-01-variables-button-border-radius-scale
--ANUWD-01-variables-component-scale 

Icon settings
--ANUWD-01-variables-icon-size
--ANUWD-01-variables-icon-filter
*/

/* Root base variables */
:root {
    /* Set light theme variables */
    --ANUWD-01-variables-primary-colour: rgb(220, 220, 220);
    --ANUWD-01-variables-primary-button-text-colour: #242424;
    --ANUWD-01-variables-primary-button-inner-shadow: rgba(0, 0, 0, 0.15);
    --ANUWD-01-variables-icon-filter: invert(0.9);
}

@media (prefers-color-scheme: dark) {
    :root {
        --ANUWD-01-variables-primary-colour: #464646;
        --ANUWD-01-variables-primary-button-text-colour: #ffffff;
        --ANUWD-01-variables-icon-filter: invert(0);
    }
}

/* Scoped override */
[data-ANUWD-01-theme="light"] {
    --ANUWD-01-variables-primary-colour: rgb(220, 220, 220);
    --ANUWD-01-variables-primary-button-text-colour: #242424;
    --ANUWD-01-variables-icon-filter: invert(0.9);
}

[data-ANUWD-01-theme="dark"] {
    --ANUWD-01-variables-primary-colour: #464646;
    --ANUWD-01-variables-primary-button-text-colour: #ffffff;
    --ANUWD-01-variables-icon-filter: invert(0);
}

.ANUWD-01-ui-action-navigation-primary-buttons-icon-button {
    display: inline-block;
    width: calc(var(--ANUWD-01-variables-button-width, auto) * var(--ANUWD-01-variables-component-scale, 1));
    height: calc(var(--ANUWD-01-variables-button-height, auto) * var(--ANUWD-01-variables-component-scale, 1));
    padding: calc(12px * var(--ANUWD-01-variables-component-scale, 1)) calc(20px * var(--ANUWD-01-variables-component-scale, 1));
    border: none;
    border-radius: calc(var(--ANUWD-01-variables-button-border-radius-scale, 15px) * var(--ANUWD-01-variables-component-scale, 1));
    background-color: var(--ANUWD-01-variables-primary-colour);
    color: var(--ANUWD-01-variables-primary-button-text-colour);
    cursor: pointer;

    box-shadow:
        0px calc(1px * var(--ANUWD-01-variables-component-scale, 1)) calc(15px * var(--ANUWD-01-variables-component-scale, 1)) rgba(0, 0, 0, 0.12),
        inset 0px calc(-1.5px * var(--ANUWD-01-variables-component-scale, 1)) calc(2.5px * var(--ANUWD-01-variables-component-scale, 1)) var(--ANUWD-01-variables-primary-button-inner-shadow);

    transition: background-color 0.15s, filter 0.15s, transform 0.2s, box-shadow 0.2s, outline 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(6px * var(--ANUWD-01-variables-component-scale, 1));

    /* Prevent odd text/button highlighting and selecting */
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    touch-action: manipulation;
    -webkit-touch-callout: none;
}

.ANUWD-01-ui-action-navigation-primary-buttons-icon-button-image img {
    height: calc(var(--ANUWD-01-variables-icon-size, 24px) * var(--ANUWD-01-variables-component-scale, 1));
    width: auto;
    transition: fill 0.2s;
    display: block;
}

.ANUWD-01-ui-action-navigation-primary-buttons-icon-button-text {
    font-size: calc(var(--ANUWD-01-variables-button-font-size, 1rem) * var(--ANUWD-01-variables-component-scale, 1));
    font-family: var(--ANUWD-01-variables-button-font-family, 'Arial', sans-serif);
    font-weight: var(--ANUWD-01-variables-button-font-weight, bold);
    color: var(--ANUWD-01-variables-primary-button-text-colour);
}

.ANUWD-01-ui-action-navigation-primary-buttons-icon-button-image img {
    height: calc(var(--ANUWD-01-variables-icon-size, 24px) * var(--ANUWD-01-variables-component-scale, 1));
    width: auto;
    transition: fill 0.2s;
    display: block;
    filter: var(--ANUWD-01-variables-icon-filter);
}

.ANUWD-01-ui-action-navigation-primary-buttons-icon-button[data-ANUWD-01-icon-colour-filter-type="none"] img {
    filter: invert(0);
}

/* Focus state */
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:focus {
    outline: calc(var(--ANUWD-01-variables-primary-focous-ring-thickness, 0) * var(--ANUWD-01-variables-component-scale, 1)) solid var(--ANUWD-01-variables-primary-focous-ring-colour, #0c72ff);
    outline-offset: calc(4px * var(--ANUWD-01-variables-component-scale, 1));
}

/* Hover state */
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:hover,
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:focus {
    box-shadow:
        0px calc(0px * var(--ANUWD-01-variables-component-scale, 1)) calc(16px * var(--ANUWD-01-variables-component-scale, 1)) rgba(0, 0, 0, 0.12),
        inset 0px calc(-1px * var(--ANUWD-01-variables-component-scale, 1)) calc(2.5px * var(--ANUWD-01-variables-component-scale, 1)) rgba(0, 0, 0, 0.15);
    filter: brightness(1.03);
    transform: translateY(calc(-0.5px * var(--ANUWD-01-variables-component-scale, 1)));
}

/* Active state */
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:active {
    box-shadow:
        0px calc(1px * var(--ANUWD-01-variables-component-scale, 1)) calc(13px * var(--ANUWD-01-variables-component-scale, 1)) rgba(0, 0, 0, 0.12),
        inset 0px calc(-1.5px * var(--ANUWD-01-variables-component-scale, 1)) calc(2px * var(--ANUWD-01-variables-component-scale, 1)) rgba(0, 0, 0, 0.15);
    /* bottom highlight */
    filter: brightness(0.97);
    transform: translateY(calc(1px * var(--ANUWD-01-variables-component-scale, 1)));
}

/* Disabled state */
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:disabled {
    opacity: 0.65;
    cursor: not-allowed;

}

.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:disabled:hover,
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:disabled:focus,
.ANUWD-01-ui-action-navigation-primary-buttons-icon-button:disabled:active {
    transform: none;
    filter: none;
}