/* Theme 21 page placeholders. Colors follow the tenant palette. */
.fashion-storefront .fashion-skeleton {
    --sk-base: #e9e9e9;
    --sk-base: color-mix(in srgb, var(--theme-background) 90%, var(--theme-text));
    --sk-light: #f4f4f4;
    --sk-light: color-mix(in srgb, var(--theme-background) 97%, var(--theme-text));
    color: var(--theme-text);
    background: var(--theme-background);
    min-height: 60vh;
}
.fashion-storefront .fashion-skeleton[hidden] { display: none !important; }
.fashion-skeleton-active .fashion-storefront #react-spa-root {
    opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; pointer-events: none;
}
.fashion-skeleton-active .fashion-storefront #fashion-shell-footer { display:none; }
.fashion-skeleton-active .fashion-storefront .fashion-skeleton { min-height: 80vh; }
.fashion-storefront .fashion-sk-block {
    display: block; border-radius: 6px; background: var(--sk-base, #e9e9e9);
    background-image: linear-gradient(100deg, transparent 25%, var(--sk-light, #f4f4f4) 45%, transparent 65%);
    background-size: 240% 100%; animation: fashion-skeleton-shimmer 1.5s ease-in-out infinite;
}
.fashion-storefront .fashion-sk-container { width: min(1200px, calc(100% - 32px)); margin: auto; padding-block: 32px 48px; }
.fashion-storefront .fashion-sk-line { width:100%; height:16px; margin-block:14px; }
.fashion-storefront .fashion-sk-short { width:60%; }
.fashion-storefront .fashion-sk-title { width:65%; height:30px; margin-bottom:26px; }
.fashion-storefront .fashion-sk-page-title { width:min(280px,65%); margin:0 auto 32px; }
.fashion-storefront .fashion-sk-hero { width:100%; height:var(--hero-height,500px); border-radius:0; }
.fashion-storefront .fashion-sk-banner { width:100%; height:180px; border-radius:0; }
.fashion-storefront .fashion-sk-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
.fashion-storefront .fashion-sk-card { min-width:0; }
.fashion-storefront .fashion-sk-card .fashion-sk-line { margin-inline:auto; width:80%; }
.fashion-storefront .fashion-sk-card .fashion-sk-short { width:45%; }
.fashion-storefront .fashion-sk-photo { aspect-ratio:5/7; width:100%; border-radius:14px; }
.fashion-storefront .fashion-sk-sort { width:220px; height:48px; margin-bottom:24px; }
.fashion-storefront .fashion-sk-columns { display:grid; grid-template-columns:1.08fr 1fr; gap:40px; align-items:start; }
.fashion-storefront .fashion-sk-panel { min-width:0; border:1px solid var(--sk-base,#e9e9e9); padding:24px; border-radius:14px; }
.fashion-storefront .fashion-sk-product-image { width:100%; aspect-ratio:4/5; border-radius:14px; }
.fashion-storefront .fashion-sk-thumbs { display:flex; gap:12px; margin-top:16px; }
.fashion-storefront .fashion-sk-thumb { width:70px; height:90px; flex:0 0 70px; border-radius:8px; }
.fashion-storefront .fashion-sk-label { width:30%; height:12px; margin-bottom:10px; }
.fashion-storefront .fashion-sk-input { width:100%; height:48px; }
.fashion-storefront .fashion-sk-field { margin-bottom:24px; }
.fashion-storefront .fashion-sk-action { height:var(--fashion-action-height,60px); width:100%; border-radius:var(--site-button-radius,0px); margin-top:24px; }
.fashion-storefront .fashion-sk-summary-layout { grid-template-columns:1.3fr 1fr; }
.fashion-storefront .fashion-sk-item { display:flex; align-items:start; gap:16px; margin-bottom:24px; }
.fashion-storefront .fashion-sk-item > div { flex:1; min-width:0; }
.fashion-storefront .fashion-sk-note { height:110px; }
.fashion-storefront .fashion-sk-auth { max-width:540px; }
.fashion-storefront .fashion-sk-account-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; }
.fashion-storefront .fashion-sk-account-nav { display:grid; gap:12px; }
.fashion-storefront .fashion-sk-content { max-width:1000px; }
.fashion-storefront .fashion-sk-status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fashion-storefront .fashion-mini-skeleton { --sk-base:color-mix(in srgb,var(--theme-background) 90%,var(--theme-text)); --sk-light:color-mix(in srgb,var(--theme-background) 97%,var(--theme-text)); }
@keyframes fashion-skeleton-shimmer { from {background-position:150% 0} to {background-position:-100% 0} }
@media(max-width:767px) {
    .fashion-storefront .fashion-sk-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
    .fashion-storefront .fashion-sk-columns,.fashion-storefront .fashion-sk-account-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
    .fashion-storefront .fashion-sk-account-nav { grid-template-columns:repeat(3,minmax(0,1fr)); padding:14px; }
    .fashion-storefront .fashion-sk-account-nav > :nth-child(n+4) { display:none; }
    .fashion-storefront .fashion-sk-panel { padding:20px; }
    .fashion-storefront .fashion-sk-hero { height:var(--hero-mobile-height,clamp(300px,110vw,600px)); }
    .fashion-storefront .fashion-sk-banner { height:140px; }
}
@media(prefers-reduced-motion:reduce) { .fashion-storefront .fashion-sk-block { animation:none; background-image:none; } }

.fashion-storefront .fashion-page-load-error { padding:48px 24px; text-align:center; min-height:40vh; }
.fashion-storefront .fashion-page-load-error p { margin-bottom:20px; }
