/* ============================================
    LF — WORDPRESS ADDITIONS
    Things the static templates never had to style: WordPress core
    classes, the skip link, theme-only form states. Tokens only, same as
    the design files. Loaded after main.css on every page.
============================================ */

/* ---- Skip link ------------------------------------------------------ */
.lf-skip-link {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 1100;
    padding: 0.5rem 1rem;
    border-radius: var(--lf-radius-pill);
    background-color: var(--lf-purple);
    color: var(--lf-white);
}

/* ---- Core classes (theme review requirements) ----------------------- */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.alignleft {
    float: left;
    margin: 0.25rem 1.5rem 1rem 0;
}

.alignright {
    float: right;
    margin: 0.25rem 0 1rem 1.5rem;
}

.aligncenter {
    display: block;
    margin-inline: auto;
}

.wp-caption,
.gallery-caption {
    max-width: 100%;
    color: var(--lf-grey);
    font-size: var(--lf-fs-xs);
}

.sticky,
.bypostauthor {
    /* No special treatment in the design. */
}

/* ---- Pages ---------------------------------------------------------- */
.lf-page-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 2rem;
    font-weight: 700;
}

/* ---- Course cards: WooCommerce AJAX add-to-cart states --------------- */
.lf-ccard .add_to_cart_button.loading,
.lf-sb-price .add_to_cart_button.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* WooCommerce appends a "View cart" link after an AJAX add; the button
   itself turns into "View Cart" instead (inc/woocommerce.php). */
.lf-ccard .added_to_cart,
.lf-sb-hi-btns .added_to_cart,
.lf-sb-price .added_to_cart,
.lf-sb-float .added_to_cart,
.lf-sb-float-phone .added_to_cart,
.lf-sb-cmp .added_to_cart {
    display: none;
}

/* ---- Claim form ----------------------------------------------------- */
/* Honeypot: off-screen, not display:none, so bots still fill it in. */
.lf-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.lf-form-status {
    margin-bottom: 1.25rem;
    padding: 0.875rem 1rem;
    border-radius: var(--lf-radius);
    font-size: var(--lf-fs-sm);
}

.lf-form-status-ok {
    background-color: var(--lf-bg);
    color: var(--lf-green);
}

.lf-form-status-error {
    background-color: var(--lf-bg);
    color: var(--lf-red);
}

/* ---- Search pill on light pages (404) -------------------------------- */
.lf-404-search {
    max-width: 28rem;
}
