:root {
    --sy-bg: #fdf7f8;
    --sy-white: #ffffff;
    --sy-pink: #fbd8de;
    --sy-pink-deep: #eba4b0;
    --sy-pink-dark: #db8a9a;
    --sy-cream: #fdf0e3;
    --sy-cream-deep: #f0dcc8;
    --sy-lav: #ece4f5;
    --sy-ink: #6b5d68;
    --sy-ink-soft: #a899a3;
    --sy-text: #4a3f46;
    --sy-line: #f3e2e6;
    --sy-shadow: 0 6px 22px rgba(235, 164, 176, 0.14);
    --sy-shadow-hover: 0 18px 44px rgba(235, 164, 176, 0.26);
    --sy-radius: 24px;
    --sy-radius-lg: 30px;
    --sy-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--sy-sans);
    background: var(--sy-bg);
    color: var(--sy-text);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
ul, ol { list-style: none; }

.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.skip-link {
    position: absolute; left: -999px; top: 8px; z-index: 1000;
    background: var(--sy-pink-deep); color: #453339; padding: 10px 18px;
    border-radius: 30px; font-size: .85rem;
}
.skip-link:focus { left: 8px; }

.f-main { min-height: 60vh; }

.sy-container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* ---------- header ---------- */
.sy-header { position: sticky; top: 0; z-index: 100; }
.sy-header__inner {
    max-width: 1180px; margin: 0 auto; padding: 0 20px;
    background: rgba(255, 255, 255, .92); backdrop-filter: blur(12px);
    border-radius: 0 0 var(--sy-radius-lg) var(--sy-radius-lg);
    box-shadow: 0 6px 24px rgba(235, 164, 176, .12);
    display: flex; justify-content: space-between; align-items: center; gap: 20px;
    height: 64px;
}
.sy-logo { font-weight: 700; font-size: 1.25rem; color: var(--sy-ink); display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.sy-logo__icon { font-size: 1.15rem; }
.sy-nav { display: flex; gap: 26px; align-items: center; }
.sy-nav a { color: var(--sy-ink-soft); font-size: .9rem; font-weight: 500; transition: color .25s; white-space: nowrap; }
.sy-nav a:hover, .sy-nav a[aria-current="page"] { color: var(--sy-pink-dark); }
.sy-header__actions { display: flex; align-items: center; gap: 10px; }
.sy-icon {
    display: inline-flex; align-items: center; justify-content: center; gap: 4px;
    width: 38px; height: 38px; border-radius: 50%;
    border: 2px solid var(--sy-pink); color: var(--sy-ink); font-size: 1rem;
    position: relative; transition: all .25s;
}
.sy-icon:hover { background: var(--sy-pink); color: #453339; }
.sy-member-label { font-size: .74rem; font-weight: 600; }
/* The old position is suppressed on cached regional pages. */
.sy-hero__copy > .sy-hero__hotline,
.sy-region-hero__copy > .sy-hero__hotline { display: none !important; }
/* Syflowers phone order bar: one dedicated row immediately beneath the carousel. */
.sy-order-hotline { padding: 9px 0 5px; }
.unified-opening-page[data-opening-theme="syflowers"] > .sy-order-hotline { order: -1 !important; }
.sy-order-hotline__link {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 50px; padding: 9px 18px;
    border: 1px solid #eac9d1; border-radius: 14px;
    background: #fff7f8; box-shadow: 0 3px 13px rgba(117, 66, 80, .06);
    color: #5b4047; text-decoration: none; line-height: 1.4;
}
.sy-order-hotline__link:hover, .sy-order-hotline__link:focus-visible {
    border-color: #bb7d90; background: #fff0f3; outline-offset: 2px;
}
.sy-order-hotline__icon { font-size: 1.12rem; color: #9b6879; }
.sy-order-hotline__label { font-size: .9rem; white-space: nowrap; font-weight: 600; }
.sy-order-hotline__number {
    color: #884653; font-size: 1.22rem; font-weight: 800;
    white-space: nowrap; font-variant-numeric: tabular-nums; letter-spacing: .03em;
}
.sy-order-hotline__action {
    margin-left: 12px; padding-left: 17px; border-left: 1px solid #ebced6;
    font-size: .8rem; font-weight: 600; color: #885965; white-space: nowrap;
}
@media (max-width: 600px) {
    .sy-order-hotline { padding: 7px 0 2px; }
    .sy-order-hotline__link {
        min-height: 44px; padding: 8px 10px; gap: 7px;
        border-radius: 11px;
    }
    .sy-order-hotline__icon { font-size: 1rem; }
    .sy-order-hotline__label { font-size: .84rem; }
    .sy-order-hotline__number { font-size: 1.08rem; letter-spacing: 0; }
    .sy-order-hotline__action { display: none; }
}
.sy-cart-count {
    position: absolute; top: -5px; right: -6px; min-width: 18px; height: 18px;
    background: var(--sy-pink-deep); color: #453339; font-size: .68rem;
    border-radius: 20px; display: flex; align-items: center; justify-content: center; padding: 0 4px;
}
.sy-menu { display: none; background: none; border: 2px solid var(--sy-pink); border-radius: 50%; width: 40px; height: 40px; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.sy-menu span { width: 16px; height: 2px; background: var(--sy-ink); border-radius: 2px; display: block; }

/* ---------- buttons ---------- */
.sy-btn {
    display: inline-block; padding: 13px 30px; font-size: .9rem; font-weight: 600;
    text-decoration: none; border-radius: 40px; border: 0; cursor: pointer;
    transition: all .3s; line-height: 1.4; text-align: center;
}
.sy-btn--pink, .sy-btn--primary { background: #965d6a; color: #fff; box-shadow: 0 8px 22px rgba(235, 164, 176, .4); }
.sy-btn--pink:hover, .sy-btn--primary:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(235, 164, 176, .5); background: var(--sy-pink-dark); }
.sy-btn--soft { background: var(--sy-cream); color: #453339; }
.sy-btn--soft:hover { background: var(--sy-cream-deep); }

.sy-pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--sy-pink); color: #453339; font-size: .78rem; font-weight: 600;
    padding: 8px 18px; border-radius: 40px; margin-bottom: 18px;
}

/* ---------- hero ---------- */
.sy-hero { background: var(--sy-bg); }
.sy-hero__inner {
    padding: 56px 24px 46px; display: grid; grid-template-columns: 1.1fr 1fr;
    gap: 48px; align-items: center;
}
.sy-hero h1 { font-size: 2.6rem; font-weight: 700; line-height: 1.3; color: var(--sy-ink); margin-bottom: 16px; }
.sy-hero__hl { color: var(--sy-pink-deep); }
.sy-hero__copy > p { color: var(--sy-ink-soft); line-height: 1.95; margin-bottom: 28px; max-width: 440px; }
.sy-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.sy-hero__visual { display: flex; align-items: center; justify-content: center; min-height: 300px; position: relative; }
.sy-hero__blob {
    width: 64%; aspect-ratio: 1 / 1; border-radius: 46% 54% 50% 50%;
    background: linear-gradient(150deg, var(--sy-pink), var(--sy-cream));
    display: flex; align-items: center; justify-content: center;
    font-size: 4.5rem; box-shadow: 0 20px 50px rgba(235, 164, 176, .3);
    transform: rotate(-3deg);
}
.sy-hero__mini { position: absolute; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.35rem; box-shadow: 0 8px 22px rgba(235, 164, 176, .2); }
.sy-hero__mini--1 { width: 62px; height: 62px; background: var(--sy-lav); top: 6%; right: 10%; }
.sy-hero__mini--2 { width: 52px; height: 52px; background: var(--sy-cream); bottom: 10%; left: 6%; }

/* ---------- region hero ---------- */
.sy-region-hero__inner {
    padding: 42px 24px 34px; display: grid; grid-template-columns: 1.2fr .6fr;
    gap: 36px; align-items: center;
}
.sy-region-hero h1 { font-size: 2.2rem; font-weight: 700; color: var(--sy-ink); margin-bottom: 12px; }
.sy-region-hero__copy > p { color: var(--sy-ink-soft); line-height: 1.9; max-width: 560px; }
.sy-region-hero__visual { display: flex; justify-content: center; }
.sy-region-hero__visual .sy-hero__blob { width: 190px; font-size: 3.4rem; transform: rotate(4deg); }

/* ---------- page hero (inner) ---------- */
.sy-page-hero { background: linear-gradient(160deg, var(--sy-pink), var(--sy-cream)); border-radius: 0 0 38px 38px; }
.sy-page-hero--compact { padding: 40px 0 34px; }
.sy-page-hero h1 { font-size: 1.9rem; color: var(--sy-ink); font-weight: 700; }
.sy-page-hero p:not(.sy-eyebrow) { color: var(--sy-ink-soft); margin-top: 8px; }
.sy-eyebrow { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sy-pink-dark); font-weight: 600; margin-bottom: 8px; }

/* ---------- sections ---------- */
.sy-section { padding: 48px 0; }
.sy-section--band { background: var(--sy-pink); margin: 0 10px; border-radius: 34px; padding: 44px 12px; }
.sy-section--band .sy-container { padding-left: 12px; padding-right: 12px; }
.sy-section-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 20px; }
.sy-section-head > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-width: 0; }
.sy-section-head h2 { font-size: 1.3rem; font-weight: 700; color: var(--sy-ink); line-height: 1.3; }
.sy-section-head__sub { color: var(--sy-ink-soft); font-size: .84rem; margin-top: 0; }
.sy-section-head > a { color: var(--sy-pink-dark); font-size: .84rem; font-weight: 600; white-space: nowrap; }
.sy-section-head > a:hover { text-decoration: underline; }

