/* ### Action card ###
- Called this way because it looks like a game card thing

Example of usage:
<div class="action-card">
    <span class="title">Header title</span>
    <div class="buttons">
        <button>Opt. 1</button>
        <button>Opt. 2</button>
        ...
    </div>
    <div class="detail">
        <span>Example of text</span>
        ... other elements 
    </div>
</div>

*/

.action-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--border_radius);
    box-shadow: 2px 2px 10px -5px hsla(0, 0%, 0%, 0.3);
    border: 1px solid black;
    position: relative;
    margin: 0;
    min-width: 19rem;
    flex: 1 0 22rem;
    transition: box-shadow 0.1s ease-in-out, transform 0.1s ease-in-out;
}
:not(.action-card) + .action-card {
    margin: 1rem 0;
}
.action-card * {
    margin: 0;
}
.action-card:hover,
.action-card:focus {
    box-shadow: 3px 3px 10px -3px hsla(0, 0%, 0%, 0.9);
    transform: translate(-1px, -1px);
    transition: box-shadow 0.1s ease-in-out, transform 0.1s ease-in-out;
}
.action-card > .title {
    width: 100%;
    text-transform: uppercase;
    display: block;
    text-align: center;
    padding: 0.4rem 0;
    text-decoration: underline;
    background: hsl(152, 100%, 94%);
    font-size: calc(1.4 * var(--multiplier_font));
    font-family: var(--font_sb);
    border-radius: var(--border_radius) var(--border_radius) 0 0;
    box-shadow: inset 0 5px 0.6rem 0 hsla(0, 0%, 30%, 0.1), inset 0 -7px 2rem -7px hsl(0, 0%, 100%);
}
.action-card > .title::before {
    content: attr(icon, "💠");
    position: absolute;
    font-size: var(--multiplier_font);
    left: var(--border_radius);
}
.action-card > .title::after {
    content: attr(icon, "💠");
    position: absolute;
    font-size: var(--multiplier_font);
    right: var(--border_radius);   
}
.action-card > .buttons {
    width: 100%;
    background: hsl(182, 25%, 50%);
    display: flex;
    flex-direction: row;
    white-space: nowrap;
    flex-wrap: wrap;
    padding: 0.3rem;
    gap: 0.2rem;
    border-top: 2px solid hsl(190, 65%, 20%);
    border-bottom: 2px solid hsl(190, 65%, 20%);
}
.action-card > .buttons button {
    padding: 0.2em 1.2em;
    flex: 1 0 auto;
    font-size: calc(0.9 * var(--multiplier_font));
    text-transform: uppercase;
    background: hsl(139, 11%, 33%);
    margin: 0;
}
.action-card > .buttons button.enabled,
.action-card > .buttons button:hover,
.action-card > .buttons button:focus {
    background: hsl(139, 18%, 62%);
}
.action-card > .buttons button:active {
    background: hsl(139, 18%, 53%);
}
.action-card > .detail {
    width: 100%;
    padding: 0.2rem 0.5rem;
    border-radius: 0 0 var(--border_radius) var(--border_radius);
    background: hsl(215, 75%, 92%);
    min-height: 1.5rem;
    flex: 1 0 auto;
}

/* # minimalist add-on */

.action-card.minimalist > .title {
    background: hsl(152, 0%, 90%);
    box-shadow: inset 0 5px 0.6rem 0 hsla(0, 0%, 30%, 0.1), inset 0 -7px 2rem -7px hsl(0, 0%, 100%);
}
.action-card.minimalist > .title::before {
    content: attr(icon, "🔲");
}
.action-card.minimalist > .title::after {
    content: attr(icon, "🔲");
}
.action-card.minimalist > .buttons button {
    background: hsl(152, 0%, 85%);
    color: black;
}
.action-card.minimalist > .buttons button.enabled,
.action-card.minimalist > .buttons button:hover,
.action-card.minimalist > .buttons button:focus {
    background: hsl(215, 0%, 95%);
}
.action-card.minimalist > .buttons button:active {
    background: hsl(152, 0%, 82%);
}
.action-card.minimalist > .buttons {
    background: hsl(215, 0%, 60%);
}
.action-card.minimalist > .detail {
    background: hsl(215, 0%, 92%);
}

/* # invalid add-on */

.action-card.invalid > .title {
    background: hsl(0, 40%, 80%);
    box-shadow: inset 0 5px 0.6rem 0 hsla(0, 0%, 30%, 0.1), inset 0 -7px 2rem -7px hsl(0, 0%, 100%);
}
.action-card.invalid > .title::before {
    content: attr(icon, "❌");
}
.action-card.invalid > .title::after {
    content: attr(icon, "❌");
}
.action-card.invalid > .buttons button {
    background: hsl(0, 40%, 75%);
    color: black;
}
.action-card.invalid > .buttons button.enabled,
.action-card.invalid > .buttons button:hover,
.action-card.invalid > .buttons button:focus {
    background: hsl(0, 40%, 85%);
}
.action-card.invalid > .buttons button:active {
    background: hsl(0, 40%, 72%);
}
.action-card.invalid > .buttons {
    background: hsl(0, 40%, 50%);
}
.action-card.invalid > .detail {
    background: hsl(0, 40%, 82%);
}



/* Star listing model */

.button-list {
    list-style-type: none;
    padding: 0.4rem 0 1.2rem 0;
    margin: 0;
}

.button-list > *::before {
    content: '⭐ ';
    text-shadow: 0.5px 0.5px 2px black;
}
.button-list > *:hover::before {
    content: '🌟 ';
}
.button-list > * {
    padding: 0.2rem 0.5rem;
}
.button-list > * a {
    text-decoration: underline;
    color: black;
}
.button-list > * a:hover {
    text-decoration: underline;
    /*color: blue;*/
}

.c-clickable {
    cursor: pointer;
}