/*
 * Atelier theme — fashion-house look, scoped to html[data-theme="atelier"].
 * Black and white, square corners, big imagery, tall product photos that
 * fill the card, add-to-cart as a slim black bar, underlined text links.
 */

html[data-theme="atelier"] {
    --sf-mk-gap: 20px;
    --sf-mk-radius: 0;
}

/* Announcement bar + header */
html[data-theme="atelier"] .sf-ticker {
    background: #111111;
    color: #ffffff;
    border-bottom: 0;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
}

html[data-theme="atelier"] .sf-masthead {
    border-bottom: 1px solid var(--theme-color-border);
}

html[data-theme="atelier"] .sf-masthead-row {
    min-height: 76px;
}

html[data-theme="atelier"] .sf-masthead .sf-search-input {
    border-radius: 0;
    background: var(--theme-color-surface);
    border-color: transparent;
}

html[data-theme="atelier"] .sf-search-btn {
    border-radius: 0;
    background: #111111;
}

html[data-theme="atelier"] .sf-catbar-link {
    padding-block: 0.9rem;
    font-size: 0.88rem;
    font-weight: var(--theme-weight-medium, 500);
}

html[data-theme="atelier"] .sf-catbar-link:hover,
html[data-theme="atelier"] .sf-catbar-link.active {
    color: #111111;
    border-bottom-color: #111111;
}

@media (min-width: 992px) {
    html[data-theme="atelier"] .sf-catbar-list {
        justify-content: center;
    }
}

/* Page rhythm + section titles: large, start-aligned, "view all" underlined */
html[data-theme="atelier"] .sf-main:has(.sf-home) {
    background: #ffffff;
}

html[data-theme="atelier"] .sf-block {
    margin-top: 3.5rem;
}

html[data-theme="atelier"] .sf-row-head {
    align-items: flex-end;
    margin-bottom: 1.5rem;
}

html[data-theme="atelier"] .sf-row-title {
    font-size: clamp(1.4rem, 1.05rem + 1vw, 2rem);
    font-weight: var(--theme-weight-semibold, 600);
    letter-spacing: -0.01em;
}

html[data-theme="atelier"] .sf-row-link {
    color: #111111;
    font-weight: var(--theme-weight-medium, 500);
    text-decoration: underline;
    text-underline-offset: 5px;
}

html[data-theme="atelier"] .sf-row-link .sf-arrow {
    display: none;
}

/* Product cards: tall photo filling the card, text below, black add bar */
html[data-theme="atelier"] .sf-product-card,
html[data-theme="atelier"] .sf-product-card:hover {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

html[data-theme="atelier"] .sf-product-card .sf-product-media {
    aspect-ratio: 3 / 4;
    background: var(--theme-color-surface);
    border-bottom: 0;
}

html[data-theme="atelier"] .sf-product-card .sf-product-media img {
    padding: 0;
    object-fit: cover;
    transition: transform 600ms ease;
}

html[data-theme="atelier"] .sf-product-card:hover .sf-product-media img {
    transform: scale(1.04);
}

html[data-theme="atelier"] .sf-product-card .sf-product-body {
    padding: 0.85rem 0 0;
}

html[data-theme="atelier"] .sf-product-card .sf-product-title {
    font-size: 0.92rem;
    font-weight: var(--theme-weight-medium, 500);
}

html[data-theme="atelier"] .sf-product-card .sf-product-title a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

html[data-theme="atelier"] .sf-price-value {
    font-size: 0.98rem;
    font-weight: var(--theme-weight-semibold, 600);
}

html[data-theme="atelier"] .sf-product-perks {
    display: none;
}

html[data-theme="atelier"] .sf-product-card .sf-product-actions .btn,
html[data-theme="atelier"] .btn {
    border-radius: 0;
}

html[data-theme="atelier"] .sf-product-card .sf-product-actions .btn-primary {
    background: #111111;
    border-color: #111111;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

@media (hover: hover) and (min-width: 992px) {
    html[data-theme="atelier"] .sf-product-card .sf-product-actions {
        opacity: 0;
        transform: translateY(6px);
        transition: opacity 200ms ease, transform 200ms ease;
    }

    html[data-theme="atelier"] .sf-product-card:hover .sf-product-actions,
    html[data-theme="atelier"] .sf-product-card:focus-within .sf-product-actions {
        opacity: 1;
        transform: none;
    }
}

html[data-theme="atelier"] .sf-flag {
    border-radius: 0;
    background: #ffffff;
    color: #111111;
    font-weight: var(--theme-weight-medium, 500);
}

html[data-theme="atelier"] .sf-flag.is-warning {
    background: var(--theme-color-danger);
    color: #ffffff;
}

/* Builder blocks: square banners, white square buttons, black marquee */
html[data-theme="atelier"] .sfb-hero,
html[data-theme="atelier"] .sfb-slide,
html[data-theme="atelier"] .sfb-banner,
html[data-theme="atelier"] .sfb-video,
html[data-theme="atelier"] .sfb-cat-media {
    border-radius: 0 !important;
}

html[data-theme="atelier"] .sfb-caption-title {
    font-weight: var(--theme-weight-semibold, 600);
    letter-spacing: -0.01em;
}

html[data-theme="atelier"] .sfb-caption-btn {
    border-radius: 0;
    background: #ffffff;
    color: #111111;
    min-height: 46px;
    padding: 0 1.8rem;
}

html[data-theme="atelier"] .sfb-caption-btn:hover {
    background: #111111;
    color: #ffffff;
}

html[data-theme="atelier"] .sfb-marquee {
    --sfb-mq-bg: #111111;
    --sfb-mq-fg: #ffffff;
}

html[data-theme="atelier"] .sfb-cat.is-card .sfb-cat-media {
    aspect-ratio: 3 / 4;
}

/* Newsletter + reasons + footer */
html[data-theme="atelier"] .sf-newsletter {
    flex-direction: column;
    text-align: center;
    border: 0;
    border-radius: 0;
    background: var(--theme-color-surface);
    padding: 3rem 1.5rem;
}

html[data-theme="atelier"] .sf-newsletter-form {
    width: 100%;
    max-width: 520px;
    flex: none;
}

html[data-theme="atelier"] .sf-newsletter-form .form-control,
html[data-theme="atelier"] .sf-newsletter-form .btn {
    border-radius: 0;
}

html[data-theme="atelier"] .sf-reason {
    border-radius: 0;
    background: transparent;
}

html[data-theme="atelier"] .sf-footer[data-tone="theme"] {
    border-top: 1px solid var(--theme-color-border);
}

/* A full-width hero placed first in the home page builder sits right under the header */
html[data-theme="atelier"] .sf-home--builder > section:first-of-type .sfb-block,
html[data-theme="nova"] .sf-home--builder > section:first-of-type .sfb-block {
    margin-top: 0;
}
