/* ==========================================================
   TEMPLATE HELPERS
   ========================================================== */
.sl-add-btn.is-added,
.woocommerce div.product form.cart .single_add_to_cart_button.is-added {
    background: var(--sl-sage);
    color: var(--sl-white);
    border-color: var(--sl-sage);
}

.sl-wc-notice__item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 4px 0;
}

.sl-wc-notice__icon { flex-shrink: 0; margin-top: 1px; }
.sl-wc-notice__text { min-width: 0; }

.sl-404 { padding: 96px 0; }

.sl-404__inner {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.sl-404__icon {
    margin-bottom: 16px;
    font-size: 64px;
    opacity: 0.25;
}

.sl-404__code {
    margin-bottom: 12px;
    font-family: var(--sl-font-display);
    font-size: 52px;
    font-weight: 400;
    line-height: 1.08;
    color: var(--sl-charcoal);
    letter-spacing: -0.02em;
}

.sl-404__title {
    margin-bottom: 16px;
    font-family: var(--sl-font-display);
    font-size: 26px;
    font-weight: 400;
    color: var(--sl-charcoal);
}

.sl-404__text,
.sl-index__excerpt,
.sl-index__empty {
    font-size: 15px;
    line-height: 1.8;
    color: var(--sl-text-muted);
}

.sl-404__text {
    margin-bottom: 32px;
}

.sl-404__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.sl-404__search {
    max-width: 380px;
    margin: 48px auto 0;
}

.sl-404__search-label {
    margin-bottom: 10px;
    font-size: 12px;
    color: var(--sl-mist);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sl-index { padding-top: 48px; padding-bottom: 72px; }
.sl-index__title { margin-bottom: 32px; }

.sl-index__loop {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 780px;
}

.sl-index__post-title {
    font-family: var(--sl-font-display);
    font-size: 28px;
    font-weight: 400;
    color: var(--sl-charcoal);
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.sl-index__meta {
    margin-bottom: 12px;
    font-size: 12px;
    color: var(--sl-mist);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sl-index__pagination { margin-top: 48px; }

@media (max-width: 767px) {
    .sl-404 { padding: 72px 0; }
    .sl-404__inner { padding: 0 20px; }
    .sl-404__code { font-size: 42px; }
    .sl-404__title,
    .sl-index__post-title { font-size: 22px; }
}

