/*
 * Enter any custom CSS here.
 * This file will not be overwritten by theme updates.
 *
 * ── Semantic class hooks (sa-*) ────────────────────────────────────────────
 * Every section, snippet and key element carries a stable `sa-` class you can
 * target with plain CSS — no Tailwind rebuild needed. These classes ship with
 * NO styles of their own; they exist purely as selectors for you to hook onto.
 *
 * Page scope   body.sa-tpl-<template>      e.g. .sa-tpl-product, .sa-tpl-shop
 *              body.sa-no-product-images / .sa-no-category-images when the
 *              matching theme setting is off
 * Chrome       .sa-header .sa-navbar .sa-footer
 *              .sa-navbar-link .sa-navbar-logo .sa-navbar-cart .sa-footer-link
 * Sections     .sa-<component>             e.g. .sa-hero, .sa-features, .sa-faq
 *   variant    .sa-<component>--<variant>  e.g. .sa-hero--split-media
 *   inner      .sa-<component>-title / -subtitle / -eyebrow / -media /
 *              -items / -item / -actions / -link / -price / -badge / -icon
 * Primitives   .sa-btn (+ .sa-btn--<variant>), .sa-section-header
 *              (.sa-section-title / -eyebrow / -subtitle),
 *              .sa-product-card (+ .sa-product-card--<style>,
 *              .sa-product-card-title / -price / -stock / -status / -badges),
 *              .sa-product-form + .sa-add-to-cart, .sa-product-gallery,
 *              .sa-cart-panel + .sa-cart-item, .sa-searchbar, .sa-pagination,
 *              .sa-breadcrumbs, .sa-toasts + .sa-toast, .sa-feedback-card
 *
 * Example — bigger hero heading only on the product page:
 *   .sa-tpl-product .sa-hero-title { font-size: 3rem; }
 * ───────────────────────────────────────────────────────────────────────────
*/

.sa-hero--centered .sa-hero-title {
    letter-spacing: -0.02em;
}

.sa-hero--centered .sa-hero-subtitle {
    max-width: 34rem;
    margin-inline: auto;
}

.sa-hero--background-image .sa-hero-title {
    letter-spacing: -0.02em;
    max-width: 24ch;
}

.sa-hero--background-image .sa-hero-subtitle {
    max-width: 40rem;
}

/* Legal pages (refund policy / terms / privacy): style raw semantic HTML.
   Tailwind preflight strips h3/ul/li/a, and the .editor rules only cover
   the dashboard editor's own e-* classes, so raw tags need this. */
.sa-page-refund-policy-body.editor,
.sa-page-terms-body.editor,
.sa-page-privacy-policy-body.editor {
    font-size: 0.975rem;
    line-height: 1.7;
}

.sa-page-refund-policy-body.editor p,
.sa-page-terms-body.editor p,
.sa-page-privacy-policy-body.editor p {
    margin: 0.65rem 0;
    color: rgb(var(--cl-t-muted));
}

.sa-page-refund-policy-body.editor h3,
.sa-page-terms-body.editor h3,
.sa-page-privacy-policy-body.editor h3 {
    font-family: var(--ff-heading);
    font-weight: var(--fw-heading);
    font-size: 1.15rem;
    line-height: 1.4;
    color: rgb(var(--cl-t-primary));
    margin: 1.9rem 0 0.45rem;
}

.sa-page-refund-policy-body.editor h3:first-child,
.sa-page-terms-body.editor h3:first-child,
.sa-page-privacy-policy-body.editor h3:first-child {
    margin-top: 0;
}

.sa-page-refund-policy-body.editor h2,
.sa-page-terms-body.editor h2,
.sa-page-privacy-policy-body.editor h2 {
    font-family: var(--ff-heading);
    font-weight: var(--fw-heading);
    font-size: 1.4rem;
    line-height: 1.35;
    color: rgb(var(--cl-t-primary));
    margin: 2.1rem 0 0.5rem;
}

.sa-page-refund-policy-body.editor ul,
.sa-page-terms-body.editor ul,
.sa-page-privacy-policy-body.editor ul {
    list-style: disc;
    padding-left: 1.4rem;
    margin: 0.65rem 0;
}

.sa-page-refund-policy-body.editor ol,
.sa-page-terms-body.editor ol,
.sa-page-privacy-policy-body.editor ol {
    list-style: decimal;
    padding-left: 1.4rem;
    margin: 0.65rem 0;
}

.sa-page-refund-policy-body.editor li,
.sa-page-terms-body.editor li,
.sa-page-privacy-policy-body.editor li {
    margin: 0.45rem 0;
    color: rgb(var(--cl-t-muted));
    padding-left: 0.15rem;
}

.sa-page-refund-policy-body.editor li::marker,
.sa-page-terms-body.editor li::marker,
.sa-page-privacy-policy-body.editor li::marker {
    color: rgb(var(--cl-accent));
}

.sa-page-refund-policy-body.editor strong,
.sa-page-terms-body.editor strong,
.sa-page-privacy-policy-body.editor strong {
    font-weight: 600;
    color: rgb(var(--cl-t-primary));
}

.sa-page-refund-policy-body.editor a,
.sa-page-terms-body.editor a,
.sa-page-privacy-policy-body.editor a {
    color: rgb(var(--cl-accent));
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity var(--dur) ease;
}

.sa-page-refund-policy-body.editor a:hover,
.sa-page-terms-body.editor a:hover,
.sa-page-privacy-policy-body.editor a:hover {
    opacity: 0.8;
}