/* SaaS official theme liwan 2.0 — loaded only for stores on this theme's 2.0 generation.
   Colours come from the store's own tokens (--store-*), so merchant colour, font,
   corner and header/footer choices keep precedence over the theme's defaults. */
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] {
  --v2-heading-font: var(--store-heading-font, var(--store-font-family, system-ui));
  --v2-section-gap: 3rem;
  font-feature-settings: "kern", "liga";
  -webkit-font-smoothing: antialiased;
}
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .theme-v2-ornament { display: block; height: var(--v2-ornament-height, 0); background: var(--v2-ornament, none); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .store-sections { gap: var(--v2-section-gap); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] :is(.t-display, .t-h2) { font-family: var(--v2-heading-font); text-wrap: balance; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-product-card] .t-card-title { white-space: normal; overflow: visible; text-overflow: clip; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] :is(a, button):focus-visible { outline: 2px solid var(--store-accent, currentColor); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .studio-store[data-theme-generation="2"][data-studio-theme="liwan"] * { transition: none !important; animation: none !important; } }

/* Liwan 2.0 — home and decor: warm linen, rooms in landscape, calm serif. */
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] { --v2-heading-font: var(--store-heading-font, Georgia, "Times New Roman", serif); --v2-section-gap: clamp(3.5rem, 7cqw, 5.5rem);
  background-image: repeating-linear-gradient(0deg, color-mix(in srgb, var(--store-text) 3%, transparent) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--store-text) 2%, transparent) 0 1px, transparent 1px 5px); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .studio-header[data-layout="theme"] .studio-header-inner { padding-block: 1.4rem; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .studio-brand { font-family: var(--v2-heading-font); font-weight: 400; font-size: 1.7rem; font-style: italic; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .studio-desktop-navigation a { font-size: .9rem; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-section-type="hero"] section { border-radius: var(--radius-card, .5rem); min-height: min(72vh, 42rem); align-items: stretch; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-section-type="hero"] section > div:last-child { margin-inline-start: auto; max-width: 26rem; padding: clamp(1.5rem, 4cqw, 3rem); display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top, color-mix(in srgb, var(--store-text) 70%, transparent), transparent); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-section-type="hero"] .t-display { font-weight: 400; font-size: clamp(2.2rem, 5cqw, 3.8rem); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .t-h2 { font-weight: 400; font-size: clamp(1.7rem, 3.2cqw, 2.5rem); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-product-card] { border-radius: var(--radius-card, .5rem); box-shadow: none; border: 1px solid color-mix(in srgb, var(--store-text) 10%, transparent); background: var(--store-surface); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-product-card] > a:first-child { aspect-ratio: 4 / 3; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-product-card] .t-card-title { font-family: var(--v2-heading-font); font-weight: 400; font-size: 1.05rem; }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] [data-product-card] button { border-radius: var(--radius-card, .5rem); background: var(--store-text); color: var(--store-background); }
.studio-store[data-theme-generation="2"][data-studio-theme="liwan"] .studio-footer { background: color-mix(in srgb, var(--store-primary) 88%, black); color: var(--store-background); }

.studio-store[data-theme-generation="2"][data-studio-theme="liwan"][dir="rtl"] { --v2-dir: left; }
