/* ==========================================================================
   01 — Base Styles
   --------------------------------------------------------------------------
   Global resets, element-level defaults, and broad structural helpers
   that apply across the entire site.
   ========================================================================== */


/* --- Utility --- */

.hidden-important {
    display: none !important;
}

.relative {
    position: relative;
}

.unordered-list-style {
    list-style: disc;
    padding-left: 1.25em;
}


/* --- Image Alignment (WordPress classic) --- */

img.alignright {
    float: right;
    margin: 0 0 1em;
    margin-inline-start: 2em;
    margin-inline-end: 0;
}

img.alignleft {
    float: left;
    margin: 1em 0 0;
    margin-inline-start: 0;
    margin-inline-end: 2em;
}


/* --- Content Lists (blog/post body) --- */

p + ul {
    margin-bottom: 1em;
}

main .content ul:not(.accordion):not(.menu) {
    list-style: disc outside;
    padding-top: 0;
    padding-left: 2em;
}

main .content ul:not(.accordion):not(.menu) li > ul {
    padding-left: 4em;
}

main .content ul:not(.accordion):not(.menu) li > ul > li {
    list-style: circle;
}

main .content ul:not(.accordion):not(.menu) li > ul > li > ul > li {
    list-style: disc;
}

main .content ul:not(.accordion):not(.menu) li > ul > li > ul > li > ul > li {
    list-style: circle;
}


/* --- Responsive Video (custom .responsive-video wrapper) --- */

.responsive-video {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    margin: 0 auto;
}

.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* --- Vimeo / WordPress Embed Block --- */

.wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
}

.wp-block-embed iframe {
    max-width: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border: 0;
}


/* --- Social Sharing (AddThis — blog posts only) --- */

body:not(.single-post) .a2a_floating_style {
    display: none;
}


/* --- GDPR Consent Popup --- */

.pi_tracking_opt_in_yes {
    font-size: 1em;
    background: #453cd3;
    border-radius: 0.3rem;
    padding: 0.1rem 0.5rem;
    color: #fff;
    -webkit-background-clip: initial;
    -webkit-text-stroke: 0;
    transition: 0.6s all;
    display: inline-flex;
}


/* ==========================================================================
   GLOBAL BUTTONS
   ========================================================================== */

/* Shared base */
.btn-primary,
.btn-primary--teal,
.btn-secondary,
.btn-secondary--dark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 22px;
    border-radius: 0.8rem;
    border-width: 0.3rem;
    border-style: solid;
    font-family: 'rift', sans-serif;
    font-weight: 600;
    font-size: inherit;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: 0.3s all;
    cursor: pointer;
}

/* Primary — blue */
.btn-primary {
    background: #3F33C7;
    color: #fff;
    border-color: #3F33C7;
}

.btn-primary:hover {
    background: #2e26a0;
    border-color: #2e26a0;
    color: #fff;
}

/* Primary — teal */
.btn-primary--teal {
    background: var(--color-teal);
    color: #000;
    border-color: var(--color-teal);
}

.btn-primary--teal:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

/* Secondary — white border (for dark backgrounds) */
.btn-secondary {
    background: none;
    color: #fff;
    border-color: #fff;
}

.btn-secondary:hover {
    background: #fff;
    color: #000;
}

/* Secondary — dark border (for light backgrounds) */
.btn-secondary--dark {
    background: none;
    color: #000;
    border-color: #000;
}

.btn-secondary--dark:hover {
    background: #000;
    color: #fff;
}