.sy-banner { padding-top: 28px; }
.sy-hero-banners { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.sy-hero-banners a { border-radius: var(--sy-radius); overflow: hidden; box-shadow: var(--sy-shadow); }
.sy-hero-banners img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }

/* ---------- category shortcuts ---------- */
.sy-home-category-shortcuts__content {
    background: var(--sy-white); border-radius: var(--sy-radius);
    box-shadow: var(--sy-shadow); padding: 12px 14px;
}
.sy-category-shortcuts-list { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 10px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.sy-category-shortcuts-list::-webkit-scrollbar { display: none; }
.sy-category-shortcut {
    background: var(--sy-bg); border: 2px solid var(--sy-pink); border-radius: 40px; color: #453339; font-size: .86rem; font-weight: 500;
    padding: 8px 18px; transition: all .3s; max-width: 9em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 0 0 auto;
}
.sy-category-shortcut:hover, .sy-category-shortcut.is-parent { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; transform: translateY(-2px); }

/* ---------- product grid & card ---------- */
.sy-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sy-product-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (min-width: 961px) {
    .f-independent-product--1 .sy-product-grid,
    .f-independent-product--2 .sy-product-grid,
    .f-independent-product--3 .sy-product-grid,
    .f-independent-product--4 .sy-product-grid,
    .f-independent-product--5 .sy-product-grid,
    .f-independent-product--6 .sy-product-grid { grid-template-columns: repeat(3, 1fr); }
}
.f-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sy-product-card {
    background: var(--sy-white); border-radius: 26px; overflow: hidden;
    box-shadow: var(--sy-shadow); transition: all .35s; display: flex; flex-direction: column;
}
.sy-product-card:hover { transform: translateY(-8px); box-shadow: var(--sy-shadow-hover); }
.sy-product-card__media {
    position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden;
    background: linear-gradient(150deg, var(--sy-pink), var(--sy-cream));
}
.sy-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sy-product-card:hover .sy-product-card__media img { transform: scale(1.04); }
.sy-card-badge {
    position: absolute; top: 12px; left: 12px; background: #fff; color: #453339;
    font-size: .72rem; font-weight: 600; padding: 5px 14px; border-radius: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}
.sy-product-card__body { padding: 15px 17px 17px; display: flex; flex-direction: column; flex: 1; }
.sy-product-card__body h3 { font-weight: 700; font-size: 1.02rem; margin-bottom: 4px; color: var(--sy-text); }
.sy-product-card__body h3 a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sy-product-card__summary {
    font-size: .76rem; color: var(--sy-ink-soft); margin-bottom: 10px; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.sy-product-card__price-row { margin-top: auto; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sy-price, .price-current, .f-price { font-weight: 700; color: var(--sy-pink-dark); font-size: 1.06rem; }
.sy-market-price, .f-market-price { font-size: .78rem; color: var(--sy-ink-soft); }
.price-normal, .price-holiday { display: inline-flex; flex-direction: column; font-weight: 700; color: var(--sy-pink-dark); }
.price-normal span, .price-holiday span { font-size: .68rem; font-weight: 500; color: var(--sy-ink-soft); }

/* search shared card (common pages render f-product-card) */
.f-product-card { background: var(--sy-white); border-radius: 26px; overflow: hidden; box-shadow: var(--sy-shadow); transition: all .35s; display: flex; flex-direction: column; }
.f-product-card:hover { transform: translateY(-6px); box-shadow: var(--sy-shadow-hover); }
.f-product-card__image { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: linear-gradient(150deg, var(--sy-pink), var(--sy-cream)); }
.f-product-card__image img { width: 100%; height: 100%; object-fit: cover; }
.f-product-card__body { padding: 15px 17px 17px; display: flex; flex-direction: column; flex: 1; }
.f-product-card__body h3 { font-weight: 700; font-size: 1.02rem; margin-bottom: 4px; }
.f-product-card__summary { font-size: .76rem; color: var(--sy-ink-soft); margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.f-product-card__selling { font-size: .74rem; color: var(--sy-pink-dark); margin-bottom: 8px; }
.f-product-card__price-row { margin-top: auto; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.f-card-badge { position: absolute; top: 12px; left: 12px; background: #fff; color: #453339; font-size: .72rem; font-weight: 600; padding: 5px 14px; border-radius: 30px; box-shadow: 0 2px 8px rgba(0, 0, 0, .05); }

/* ---------- supporting content ---------- */
.sy-supporting__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sy-panel, .sy-article-card, .sy-service-card, .sy-shop-card, .sy-product-card, .f-product-card { min-width: 0; }
.sy-panel { background: var(--sy-white); border-radius: var(--sy-radius); box-shadow: var(--sy-shadow); padding: 24px; }
.sy-panel h2 { font-size: 1.08rem; color: var(--sy-ink); margin-bottom: 14px; }
.sy-panel__sub { font-size: .92rem; color: var(--sy-ink-soft); margin: 18px 0 10px; }
.sy-link-list { display: flex; flex-direction: column; }
.sy-link-list a {
    display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
    padding: 9px 0; border-bottom: 1px dashed var(--sy-line);
    color: var(--sy-text); font-size: .86rem; transition: color .2s;
}
.sy-link-list a:last-child { border-bottom: 0; }
.sy-link-list a:hover { color: var(--sy-pink-dark); }
.sy-link-list span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.sy-link-list a { min-width: 0; }
.sy-link-list time { color: var(--sy-ink-soft); font-size: .74rem; white-space: nowrap; }

.sy-review-list { display: flex; flex-direction: column; gap: 14px; }
.sy-review { background: var(--sy-bg); border-radius: 18px; padding: 14px 16px; }
.sy-review > div, .sy-review header > div { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.sy-review strong { font-size: .84rem; color: var(--sy-ink); }
.sy-review span { color: #e6b85c; font-size: .76rem; letter-spacing: 2px; }
.sy-review p { font-size: .82rem; color: var(--sy-ink-soft); margin-top: 6px; line-height: 1.7; }
.sy-review header time { font-size: .72rem; color: var(--sy-ink-soft); }
.sy-review footer { font-size: .72rem; color: var(--sy-ink-soft); margin-top: 6px; }

.sy-order-list { display: flex; flex-direction: column; gap: 10px; }
.sy-order-list div { background: var(--sy-bg); border-radius: 16px; padding: 10px 14px; }
.sy-order-list strong { display: block; font-size: .82rem; color: var(--sy-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sy-order-list span { font-size: .74rem; color: var(--sy-ink-soft); }

.sy-article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sy-article-card { background: var(--sy-white); border-radius: var(--sy-radius); padding: 22px 22px 18px; box-shadow: var(--sy-shadow); transition: all .35s; }
.sy-article-card:hover { transform: translateY(-6px); box-shadow: var(--sy-shadow-hover); }
.sy-article-emoji { font-size: 1.6rem; display: block; margin-bottom: 8px; }
.sy-article-cat { display: inline-block; background: var(--sy-cream); color: #453339; font-size: .7rem; font-weight: 600; padding: 4px 12px; border-radius: 30px; margin-bottom: 10px; }
.sy-article-card:nth-child(3n+2) .sy-article-cat { background: var(--sy-pink); color: #453339; }
.sy-article-card:nth-child(3n+3) .sy-article-cat { background: var(--sy-lav); color: #453339; }
.sy-article-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 10px; line-height: 1.5; color: var(--sy-text); }
.sy-article-card h3 a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sy-article-card h3 a:hover { color: var(--sy-pink-dark); }
.sy-article-date { font-size: .74rem; color: var(--sy-ink-soft); }

/* ---------- region tags ---------- */
.sy-region-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.sy-region-tag {
    background: var(--sy-white); border: 2px solid var(--sy-pink); border-radius: 40px; color: #453339; text-decoration: none; font-size: .86rem; font-weight: 500;
    padding: 10px 22px; transition: all .3s;
}
.sy-region-tag:hover { background: #965d6a; color: #fff; border-color: var(--sy-pink-deep); transform: translateY(-3px); }
.sy-region-tag--hot { border-color: var(--sy-pink-deep); color: var(--sy-pink-dark); font-weight: 600; }

/* ---------- service / trust ---------- */
.sy-service__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sy-service__notes .sy-service-card { text-align: left; }
.sy-service-card { background: var(--sy-white); border-radius: var(--sy-radius); padding: 26px 24px; text-align: center; box-shadow: var(--sy-shadow); }
.sy-service-icon { width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; background: var(--sy-pink); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.sy-service-card:nth-child(2) .sy-service-icon { background: var(--sy-cream); }
.sy-service-card:nth-child(3) .sy-service-icon { background: var(--sy-lav); }
.sy-service-card strong { display: block; font-size: 1.05rem; color: var(--sy-ink); margin-bottom: 8px; }
.sy-service-card p { font-size: .84rem; color: var(--sy-ink-soft); line-height: 1.8; }

.sy-shop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sy-shop-card { background: var(--sy-white); border-radius: var(--sy-radius); padding: 24px 22px; box-shadow: var(--sy-shadow); text-align: center; }
.sy-shop-icon { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; background: var(--sy-pink); display: flex; align-items: center; justify-content: center; font-size: 1.35rem; }
.sy-shop-card:nth-child(3n+2) .sy-shop-icon { background: var(--sy-cream); }
.sy-shop-card:nth-child(3n+3) .sy-shop-icon { background: var(--sy-lav); }
.sy-shop-card strong { display: block; font-size: 1rem; color: var(--sy-ink); margin-bottom: 6px; }
.sy-shop-card p { font-size: .8rem; color: var(--sy-ink-soft); line-height: 1.7; }
.sy-shop-address { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* ---------- breadcrumb ---------- */
/* The injected region trail sits before main, outside .sy-container. */
/* Also cover older generated HTML in browsers without :is() support. */
.sy-region > .sy-breadcrumb { display: none !important; }
body > .seo-region-breadcrumb { display: none !important; }
@media (min-width: 901px) {
    body > .seo-region-breadcrumb {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        width: calc(100% - 40px);
        max-width: 1180px;
        margin: 16px auto 0;
        padding: 0;
        font-size: .82rem;
        line-height: 24px;
        color: var(--sy-ink-soft);
        overflow-wrap: anywhere;
    }
    body > .seo-region-breadcrumb a:hover { color: var(--sy-pink-dark); }
    body > .seo-region-breadcrumb [aria-hidden="true"] { color: var(--sy-pink-dark); }
    body > .seo-region-breadcrumb [aria-current="page"] { color: var(--sy-ink); font-weight: 600; }
}
.sy-breadcrumb { padding: 22px 0 4px; font-size: .82rem; color: var(--sy-ink-soft); }
.sy-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; }
.sy-breadcrumb a { color: var(--sy-ink-soft); }
.sy-breadcrumb a:hover { color: var(--sy-pink-dark); }
.sy-breadcrumb li + li::before { content: "/"; margin-right: 6px; color: var(--sy-line); }
.sy-breadcrumb [aria-current="page"] { color: var(--sy-ink); font-weight: 600; }
.sy-breadcrumb > a + a::before, .sy-breadcrumb > span::before { content: "/"; margin: 0 8px; color: var(--sy-line); }

/* ---------- SEO disclosure ---------- */
.sy-seo-section { padding: 40px 0 54px; }
.sy-seo-disclosure { background: var(--sy-white); border: 2px solid var(--sy-pink); border-radius: var(--sy-radius); padding: 18px 24px; }
.sy-seo-disclosure summary { cursor: pointer; color: var(--sy-pink-dark); font-weight: 600; font-size: .92rem; outline-offset: 4px; }
.sy-seo-disclosure[open] summary { margin-bottom: 12px; }
.sy-richtext { font-size: .92rem; line-height: 2; color: var(--sy-text); word-break: break-word; }
.sy-richtext p { margin-bottom: 10px; }
.sy-richtext img { border-radius: 16px; margin: 12px 0; }

/* ---------- category index ---------- */
.sy-category-layout { display: grid; grid-template-columns: 240px 1fr; gap: 28px; padding: 30px 24px 54px; max-width: 1180px; margin: 0 auto; }
.sy-category-pills { display: flex; flex-direction: column; gap: 10px; position: sticky; top: 84px; }
.sy-category-pill { background: var(--sy-white); border: 2px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .86rem; font-weight: 500; padding: 9px 18px; text-align: center; transition: all .25s; }
.sy-category-pill:hover { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.sy-category-blocks { display: flex; flex-direction: column; gap: 22px; }
.sy-category-block { background: var(--sy-white); border-radius: var(--sy-radius-lg); box-shadow: var(--sy-shadow); padding: 26px 28px; }
.sy-category-block__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.sy-category-block__head h2 { font-size: 1.2rem; color: var(--sy-ink); }
.sy-category-block__head h2 a:hover { color: var(--sy-pink-dark); }
.sy-category-block__more { color: var(--sy-pink-dark); font-size: .84rem; font-weight: 600; }
.sy-category-children { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.sy-category-child { display: flex; align-items: center; gap: 10px; background: var(--sy-bg); border-radius: 18px; padding: 10px 14px; color: var(--sy-text); font-size: .86rem; transition: all .25s; }
.sy-category-child:hover { background: var(--sy-pink); color: #453339; }
.sy-category-child img { width: 44px; height: 44px; border-radius: 14px; object-fit: cover; }

/* ---------- category browse / waterfall ---------- */
.sy-filter { background: var(--sy-white); border-radius: var(--sy-radius-lg); box-shadow: var(--sy-shadow); margin: 22px auto 0; max-width: 1180px; padding: 16px 24px; }
.sy-filter ul { display: flex; flex-wrap: wrap; gap: 10px; }
.sy-filter li a { display: inline-block; background: var(--sy-bg); border: 2px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .84rem; font-weight: 500; padding: 8px 18px; transition: all .25s; }
.sy-filter li a:hover, .sy-filter li a.on { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
@media (max-width: 960px) {
    .sy-filter ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px; }
    .sy-filter ul::-webkit-scrollbar { display: none; }
    .sy-filter li { flex: 0 0 auto; }
    .sy-featured-group ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px; }
    .sy-featured-group ul::-webkit-scrollbar { display: none; }
    .sy-featured-group li { flex: 0 0 auto; }
}
.sy-featured-groups { max-width: 1180px; margin: 20px auto 0; padding: 0 24px; display: flex; flex-direction: column; gap: 10px; }
.sy-featured-group { background: var(--sy-white); border-radius: 20px; box-shadow: var(--sy-shadow); padding: 12px 18px; }
.sy-featured-group ul { display: flex; flex-wrap: wrap; gap: 8px; }
.sy-featured-group li a { display: inline-block; background: var(--sy-bg); border: 1px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .8rem; padding: 6px 14px; transition: all .2s; }
.sy-featured-group li a:hover, .sy-featured-group li a.on { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.sy-category-title { margin-top: 22px; }
.sy-listing { padding: 34px 24px 60px; }
.sy-list-state { text-align: center; color: var(--sy-ink-soft); font-size: .9rem; padding: 22px 0; }
.sy-list-error { color: #c0392b; }
.sy-list-error button { margin-left: 12px; }
.sy-list-more { display: block; margin: 22px auto 0; background: var(--sy-pink); color: #453339; }
.sy-list-more:hover { background: #965d6a; color: #fff; }

/* ---------- product detail ---------- */
.sy-detail__shell { padding: 0 24px 54px; }
.sy-detail__main { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin-top: 18px; }
.sy-gallery { border-radius: var(--sy-radius-lg); overflow: hidden; background: var(--sy-white); box-shadow: var(--sy-shadow); padding: 18px; }
.sy-gallery__mobile { display: none; }
.sy-gallery__main { border-radius: 20px; overflow: hidden; background: var(--sy-bg); }
.sy-gallery__main img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.sy-gallery__hint { text-align: center; color: var(--sy-ink-soft); font-size: .76rem; margin-top: 10px; }
.sy-thumbs { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.sy-thumb { width: 64px; height: 64px; border-radius: 14px; overflow: hidden; border: 2px solid var(--sy-line); background: none; cursor: pointer; padding: 0; transition: all .2s; }
.sy-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sy-thumb.is-active { border-color: var(--sy-pink-deep); }
.sy-detail__info h1 { font-size: 1.7rem; color: var(--sy-ink); margin-bottom: 14px; line-height: 1.35; }
.sy-detail__price { background: var(--sy-white); border-radius: 20px; box-shadow: var(--sy-shadow); padding: 16px 20px; margin-bottom: 14px; }
.sy-detail__price .price-current, .sy-detail__price .price-normal, .sy-detail__price .price-holiday { font-size: 1.5rem; }
.sy-detail__price small { display: block; color: var(--sy-ink-soft); font-size: .74rem; margin-top: 4px; }
.sy-detail__type { color: var(--sy-ink-soft); font-size: .9rem; margin-bottom: 10px; }
.sy-detail__summary { color: var(--sy-text); font-size: .92rem; margin-bottom: 12px; line-height: 1.8; }
.sy-detail__meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; color: var(--sy-ink-soft); font-size: .82rem; margin-bottom: 16px; }
.sy-badge { display: inline-block; background: var(--sy-pink); color: #453339; font-weight: 600; font-size: .74rem; padding: 4px 12px; border-radius: 30px; }
.sy-rating-summary { color: var(--sy-pink-dark); }
.sy-variants h2 { font-size: .95rem; color: var(--sy-ink); margin-bottom: 10px; }
.sy-variants > div { display: flex; flex-wrap: wrap; gap: 10px; }
.sy-variants button {
    background: var(--sy-white); border: 2px solid var(--sy-pink); border-radius: 30px;
    color: var(--sy-text); font-size: .85rem; padding: 9px 18px; cursor: pointer; transition: all .2s;
}
.sy-variants button:hover, .sy-variants button.on { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.sy-variants button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.sy-quantity { display: flex; align-items: center; gap: 12px; margin: 18px 0; }
.sy-quantity label { font-size: .9rem; color: var(--sy-ink); }
.sy-quantity button { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--sy-pink); background: var(--sy-white); color: var(--sy-ink); font-size: 1.05rem; cursor: pointer; }
.sy-quantity input { width: 64px; height: 38px; border: 2px solid var(--sy-line); border-radius: 14px; text-align: center; font-size: .95rem; color: var(--sy-text); }
.sy-message { color: #c0392b; font-size: .82rem; min-height: 1.2em; margin-bottom: 8px; }
.sy-buy-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.sy-buy-actions .sy-btn { flex: 1; min-width: 150px; }
.sy-buy-actions .sy-btn:first-child { background: var(--sy-white); border: 2px solid var(--sy-pink-deep); color: #453339; box-shadow: none; }
.sy-guarantee { background: var(--sy-cream); border-radius: 18px; padding: 14px 18px; margin-top: 18px; }
.sy-guarantee strong { display: block; color: #c08a6a; font-size: .86rem; margin-bottom: 4px; }
.sy-guarantee span { color: var(--sy-ink-soft); font-size: .8rem; }
.sy-detail-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 8px; }
.sy-detail-tabs a { background: var(--sy-white); border: 2px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .84rem; padding: 8px 18px; transition: all .2s; }
.sy-detail-tabs a:hover { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.sy-detail-section { background: var(--sy-white); border-radius: var(--sy-radius-lg); box-shadow: var(--sy-shadow); padding: 26px 28px; margin-top: 18px; }
.sy-detail-section__heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.sy-detail-section__heading h2 { font-size: 1.2rem; color: var(--sy-ink); }
.sy-parameters { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.sy-parameters > div { display: flex; gap: 10px; background: var(--sy-bg); border-radius: 14px; padding: 10px 14px; font-size: .86rem; }
.sy-parameters dt { color: var(--sy-ink-soft); flex-shrink: 0; }
.sy-parameters dd { color: var(--sy-text); }
.sy-detail-images figure { margin-bottom: 12px; }
.sy-detail-images img { width: 100%; border-radius: 16px; }
.sy-article-sections article { margin-bottom: 16px; }
.sy-article-sections h3 { color: var(--sy-ink); margin-bottom: 8px; }
.sy-rating-panel { display: flex; flex-direction: column; align-items: flex-end; }
.sy-rating-panel strong { font-size: 1.4rem; color: var(--sy-pink-dark); }
.sy-rating-panel span { font-size: .8rem; color: var(--sy-ink-soft); }
.sy-rating-panel small { font-size: .74rem; color: var(--sy-ink-soft); }
.sy-category-description-images { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.sy-category-description-images img { width: 100%; border-radius: 16px; }

/* ---------- detail dock (mobile) ---------- */
.sy-detail-dock { display: none; }
body:has(.sy-detail-dock) .sy-mobile-dock { display: none !important; }

/* ---------- content pages ---------- */
.sy-content { background: var(--sy-white); border-radius: var(--sy-radius-lg); box-shadow: var(--sy-shadow); padding: 34px 40px; margin: 20px auto 50px; }
.sy-content__head { margin-bottom: 22px; }
.sy-content__head h1 { font-size: 1.75rem; color: var(--sy-ink); line-height: 1.4; }
.sy-content-meta { display: flex; flex-wrap: wrap; gap: 14px; color: var(--sy-ink-soft); font-size: .8rem; margin-top: 10px; }
.sy-content-cover { border-radius: 20px; overflow: hidden; margin-bottom: 20px; }
.sy-content-body { margin-top: 6px; }
.sy-content-body h2, .sy-content-body h3 { color: var(--sy-ink); margin: 18px 0 8px; }
.sy-content-body img { max-width: 100%; border-radius: 16px; }
.sy-content-pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 30px; padding-top: 20px; border-top: 1px dashed var(--sy-line); }
.sy-content-pager__link { flex: 1; background: var(--sy-bg); border-radius: 18px; padding: 14px 18px; transition: all .25s; }
.sy-content-pager__link:hover { background: var(--sy-pink); }
.sy-content-pager__link small { display: block; color: var(--sy-ink-soft); font-size: .74rem; margin-bottom: 4px; }
.sy-content-pager__link strong { color: var(--sy-text); font-size: .86rem; }
.sy-content-pager__link--next { text-align: right; }
.sy-content-footer { margin-top: 22px; text-align: center; }

/* ---------- footer ---------- */
.sy-footer { background: #fdeef2; margin-top: 20px; border-radius: 28px 28px 0 0; padding: 22px 0 16px; }
.sy-footer__faq { display: flex; align-items: baseline; gap: 12px 20px; flex-wrap: wrap; padding: 6px 0 10px; }
.sy-footer__faq h3 { color: var(--sy-ink); font-size: .84rem; font-weight: 700; margin: 0; white-space: nowrap; }
.sy-footer__faq-list { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.sy-footer__faq-list a { color: var(--sy-ink-soft); font-size: .8rem; }
.sy-footer__faq-list a:hover { color: var(--sy-pink-dark); }
.sy-friends { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; padding: 8px 0; border-top: 2px solid var(--sy-pink); color: var(--sy-ink-soft); font-size: .78rem; }
.sy-friends strong { color: var(--sy-ink); font-weight: 600; white-space: nowrap; }
.sy-friends a { color: var(--sy-ink-soft); white-space: nowrap; }
.sy-friends .sy-link-list { display: contents; }
.sy-friends a:hover { color: var(--sy-pink-dark); }
.sy-copyright { display: flex; justify-content: space-between; align-items: center; gap: 8px 16px; flex-wrap: wrap; padding: 10px 0 0; border-top: 2px solid var(--sy-pink); font-size: .74rem; color: var(--sy-ink-soft); }
.sy-copyright .sy-logo { font-size: .95rem; }
.sy-mobile-dock { display: none; }

/* ---------- common function pages ---------- */
.function-page { min-height: 60vh; }
.function-wrap { max-width: 860px; margin: 0 auto; padding: 34px 24px 60px; }
.function-wrap.narrow { max-width: 520px; }
.cn-function-heading { margin-bottom: 20px; }
.function-title { font-size: 1.6rem; color: var(--sy-ink); }
.search-eyebrow { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sy-pink-dark); font-weight: 600; margin-bottom: 6px; }
.function-card { background: var(--sy-white); border-radius: var(--sy-radius); box-shadow: var(--sy-shadow); padding: 26px 28px; margin-bottom: 18px; }
.function-alert { border-radius: 16px; padding: 12px 16px; font-size: .86rem; margin-bottom: 16px; }
.function-alert.error { background: #fdecec; color: #c0392b; }
.empty-state { text-align: center; color: var(--sy-ink-soft); padding: 34px 20px; }
.empty-state h2 { color: var(--sy-ink); margin-bottom: 8px; font-size: 1.15rem; }
.empty-state .btn { margin-top: 16px; }
.function-muted { color: var(--sy-ink-soft); font-size: .84rem; }
.function-form { display: flex; flex-direction: column; gap: 16px; }
.function-field { display: flex; flex-direction: column; gap: 6px; }
.function-field label { font-size: .86rem; color: var(--sy-ink); }
.function-input, .function-field input, .function-field select, .function-field textarea {
    width: 100%; border: 2px solid var(--sy-line); border-radius: 14px; padding: 11px 14px;
    font-size: .9rem; color: var(--sy-text); background: var(--sy-white); font-family: inherit;
}
.function-input:focus, .function-field input:focus, .function-field select:focus, .function-field textarea:focus { outline: none; border-color: var(--sy-pink-deep); }
.function-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn { display: inline-block; padding: 11px 26px; font-size: .88rem; font-weight: 600; border-radius: 40px; border: 0; cursor: pointer; transition: all .25s; text-decoration: none; line-height: 1.5; }
.btn-primary { background: #965d6a; color: #fff; box-shadow: 0 8px 22px rgba(235, 164, 176, .35); }
.btn-primary:hover { background: var(--sy-pink-dark); transform: translateY(-2px); }
.btn-outline { background: var(--sy-white); border: 2px solid var(--sy-pink-deep); color: #453339; }
.btn-outline:hover { background: #965d6a; color: #fff; }
.btn-block { display: block; width: 100%; text-align: center; }
.danger-link { background: none; border: 0; color: #c0392b; cursor: pointer; font-size: .82rem; text-decoration: underline; padding: 4px; }
.function-table-wrap { overflow-x: auto; }
.function-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.function-table th { text-align: left; color: var(--sy-ink-soft); font-weight: 600; padding: 10px 12px; border-bottom: 2px solid var(--sy-pink); }
.function-table td { padding: 12px; border-bottom: 1px solid var(--sy-line); color: var(--sy-text); }
.function-table a { color: var(--sy-pink-dark); }
.order-status-badge { display: inline-block; background: var(--sy-pink); color: #453339; font-size: .74rem; font-weight: 600; padding: 3px 10px; border-radius: 20px; }

.cart-line { display: grid; grid-template-columns: 84px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px dashed var(--sy-line); }
.cart-line:last-child { border-bottom: 0; }
.cart-line img { width: 84px; height: 84px; border-radius: 16px; object-fit: cover; }
.cart-line h2 { font-size: .98rem; color: var(--sy-text); margin-bottom: 4px; }
.cart-line h2 a:hover { color: var(--sy-pink-dark); }
.cn-cart-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.cn-cart-actions .function-input { width: 72px; }
.cn-cart-unit-price { color: var(--sy-ink-soft); font-size: .8rem; }
.cn-cart-line-total { color: var(--sy-pink-dark); font-size: .86rem; }
.cn-cart-line-total span { display: block; color: var(--sy-ink-soft); font-size: .74rem; }
.cart-summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; font-size: .9rem; color: var(--sy-ink); }
.cn-cart-next { justify-content: flex-end; margin-top: 16px; }

.cn-auth-card { max-width: 460px; margin: 0 auto; }
.cn-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; margin: 16px 0 22px; border-bottom: 2px solid var(--sy-line); text-align: center; }
.cn-auth-tabs button { background: none; border: 0; padding: 10px 8px; color: var(--sy-ink-soft); font-size: .9rem; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.cn-auth-tabs button.active { color: var(--sy-pink-dark); border-bottom-color: var(--sy-pink-deep); font-weight: 600; }
.cn-auth-switch { margin-top: 16px; text-align: center; }
.cn-auth-switch a { color: var(--sy-pink-dark); }

.cn-account-sections { display: grid; grid-template-columns: 220px 1fr; gap: 24px; }
.account-nav { background: var(--sy-white); border-radius: var(--sy-radius); box-shadow: var(--sy-shadow); padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.account-nav a { padding: 9px 14px; border-radius: 14px; color: var(--sy-ink-soft); font-size: .88rem; }
.account-nav a:hover, .account-nav a.current { background: var(--sy-pink); color: #453339; font-weight: 600; }
.cn-address-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.address-card { background: var(--sy-bg); border-radius: 18px; padding: 18px; border: 2px solid transparent; transition: all .25s; }
.address-card:hover { border-color: var(--sy-pink); }
.address-card h3 { font-size: .98rem; color: var(--sy-ink); margin-bottom: 8px; }
.address-card p { color: var(--sy-ink-soft); font-size: .84rem; line-height: 1.7; }

.cn-checkout-grid { display: grid; grid-template-columns: 1fr 320px; gap: 24px; align-items: start; }
.cn-checkout-product-row { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px dashed var(--sy-line); }
.cn-checkout-product-image { width: 64px; height: 64px; border-radius: 14px; object-fit: cover; }
.cn-checkout-product-name { font-size: .9rem; color: var(--sy-text); }
.cn-checkout-product-price { color: var(--sy-pink-dark); font-weight: 600; font-size: .88rem; margin-left: auto; }
.checkout-price-list { background: var(--sy-bg); border-radius: 18px; padding: 14px 18px; }
.checkout-price-list > div { display: flex; justify-content: space-between; font-size: .86rem; color: var(--sy-ink-soft); padding: 6px 0; }
.checkout-price-total { border-top: 2px solid var(--sy-pink); margin-top: 8px; padding-top: 10px; font-weight: 700; color: var(--sy-ink); }
.checkout-price-total strong { color: var(--sy-pink-dark); }
.cn-checkout-submit { width: 100%; margin-top: 14px; }
.cn-checkout-line { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.cn-checkout-line label { font-size: .86rem; color: var(--sy-ink); }
.checkout-section-title { font-size: 1.05rem; color: var(--sy-ink); margin: 20px 0 12px; }
.cn-checkout-checkbox, .cn-sms-row { display: flex; align-items: center; gap: 8px; }
.cn-sms-row .function-input { flex: 1; }

/* search page */
.cn-search-wrap { max-width: 980px; }
.cn-search-header { background: var(--sy-white); border-radius: var(--sy-radius-lg); box-shadow: var(--sy-shadow); padding: 24px 26px; margin-bottom: 20px; }
.cn-search-form { display: flex; gap: 12px; }
.cn-search-form .function-input { flex: 1; }
.cn-search-catalogs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.cn-search-catalogs a { background: var(--sy-bg); border: 2px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .84rem; padding: 7px 18px; transition: all .2s; }
.cn-search-catalogs a:hover, .cn-search-catalogs a.active { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.cn-search-quick { background: var(--sy-white); border-radius: 18px; box-shadow: var(--sy-shadow); padding: 16px 20px; margin-bottom: 16px; }
.cn-search-quick-options { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.cn-search-quick-options a { background: var(--sy-bg); border: 1px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .8rem; padding: 6px 14px; }
.cn-search-quick-options a.active { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.cn-search-filters { background: var(--sy-white); border-radius: 18px; box-shadow: var(--sy-shadow); padding: 16px 20px; margin-bottom: 20px; }
.cn-search-filter-group { margin-bottom: 14px; }
.cn-search-filter-heading { display: flex; justify-content: space-between; align-items: center; }
.cn-search-filter-title { font-size: .9rem; color: var(--sy-ink); }
.cn-search-filter-options { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.cn-search-filter-options a { background: var(--sy-bg); border: 1px solid var(--sy-pink); border-radius: 30px; color: #453339; font-size: .8rem; padding: 6px 14px; }
.cn-search-filter-options a.active { background: #965d6a; border-color: var(--sy-pink-deep); color: #fff; }
.cn-search-active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.cn-search-active-filters a { background: var(--sy-pink); color: #453339; font-size: .78rem; border-radius: 30px; padding: 5px 14px; }
.cn-search-sort { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.cn-search-sort a { color: var(--sy-ink-soft); font-size: .84rem; }
.cn-search-sort a.active { color: var(--sy-pink-dark); font-weight: 700; }
.cn-search-price { display: flex; gap: 8px; align-items: center; }
.cn-search-price .function-input { width: 90px; }
.cn-filter-toggle { display: none; }
.search-load-more { display: block; margin: 20px auto 0; }

.cn-guest-phone-query { display: flex; flex-direction: column; gap: 14px; }
.cn-guest-order-results { background: var(--sy-bg); border-radius: 18px; padding: 18px; margin-top: 14px; }
.cn-order-detail-shell { max-width: 760px; }
.cn-greeting-panel { position: fixed; inset: 0; background: rgba(247,243,244, .45); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.cn-greeting-list { background: var(--sy-white); border-radius: var(--sy-radius-lg); padding: 24px; max-height: 70vh; overflow: auto; width: 100%; max-width: 560px; }
.cn-greeting-list button { display: block; width: 100%; text-align: left; background: var(--sy-bg); border: 0; border-radius: 14px; padding: 12px 16px; margin-bottom: 8px; cursor: pointer; color: var(--sy-text); }

/* reveal animation (progressive enhancement) */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
    html { scroll-behavior: auto; }
}

/* ---------- responsive ---------- */
@media (max-width: 767px) {
    .sy-detail-tabs a[href="#delivery"],
    .sy-detail-section#delivery { display: none; }
}

@media (max-width: 960px) {
    .sy-container { padding-left: 16px; padding-right: 16px; }
    .sy-hero__inner { grid-template-columns: 1fr; padding-top: 36px; gap: 30px; }
    .sy-hero h1 { font-size: 2rem; }
    .sy-region-hero__inner { grid-template-columns: 1fr; gap: 24px; }
    .sy-region-hero__visual { display: none; }
    .sy-nav {
        display: none; position: absolute; top: 64px; left: 16px; right: 16px;
        background: #fff; border: 2px solid var(--sy-pink); border-radius: 22px;
        box-shadow: 0 16px 40px rgba(235, 164, 176, .3); padding: 18px 22px;
        flex-direction: column; align-items: flex-start; gap: 12px;
    }
    .sy-nav.is-open { display: flex; }
    .sy-menu { display: flex; }
    .sy-member-label { display: none; }
    .sy-product-grid, .f-product-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .sy-section { padding: 34px 0; }
    .sy-section--band { margin: 0 4px; border-radius: 24px; padding: 30px 4px; }
    .sy-section--band .sy-container { padding-left: 12px; padding-right: 12px; }
    .sy-supporting__grid, .sy-article-grid, .sy-service__grid, .sy-shop-grid { grid-template-columns: 1fr; }
    .sy-footer__grid { grid-template-columns: 1fr 1fr; }
    .sy-category-layout { grid-template-columns: 1fr; padding: 24px 16px 40px; }
    .sy-category-pills { position: static; flex-direction: row; overflow-x: auto; padding-bottom: 8px; }
    .sy-category-pill { white-space: nowrap; }
    .sy-category-children { grid-template-columns: repeat(2, 1fr); }
    .sy-detail__main { grid-template-columns: 1fr; gap: 22px; }
    .sy-gallery { padding: 0; }
    .sy-gallery__mobile { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; border-radius: 20px; }
    .sy-gallery__mobile::-webkit-scrollbar { display: none; }
    .sy-gallery__slide { flex: 0 0 100%; scroll-snap-align: center; background: var(--sy-bg); }
    .sy-gallery__slide img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
    .sy-gallery__desktop { display: none; }
    .sy-detail__info { padding: 0 4px; }
    .sy-detail__shell { padding: 0 16px 110px; }
    .sy-detail-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
    .sy-detail-tabs a { white-space: nowrap; }
    .sy-parameters { grid-template-columns: 1fr; }
    .sy-content { padding: 24px 20px; }
    .sy-content-pager { flex-direction: column; }
    .sy-content-pager__link--next { text-align: left; }
    .sy-category-description-images { grid-template-columns: 1fr; }
    .cn-checkout-grid { grid-template-columns: 1fr; }
    .cn-account-sections { grid-template-columns: 1fr; }
    .cn-address-list { grid-template-columns: 1fr; }
    .cn-search-form { flex-direction: column; }
    .sy-detail-dock {
        display: grid; grid-template-columns: auto auto 1fr 1fr; gap: 8px;
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
        background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px);
        border-top: 2px solid var(--sy-pink); border-radius: 22px 22px 0 0;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        align-items: center;
    }
    .sy-detail-dock a { color: var(--sy-ink-soft); font-size: .82rem; text-align: center; }
    .sy-detail-dock button { border: 0; border-radius: 30px; padding: 10px 8px; font-size: .84rem; font-weight: 600; cursor: pointer; }
    .sy-detail-dock button:nth-of-type(1) { background: var(--sy-white); border: 2px solid var(--sy-pink-deep); color: #453339; }
    .sy-detail-dock button:nth-of-type(2) { background: #965d6a; color: #fff; }
    .sy-mobile-dock {
        display: grid; grid-template-columns: repeat(5, 1fr);
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
        background: rgba(255, 255, 255, .97); backdrop-filter: blur(10px);
        border-top: 2px solid var(--sy-pink); border-radius: 22px 22px 0 0;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    }
    .sy-mobile-dock a { text-align: center; font-size: .74rem; color: var(--sy-ink-soft); padding: 6px 0; }
    .sy-mobile-dock a:hover { color: var(--sy-pink-dark); }
    body { padding-bottom: 0; }
    .sy-footer { padding-bottom: 64px; }
    .sy-hero-banners { grid-template-columns: 1fr; padding: 0 16px; }
}

@media (max-width: 480px) {
    .sy-section-head { gap: 4px 10px; }
    .sy-product-card__body { padding: 12px 13px 14px; }
    .sy-product-card__body h3 { font-size: .94rem; }
    .sy-product-card__summary { font-size: .72rem; }
    .sy-price, .price-current, .f-price { font-size: .98rem; }
    .sy-category-children { grid-template-columns: 1fr; }
    .sy-detail__info h1 { font-size: 1.4rem; }
    .sy-buy-actions { flex-direction: column; }
    .sy-buy-actions .sy-btn { min-width: 0; }
    .sy-footer__grid { grid-template-columns: 1fr; gap: 20px; }
    .cart-line { grid-template-columns: 68px 1fr; }
    .cart-line img { width: 68px; height: 68px; }
    .cn-cart-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; align-items: center; }
}

/* ---------- mobile: compress non-product long modules (content stays accessible) ---------- */
@media (max-width: 960px) {
    /* 辅助面板：限高 + 内部滚动 */
    .sy-supporting__grid .sy-panel {
        max-height: 360px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .sy-supporting__grid .sy-panel > h2 { flex: 0 0 auto; }
    .sy-supporting__grid .sy-panel__sub { flex: 0 0 auto; }
    .sy-supporting__grid .sy-panel > .sy-link-list,
    .sy-supporting__grid .sy-panel > .sy-review-list,
    .sy-supporting__grid .sy-panel > .sy-order-list {
        overflow-y: auto;
        flex: 1 1 auto;
        min-height: 0;
        -webkit-overflow-scrolling: touch;
    }
    /* 文章卡（送花指南等）：横向滑动 */
    .sy-article-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .sy-article-grid::-webkit-scrollbar { display: none; }
    .sy-article-card { flex: 0 0 82%; scroll-snap-align: start; }
    /* 合作花店：横向滑动 */
    .sy-shop-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .sy-shop-grid::-webkit-scrollbar { display: none; }
    .sy-shop-card { flex: 0 0 78%; }
    /* 配送地区标签：横向滑动 */
    .sy-region-wrap {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .sy-region-wrap::-webkit-scrollbar { display: none; }
    .sy-region-tag { flex: 0 0 auto; }
}
/* Storefront-owned price labels and phone footer. */
.price-current{white-space:nowrap}
.price-module{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.price-module>.price-normal,.price-module>.price-holiday{display:inline-flex;align-items:baseline;gap:3px;margin:0;color:inherit;font-size:1em;font-weight:700;line-height:1.25;white-space:nowrap}
.price-module>.price-normal>span,.price-module>.price-holiday>span{font-size:.72em;font-weight:600}
html.js .price-module{visibility:hidden}
html.js .price-module.js-ready{visibility:visible}
.price-market{margin-left:8px;text-decoration:line-through;white-space:nowrap}
@media(max-width:767px){body>footer{display:none!important}}
@media(max-width:520px){.price-module{display:inline-grid;gap:2px}.price-module>.price-normal,.price-module>.price-holiday{display:flex}
}

/* Mobile product areas follow the malatown edge density without changing theme styling. */
@media (max-width: 720px) {
    .f-independent-product > .sy-container,
    .sy-listing { width: min(100% - 10px, 1180px); padding-inline: 0; }
    body .cn-function-page.cn-product-search .cn-search-wrap { width: 100%; max-width: none; padding-inline: 6px; }
}

/* Stable section anchors keep the rhythm intact when an empty product module is omitted at render time. */
.f-ind-theme-syflowers.f-independent-flow{display:flex;flex-direction:column}
.f-ind-theme-syflowers.f-independent-flow>section{width:100%}
@media (min-width:901px){
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--1{order:10}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--2{order:20}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--3{order:30}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--4{order:40}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--5{order:50}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--6{order:60}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--7{order:70}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--1{order:75}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--8{order:80}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--9{order:90}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--2{order:95}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--10{order:100}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--11{order:110}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--12{order:120}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--3{order:115}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--4{order:125}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--5{order:1050}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--1{order:10}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--1{order:75}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--2{order:20}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--3{order:30}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--4{order:40}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--2{order:95}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--5{order:50}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--6{order:60}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--7{order:70}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--3{order:115}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--8{order:80}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--9{order:90}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--4{order:125}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--10{order:100}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--11{order:110}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--12{order:120}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--5{order:135}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--6{order:1060}
}
@media (max-width:900px){
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--1{order:10}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--2{order:20}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--3{order:30}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--4{order:40}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--5{order:50}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--6{order:60}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--7{order:70}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--8{order:80}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--9{order:90}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--10{order:100}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--11{order:110}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-product--12{order:120}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--1{order:1010}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--2{order:1020}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--3{order:1030}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--4{order:1040}
.f-ind-theme-syflowers.f-independent-home.f-independent-flow>section.f-independent-support--5{order:1050}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--1{order:10}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--2{order:20}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--3{order:30}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--4{order:40}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--5{order:50}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--6{order:60}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--7{order:70}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--8{order:80}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--9{order:90}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--10{order:100}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--11{order:110}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-product--12{order:120}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--1{order:1010}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--2{order:1020}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--3{order:1030}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--4{order:1040}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--5{order:1050}
.f-ind-theme-syflowers.f-independent-region.f-independent-flow>section.f-independent-support--6{order:1060}
}


/* Independent mobile rhythm normalization: syflowers */
@media (max-width: 720px) {
  .f-ind-theme-syflowers > .sy-banner { padding-bottom: 0; }
  .f-ind-theme-syflowers > .sy-section--category { padding-top: 14px; padding-bottom: 0; }
  .f-ind-theme-syflowers > .f-original-product-section { padding-block: 30px; }
  .f-ind-theme-syflowers .f-original-product-section .sy-section-head { margin-bottom: 18px; }
  .f-ind-theme-syflowers .f-original-product-section .sy-product-grid { column-gap: 8px; row-gap: 12px; }
  .f-ind-theme-syflowers .f-original-product-section .sy-product-grid + .sy-product-grid { margin-top: 12px; }
}
/* syflowers category browse: compact one-row mobile navigation (site-local only) */
@media (max-width: 767px) {
  .sy-category-browse .sy-breadcrumb { display: none; }
  .sy-category-browse .sy-filter {
    width: 100%; max-width: none; margin: 0; padding: 0;
    border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--sy-line);
    background: #fff;
  }
  .sy-category-browse .sy-filter > .sy-container {
    position: relative; min-width: 0; padding: 0 10px;
  }
  .sy-category-browse .sy-filter ul {
    display: flex; flex-wrap: nowrap; align-items: center; gap: 2px;
    width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden;
    padding: 4px 22px 4px 0; margin: 0;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .sy-category-browse .sy-filter ul::-webkit-scrollbar,
  .sy-category-browse .sy-featured-group ul::-webkit-scrollbar { display: none; }
  .sy-category-browse .sy-filter li { flex: 0 0 auto; scroll-snap-align: start; }
  .sy-category-browse .sy-filter li a {
    display: flex; align-items: center; justify-content: center;
    height: 34px; padding: 0 12px; border: 0; border-radius: 19px;
    background: transparent; color: var(--sy-text);
    font-size: .8rem; font-weight: 500; line-height: 1.1; white-space: nowrap;
  }
  .sy-category-browse .sy-filter li a.on,
  .sy-category-browse .sy-filter li a:hover {
    background: #ed3861; border: 0; color: #fff;
  }
  /* Visible right-edge cue to swipe for more categories; cannot block touch. */
  .sy-category-browse .sy-filter > .sy-container::after,
  .sy-category-browse .sy-featured-group::after {
    content: "\203A"; position: absolute; top: 0; right: 0; bottom: 0;
    width: 22px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(90deg, rgba(255,255,255,0), #fff 55%);
    color: #e83e62; font-size: 20px; font-weight: 600;
    pointer-events: none; z-index: 1;
  }
  .sy-category-browse .sy-category-title {
    margin: 0; padding: 9px 0 7px; border-radius: 0;
    background: #fff; box-shadow: none;
  }
  .sy-category-browse .sy-category-title .sy-container { padding: 0 10px; }
  .sy-category-browse .sy-category-title h1 {
    margin: 0; font-size: 1.24rem; font-weight: 700;
    line-height: 1.35; text-align: center; color: var(--sy-text);
  }
  .sy-category-browse .sy-featured-groups {
    display: block; max-width: none; margin: 0; padding: 0 10px 5px;
    background: #fff;
  }
  .sy-category-browse .sy-featured-groups > .sy-container {
    min-width: 0; padding: 0;
  }
  .sy-category-browse .sy-featured-group {
    position: relative; min-width: 0; padding: 0; margin: 0;
    background: transparent; border-radius: 0; box-shadow: none;
  }
  .sy-category-browse .sy-featured-group + .sy-featured-group {
    border-top: 1px solid var(--sy-line);
  }
  .sy-category-browse .sy-featured-group ul {
    display: flex; flex-wrap: nowrap; align-items: center; gap: 0;
    width: 100%; min-width: 0; max-width: 100%;
    padding: 0 22px 0 0; margin: 0;
    overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .sy-category-browse .sy-featured-group li {
    flex: 0 0 auto; scroll-snap-align: start;
  }
  .sy-category-browse .sy-featured-group li a {
    display: block; padding: 9px 12px; border: 0; border-radius: 0;
    background: transparent; color: var(--sy-text);
    font-size: .8rem; line-height: 1.2; white-space: nowrap;
  }
  .sy-category-browse .sy-featured-group li a.on,
  .sy-category-browse .sy-featured-group li a:hover {
    background: transparent; border: 0; color: #e83e62;
    box-shadow: inset 0 -2px 0 #e83e62;
  }
  .sy-category-browse .sy-listing { padding-top: 10px; }
}
/* mobile-long-copy-last:independent */
@media (max-width:900px) {
  .f-ind-theme-syflowers.f-independent-region > .sy-breadcrumb {
    display:none!important;
  }
  .f-independent-flow {
    display:flex!important;
    flex-direction:column!important;
  }
  .f-independent-flow > .f-seo-section,
  .f-independent-flow > .f18-seo-section,
  .f-independent-flow > .sy-seo-section,
  .f-independent-flow > .h9-seo-section {
    order:9999!important;
  }

  /* Keep verbose regional descriptions out of the mobile first screen.
     The complete service copy remains available in the bottom SEO section. */
  .f-independent-region .sy-region-hero__copy > p {
    display:none!important;
  }
  .f-ind-theme-gli.f-independent-region .f-region-hero p:not(.f-eyebrow) {
    display:none!important;
  }
}

/* Syflowers storefront: show biaoqian in its own row BELOW the product image.
   Covers existing static home/region/category HTML and waterfall cards without rebuild. */
main:is(.sy-home, .sy-region, .sy-category-browse) .sy-product-card__media {
  display: flex;
  flex-direction: column;
  aspect-ratio: auto;
  overflow: hidden;
  background: #fff;
}
main:is(.sy-home, .sy-region, .sy-category-browse) .sy-product-card__media img {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transform: none;
}
main:is(.sy-home, .sy-region, .sy-category-browse) .sy-product-card:hover .sy-product-card__media img {
  transform: none;
}
main:is(.sy-home, .sy-region, .sy-category-browse) .sy-card-badge {
  position: static;
  display: block;
  flex: 0 0 auto;
  top: auto;
  left: auto;
  width: calc(100% - 20px);
  max-width: calc(100% - 20px);
  margin: 7px 10px 0;
  padding: 4px 9px;
  border-radius: 8px;
  background: #fff1f4;
  color: #965d6a;
  box-shadow: none;
  font-size: .74rem;
  font-weight: 600;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
main:is(.sy-home, .sy-region, .sy-category-browse) .sy-product-card__body {
  padding-top: 8px;
}

/* Search renders the same field as .f-product-card__selling in the card body.
   Reorder just this element visually; no shared PHP or other site is changed. */
body .cn-product-search .f-product-card__body {
  padding-top: 8px;
}
body .cn-product-search .f-product-card__selling.cn-product-tags {
  order: -1;
  align-self: stretch;
  flex: 0 0 auto;
  min-height: 0;
  max-width: 100%;
  margin: 0 0 8px;
  padding: 4px 9px;
  border-radius: 8px;
  background: #fff1f4;
  color: #965d6a;
  font-size: .74rem;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Category-only fix: storefront-polish.css loads after this file and forces
   #product-grid media to block/4:5. Keep 4:5 on the IMAGE instead so biaoqian
   remains a distinct row underneath, including waterfall cards. */
.sy-category-browse #product-grid .sy-product-card__media {
  display: flex !important;
  flex-direction: column;
  aspect-ratio: auto !important;
  height: auto !important;
  border-radius: 8px 8px 0 0 !important;
}
.sy-category-browse #product-grid .sy-product-card__media > img {
  flex: 0 0 auto;
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover;
}
.sy-category-browse #product-grid .sy-product-card__media > .sy-card-badge {
  position: static !important;
  display: block;
  flex: 0 0 auto;
}

/* syflowers home + region cards: match category 4:5 portrait photos;
   keep biaoqian in its own row beneath the image. Category/search untouched. */
main:is(.sy-home, .sy-region) .sy-product-card__media {
  display: flex !important;
  flex-direction: column;
  aspect-ratio: auto !important;
  height: auto !important;
  border-radius: 8px 8px 0 0 !important;
}
main:is(.sy-home, .sy-region) .sy-product-card__media > img {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover;
}
main:is(.sy-home, .sy-region) .sy-product-card__media > .sy-card-badge {
  position: static !important;
  display: block;
  flex: 0 0 auto;
}
