/* CastShop app source of truth: AppThemePalette.light, AppTypographyScope,
   HomeTabAppBar, HomeProductTagSection and BrandGridCardsSliverSkeleton. */
@font-face { font-family: Pretendard; src: url('./assets/fonts/PretendardVariable.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: CastCupertino; src: url('./assets/fonts/CupertinoIcons.ttf') format('truetype'); font-display: block; }
@font-face { font-family: CastMaterial; src: url('./assets/fonts/CastMaterialIcons.otf') format('opentype'); font-display: block; }
.global-storefront body.theme-beclean.gp-app-ui {
  --gp-ink: #000; --gp-muted: #0000008a; --gp-line: #e5e5e5;
  --gp-green: #000; --gp-surface: #f6f7f9; --gp-mint: #5fae87;
  --cast-placeholder: #e5e7eb; --cast-discount: #ff2d55;
  color: #000; font-family: Pretendard, sans-serif;
}
.global-storefront .cast-app-icon { display: inline-block; flex: 0 0 auto; width: 24px; height: 24px; font: 24px/1 CastCupertino !important; text-align: center; font-style: normal; font-weight: normal; text-transform: none; -webkit-font-smoothing: antialiased; }
.global-storefront .cast-app-icon--heart { font-family: CastMaterial !important; }
.global-storefront body.theme-beclean.gp-app-ui .topbar { position: sticky !important; top: 0 !important; background: #fff; border: 0; }
.global-storefront body.theme-beclean.gp-app-ui .topbar .topbar-inner { position: relative; width: min(1120px, calc(100% - 32px)); max-width: 1120px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important; grid-template-rows: 56px !important; gap: 16px; padding: 0 !important; }
.global-storefront body.theme-beclean.gp-app-ui .topbar .header-brand { grid-area: 1 / 2 !important; }
.global-storefront .gp-app-ui .gp-wordmark { width: auto; height: 24px; filter: none; }
.global-storefront .gp-app-leading { grid-area: 1 / 1; display: flex; align-items: center; gap: 8px; min-width: 0; }
.global-storefront .gp-app-ui .gp-search { position: static; flex: 1; height: 36px; max-width: 280px; border: 0; border-radius: 8px; background: #f6f7f9; }
.global-storefront .gp-app-ui .gp-search input { font-size: 13px; }
.global-storefront .gp-app-ui .gp-search button { color: #000; flex: 0 0 36px; height: 36px; }
.global-storefront .gp-app-ui .gp-search:focus-within { box-shadow: 0 0 0 1px #e5e5e5; }
.global-storefront .gp-app-gift { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 8px; }
.global-storefront .gp-app-gift img { display: block; width: 26px; height: 26px; object-fit: contain; }
.global-storefront body.theme-beclean.gp-app-ui .topbar .utility-nav { grid-area: 1 / 3 !important; gap: 6px; }
.global-storefront body.theme-beclean.gp-app-ui .header-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; min-height: 0; color: #000; background: transparent; border: 0; text-decoration: none; }
.global-storefront body.theme-beclean.gp-app-ui .cart-count-badge { background: #ff3b30; }
.global-storefront .gp-app-ui .cart-count-badge[hidden] { display: none !important; }
.global-storefront .gp-app-ui .gp-utility-strip { min-height: 28px; border: 0; background: #fff; }
.global-storefront .gp-app-ui .gp-preferences { min-height: 28px; gap: 12px; flex-wrap: wrap; }
.global-storefront body.theme-beclean.gp-app-ui .gp-preferences .header-icon-btn { width: 24px; height: 28px; padding: 0; }
.global-storefront .gp-preferences .cast-app-icon { font-size: 16px !important; width: 16px; height: 16px; }
.global-storefront body.theme-beclean.gp-app-ui .gp-preferences .header-icon-btn svg { width: 16px; height: 16px; }
.global-storefront .gp-app-ui .gp-announcement { margin-top: 32px; background: #f6f7f9; color: #0000008a; }
.global-storefront .gp-app-ui .gp-announcement strong { color: #000; }
.global-storefront .gp-app-ui .gp-storefront { padding-top: 20px; }
.global-storefront .gp-app-ui .gp-first-purchase { background: #f6f7f9; border: 0; border-radius: 8px; padding: 14px 16px; }
.global-storefront .gp-app-ui .gp-first-purchase h2 { color: #000; font-size: 20px; font-weight: 700; }
.global-storefront .gp-app-ui .gp-first-purchase p { color: #0000008a; }
.global-storefront .gp-app-ui .gp-first-purchase .gp-discovery-link { color: #0000008a; background: transparent; padding: 0; font-size: 13px; }
.global-storefront .gp-app-ui .gp-tabs button { font-weight: 500; color: #00000073; }
.global-storefront .gp-app-ui .gp-tabs button[aria-pressed='true'] { font-weight: 700; color: #000; border-color: #000; }
.global-storefront .gp-app-ui .gp-filters button { color: #0000008a; }
.global-storefront .gp-app-ui .gp-filters button[aria-pressed='true'] { color: #000; }
.global-storefront .gp-sort-control { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.global-storefront .gp-sort-control[hidden] { display: none; }
.global-storefront .gp-sort-control .cast-app-icon { width: 18px; height: 18px; font-size: 18px !important; }
.global-storefront .gp-app-ui .gp-controls select { color: #000; font-size: 13px; font-weight: 500; }
.global-storefront .gp-app-ui .gp-card { background: #fff; color: #000; border: 0; border-radius: 0; padding: 0; margin: 0; box-shadow: none; }
.global-storefront .gp-app-ui .gp-media { aspect-ratio: 4 / 4.5; border-radius: 8px; background: #f0f0f0; }
.global-storefront .gp-app-ui .gp-brand-catalog .gp-media,
.global-storefront .gp-app-ui.page-shop .gp-media { aspect-ratio: 1; }
.global-storefront .gp-app-ui .gp-media img { object-fit: cover; mix-blend-mode: normal; transform: none; }
.global-storefront .gp-app-ui .gp-card-brand-row { min-height: 16px; margin: 7px 0 0; }
.global-storefront .gp-app-ui .gp-card-brand { font: 600 13px/1.2 Pretendard, sans-serif; color: #000; }
.global-storefront .gp-app-ui .gp-card-title { color: #000; font: 500 14px/1.22 Pretendard, sans-serif; min-height: 2.44em; margin: 3px 0; }
.global-storefront .gp-app-ui .gp-price { margin: 0; gap: 3px 6px; min-height: 17px; }
.global-storefront .gp-app-ui .gp-current { font: 700 15px/1.1 Pretendard, sans-serif; color: #000; }
.global-storefront .gp-app-ui .gp-discount { font: 800 15px/1.1 Pretendard, sans-serif; color: var(--cast-discount); }
.global-storefront .gp-app-ui .gp-save { position: absolute; top: auto; bottom: 1px; inset-inline-end: 0; z-index: 2; width: 34px; height: 34px; padding: 6px; border-radius: 8px; background: transparent; color: #d0d0d0; }
.global-storefront .gp-app-ui .gp-save .cast-app-icon { width: 22px; height: 22px; font-size: 22px !important; -webkit-text-stroke: 1px #fff; }
.global-storefront .gp-app-ui .gp-save[aria-pressed='true'] { color: #ff2d55; }
.global-storefront .gp-app-ui .gp-product-grid,
.global-storefront .gp-app-ui #productGrid.is-shop-all-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 16px; align-items: start; }
.global-storefront .gp-app-ui .gp-product-grid[hidden] { display: none; }
.global-storefront .gp-app-ui .gp-skeleton { display: flex; flex-direction: column; min-width: 0; aspect-ratio: auto; background: transparent; border-radius: 0; animation: none; }
.global-storefront .gp-skeleton span { display: block; flex-shrink: 0; }
.global-storefront .gp-skeleton-image { width: 100%; aspect-ratio: 4 / 4.5; border-radius: 8px; background: #f0f0f0; }
.global-storefront .gp-skeleton-brand { width: 52%; height: 11px; margin-top: 7px; border-radius: 999px; background: #f4f4f4; }
.global-storefront .gp-skeleton-title { width: 72%; height: 13px; margin-top: 4px; border-radius: 8px; background: #f0f0f0; }
.global-storefront .gp-skeleton-subtitle { width: 58%; height: 13px; margin-top: 4px; border-radius: 8px; background: #f2f2f2; }
.global-storefront .gp-skeleton-price { width: 46%; height: 18px; margin-top: 5px; border-radius: 8px; background: #f0f0f0; }
.global-storefront .gp-brand-catalog .gp-skeleton-image,
.global-storefront .page-shop .gp-skeleton-image { aspect-ratio: 1; background: #e5e7eb; }
.global-storefront :is(.gp-brand-catalog, .page-shop) :is(.gp-skeleton-brand, .gp-skeleton-title, .gp-skeleton-price) { background: #f0f2f5; }
.global-storefront .gp-app-ui .gp-load-more[aria-busy='true']::after { display: none; }
.global-storefront .cast-app-spinner { display: inline-block; position: relative; width: 24px; height: 24px; margin-inline-start: 8px; vertical-align: middle; }
.global-storefront .cast-app-spinner i { position: absolute; top: 1px; left: 11px; width: 2px; height: 6px; border-radius: 2px; background: #8e8e93; transform-origin: 1px 11px; transform: rotate(calc(var(--tick) * 45deg)); animation: cast-spinner 800ms linear infinite; animation-delay: calc(var(--tick) * -100ms); }
@keyframes cast-spinner { from { opacity: 1; } to { opacity: .2; } }
.global-storefront .gp-app-ui .gp-broadcast-card { border-radius: 14px; background: #f6f7f9; }
.global-storefront .gp-app-ui .gp-broadcast-heading h2 { font-size: 20px; font-weight: 700; color: #000; }
.global-storefront .gp-app-ui .gp-broadcast-rail { scrollbar-color: #e5e7eb transparent; }
.global-storefront .gp-app-ui .gp-broadcast-badge.is-upcoming { background: #f6f7f9; color: #000; }
.global-storefront .gp-broadcast-filters button { display: inline-flex; flex-direction: column; align-items: center; justify-content: end; gap: 7px; min-width: 58px; }
.global-storefront .gp-broadcast-app-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #f4f5f6; overflow: hidden; }
.global-storefront .gp-broadcast-app-icon::after { content: ''; display: block; width: 44px; height: 44px; background: #5fae87; mask: var(--app-icon) center / contain no-repeat; -webkit-mask: var(--app-icon) center / contain no-repeat; transform: scale(1.15); }
.global-storefront .gp-app-ui :is(a, button, select):focus-visible { outline: 2px solid #000; outline-offset: 3px; }
@media (min-width: 761px) and (max-width: 1000px) {
  .global-storefront .gp-app-ui .gp-product-grid,
  .global-storefront .gp-app-ui #productGrid.is-shop-all-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .global-storefront body.theme-beclean.gp-app-ui .topbar .topbar-inner { grid-template-rows: 45px !important; gap: 6px; }
  .global-storefront .gp-app-ui .gp-wordmark { height: 20px; }
  .global-storefront .gp-app-leading { gap: 2px; }
  .global-storefront .gp-app-ui .gp-search { flex: 0 0 32px; max-width: 32px; height: 36px; background: none; }
  .global-storefront .gp-app-ui .gp-search button { flex-basis: 32px; }
  .global-storefront .gp-app-ui .gp-search input { position: absolute; width: 0; opacity: 0; padding: 0; pointer-events: none; }
  .global-storefront .gp-app-ui .gp-search:focus-within { position: absolute; inset-inline: 0; top: 0; z-index: 3; width: 100%; max-width: none; height: 45px; background: #fff; }
  .global-storefront .gp-app-ui .gp-search:focus-within input { position: static; width: 100%; opacity: 1; padding-inline: 12px; pointer-events: auto; }
  .global-storefront .gp-app-gift { flex-basis: 32px; }
  .global-storefront .gp-app-gift img { width: 24px; height: 24px; }
  .global-storefront body.theme-beclean.gp-app-ui .topbar .utility-nav { gap: 2px; }
  .global-storefront body.theme-beclean.gp-app-ui .header-icon-btn { width: 32px; }
  .global-storefront .gp-app-ui .gp-first-purchase { padding: 12px; gap: 6px; }
  .global-storefront .gp-app-ui .gp-first-purchase h2 { font-size: 18px; }
  .global-storefront .gp-app-ui .gp-first-purchase .gp-discovery-link { font-size: 11px; }
  .global-storefront .gp-app-ui .gp-product-grid,
  .global-storefront .gp-app-ui #productGrid.is-shop-all-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 10px; }
  .global-storefront .gp-app-ui .gp-controls { gap: 10px; }
  .global-storefront .gp-app-ui .gp-controls select { font-size: 12px; max-width: 125px; }
  .global-storefront .gp-app-ui .gp-broadcast-filters { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { .global-storefront .cast-app-spinner i { animation: none; opacity: .55; } }
