.btn,
form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--fs-base);
    padding: 0.85rem 1.75rem;
    border-radius: var(--radius-md);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all var(--t-base);
    text-align: center;
    white-space: nowrap;
    line-height: 1;
}

.btn i {
    font-size: 0.9em;
    transition: transform var(--t-base);
}

.btn:hover i {
    transform: translateX(4px);
}

.btn--primary {
    background: var(--color-gold-500);
    color: var(--color-navy-900);
    border-color: var(--color-gold-500);
}

.btn--primary:hover {
    background: var(--color-gold-600);
    border-color: var(--color-gold-600);
    box-shadow: var(--shadow-gold);
    transform: translateY(-2px);
}

.btn--primary:hover {
    color: var(--color-navy-900);
}

.btn--secondary:hover,
.btn--ghost:hover {
    color: var(--color-white);
}

form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style) {
    background: var(--color-gold-500) !important;
    color: var(--color-navy-900) !important;
    border-color: var(--color-gold-500) !important;
}

form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style):hover {
    background: var(--color-gold-600) !important;
    border-color: var(--color-gold-600) !important;
    box-shadow: var(--shadow-gold) !important;
    transform: translateY(-2px) !important;
}

.btn--secondary {
    background: var(--color-navy-900);
    color: var(--color-white);
    border-color: var(--color-navy-900);
}

.btn--secondary:hover {
    background: var(--color-navy-700);
    border-color: var(--color-navy-700);
    transform: translateY(-2px);
}

.btn--ghost {
    background: transparent;
    color: var(--color-white);
    border-color: rgba(255, 255, 255, 0.4);
}

.btn--ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--color-white);
}

.btn--white {
    background: var(--color-white);
    color: var(--color-navy-900);
    border-color: var(--color-white);
}

.btn--white:hover {
    background: var(--color-gold-500);
    border-color: var(--color-gold-500);
    transform: translateY(-2px);
}

.btn--outline-white {
    background: transparent;
    color: var(--color-white);
    border-color: var(--color-white);
}

.btn--outline-white:hover {
    background: var(--color-white);
    color: var(--color-navy-900);
}

.btn--lg {
    padding: 1.1rem 2.25rem;
    font-size: var(--fs-md);
}

.btn--full {
    width: 100%;
}

.logo-mark {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    text-decoration: none;
}

.logo-mark__bolt {
    width: 46px;
    height: 46px;
    background: var(--color-gold-500);
    color: var(--color-navy-900);
    display: grid;
    place-items: center;
    border-radius: var(--radius-md);
    font-size: 1.4rem;
    box-shadow: var(--shadow-gold);
    flex-shrink: 0;
}

.logo-mark__text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.logo-mark__name {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--color-navy-900);
    letter-spacing: -0.01em;
}

.logo-mark__tag {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.7rem;
    color: var(--color-gold-600);
    letter-spacing: 0.25em;
    margin-top: 2px;
}

.logo-mark--light .logo-mark__name {
    color: var(--color-white);
}

.logo-mark--light .logo-mark__tag {
    color: var(--color-gold-400);
}

/* --------------------------------------------------------------
   Elementor lists
   A list written in an Elementor widget carries the same tick
   icon at the left of every item as the theme's own feature
   lists. The reset strips the default markers, so without this
   the items read as plain paragraphs.

   Only the widgets that hold hand-written markup are targeted.
   The menu, icon-list and tabs widgets build their own lists and
   would end up with a second icon next to the one they draw.
   -------------------------------------------------------------- */
.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li,
.elementor-widget-html ul li,
.elementor-widget-html ol li,
.elementor-widget-shortcode ul li,
.elementor-widget-shortcode ol li {
    position: relative;
    padding-left: var(--space-6);
    margin-bottom: var(--space-2);
}

.elementor-widget-text-editor ul li::before,
.elementor-widget-text-editor ol li::before,
.elementor-widget-html ul li::before,
.elementor-widget-html ol li::before,
.elementor-widget-shortcode ul li::before,
.elementor-widget-shortcode ol li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 1.05em;
    height: 1.05em;
    background-color: var(--color-gold-600);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}
