/*
Theme Name: gai
*/

/* ==========================================================================
    Adapted From Ollie
   ========================================================================== */

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

b,
strong {
    font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
    padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
    padding-inline-start: var(--wp--preset--spacing--medium);
}

div[class*="wp-block-"] figcaption {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--x-small);
    margin-bottom: 0;
    margin-top: 20px;
    text-align: center;
}

img,
figure {
    max-width: 100%;
    height: auto;
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
    font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
    -webkit-appearance: none;
}

input:not([type="submit"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
    color: var(--wp--preset--color--main);
    border-radius: 5px;
    border: solid 1px var(--wp--preset--color--main-accent);
    padding: 0.5em 1em;
    font-size: var(--wp--preset--font-size--small);
}

input:focus-visible,
textarea:focus-visible {
    outline-color: var(--wp--preset--color--primary);
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
    width: auto;
}

label {
    width: 100%;
    display: block;
}

::placeholder {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--small);
    opacity: 0.75;
}

/* Helper styles that can't be done via theme.json
---------------------------------------------------------------------------- */

a.more-link {
    display: block;
}

/* Inline code */
*:not(.wp-block-code) > code {
    background-color: var(--wp--preset--color--tertiary);
    font-weight: var(--wp--custom--font-weight--medium);
    padding: 3px 5px;
    position: relative;
    border-radius: 3px;
}

/* Adjust terms at bottom of posts */
.single .wp-block-group .wp-block-post-terms,
.blog .wp-block-group .wp-block-post-terms {
    margin-bottom: -8px !important;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
    margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
    display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
    display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
    display: none;
}

.row-logos > figure {
    flex-shrink: 1 !important;
}

/* ==========================================================================
   Additional Styles
   ========================================================================== */

/* Variables
---------------------------------------------------------------------------- */

:root {
    --transition: 0.15s ease-in-out;
    --transition-slow: 0.3s ease-in-out;
}

/* Scrolling
---------------------------------------------------------------------------- */

html {
    scroll-behavior: smooth;
}

/* assuming header is fixed, add scroll offset based on header height + some spacing */
:target {
    scroll-margin-top: calc(var(--site-header--height-pinned) + var(--wp--preset--spacing--medium));
}

/* Typography
---------------------------------------------------------------------------- */

b,
strong {
    font-weight: var(--wp--custom--font-weight--bold);
}

/* Buttons
---------------------------------------------------------------------------- */

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    border: 2px solid transparent;
}

body .wp-block-button__link,
body .wp-element-button {
    border-radius: 0;
    padding: 0.334em 1em;
    transition: all var(--transition);
}

.wp-block-button__link:hover,
.wp-element-button:hover {
    filter: brightness(110%);
}

.wp-block-button.is-style-button-plus .wp-block-button__link,
.wp-block-button.is-style-button-plus .wp-element-button {
    align-items: center;
    background-color: transparent !important;
    border: 0;
    color: inherit;
    padding: 0;
    padding-right: 1.5em;
    text-align: left;
}

.wp-block-button.is-style-button-plus:hover .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-button-plus:hover .wp-element-button:not(.has-text-color) {
    color: var(--wp--preset--color--main-accent);
}

.wp-block-button.is-style-button-plus .wp-block-button__link::after,
.wp-block-button.is-style-button-plus .wp-element-button::after {
    content: " +";
    display: inline-block;
    margin-right: -1.5em;
    padding: 0 0.5em;
    transition: transform var(--transition-slow);
}

.wp-block-button.is-style-button-plus:hover .wp-block-button__link::after,
.wp-block-button.is-style-button-plus:hover .wp-element-button::after {
    transform: rotate(180deg);
}

/* Captions
---------------------------------------------------------------------------- */

div[class*="wp-block-"] figcaption {
    color: var(--wp--preset--color--main);
    margin-top: var(--wp--preset--spacing--x-small);
    text-align: left;
}
