/* colors */

h1,
h2 {
    color: #324d70;
}

/* buttons */

.button>p>a {
    box-shadow: 0px 4px 14px -7px #999999;
    background-color: white;
    border: 1px solid #bbbbbb;
    display: inline-block;
    cursor: pointer;
    color: #1066d6;
    /* font-weight: bold; */
    padding: 1em 1em;
    text-align: center;
    text-decoration: none;
    font-size: 140%;
    margin: 2%;
    width: 40%;
}

.button>p>a:hover {
    border-color: #324d70;
    color: #324d70;
}

.button>p>a:active {
    position: relative;
    top: 1px;
}

/* square, uniform card-top images */
.sd-card .sd-card-img-top.card-img-square {
    width: 200px;
    height: 200px;
    object-fit: contain;
    /* keep aspect ratio, no crop */
    margin-left: auto;
    /* center horizontally */
    margin-right: auto;
    display: block;
}

/* typography: global sizing + fine-grained tweaks */

/* Lower the global base size slightly; tweak if needed */
html,
:root {
    font-size: 15px;
    /* default ~16px; smaller overall typography */
}

/* Main article/content area */
.content,
.content>article,
.page,
.bd-article {
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Headings: reduce sizes for better hierarchy on small screens */
h1 {
    font-size: 2.0rem;
}

h2 {
    font-size: 1.6rem;
}

h3 {
    font-size: 1.3rem;
}

h4 {
    font-size: 1.15rem;
}

/* Sidebar navigation */
.sidebar-tree .reference {
    font-size: 0.95rem;
}

.sidebar-tree .caption {
    font-size: 0.9rem;
}

/* Cards (sphinx-design) */
.sd-card .sd-card-header,
.sd-card .sd-card-title {
    font-size: 1.1rem;
}

.sd-card .sd-card-body {
    font-size: 0.95rem;
}

/* Code blocks and inline code */
pre,
code,
.highlight pre,
.literal-block {
    font-size: 0.9rem;
}

/* Tables */
table.docutils,
.docutils .line-block {
    font-size: 0.95rem;
}