/* Index only: preserve the shared storefront, basket and merchant styles. */
.store-panel .index-vitrin { --vitrin-ink:#172c43; --vitrin-muted:#516377; }
.index-vitrin .vitrin-showcase { display:grid; grid-template-columns:1.3fr 1fr; gap:36px; padding:44px; margin:8px 0 18px; border-radius:28px; background:linear-gradient(120deg,#edf2f5 0%,#e5edf0 62%,#f5efe3 100%); border:1px solid #dce5e8; color:var(--vitrin-ink); overflow:hidden; }
.index-vitrin .vitrin-overline { font-size:11px; letter-spacing:1.6px; font-weight:700; margin:0 0 22px; color:#36516a; }
.index-vitrin .vitrin-overline > span { font-size:20px; margin-right:8px; vertical-align:middle; }
.index-vitrin .vitrin-showcase h2 { font-size:clamp(32px,4.2vw,58px); line-height:1.12; letter-spacing:-2px; margin:0 0 22px; color:var(--vitrin-ink); }
.index-vitrin .vitrin-showcase h2 em { font-style:normal; color:#385a9b; }
.index-vitrin .vitrin-showcase-copy > p:not(.vitrin-overline) { max-width:440px; font-size:15px; line-height:1.8; color:var(--vitrin-muted); }
.index-vitrin .vitrin-showcase-actions { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; margin:28px 0; }
.index-vitrin .vitrin-primary-link { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:48px; padding:14px 22px; border-radius:12px; background:#172c43; color:#fff; font-size:13px; font-weight:700; transition:background .18s,transform .18s; }
.index-vitrin .vitrin-primary-link:hover { background:#2c4969; transform:translateY(-2px); }
.index-vitrin .vitrin-secondary-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#253d58; font-size:13px; font-weight:600; }
.index-vitrin .vitrin-showcase-caption { display:flex; align-items:center; gap:14px; padding-top:18px; border-top:1px solid #cdd9e1; max-width:360px; }
.index-vitrin .vitrin-showcase-caption strong { font-size:38px; line-height:1; letter-spacing:-1px; }
.index-vitrin .vitrin-showcase-caption span { font-size:11px; line-height:1.7; color:#506479; }
.index-vitrin .vitrin-featured { display:flex; flex-direction:column; min-width:0; border-radius:20px; background:#fff; padding:20px; color:var(--vitrin-ink); box-shadow:0 18px 40px #172c4310; transition:transform .2s; }
.index-vitrin .vitrin-featured:hover { transform:translateY(-4px); color:var(--vitrin-ink); }
.index-vitrin .vitrin-featured-top { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:10px; font-weight:700; letter-spacing:1px; }
.index-vitrin .vitrin-featured-top i { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:#172c43; background:#dcf0b8; font-size:18px; }
.index-vitrin .vitrin-featured-photo { display:grid; place-items:center; height:210px; margin:10px 0; }
.index-vitrin .vitrin-featured-photo img { width:100%; height:100%; max-height:210px; object-fit:contain; }
.index-vitrin .vitrin-featured-photo > i { font-size:88px; color:#8097ac; }
.index-vitrin .vitrin-featured-caption { border-top:1px solid #edf1f5; padding-top:14px; }
.index-vitrin .vitrin-featured-caption > span:first-child { font-size:11px; color:#576b7f; }
.index-vitrin .vitrin-featured-caption h3 { font-size:20px; line-height:1.4; margin:5px 0 14px; overflow-wrap:anywhere; }
.index-vitrin .vitrin-featured-more { display:flex; justify-content:space-between; font-size:12px; font-weight:600; }
.index-vitrin .vitrin-showcase-empty { display:grid; align-content:center; justify-items:center; text-align:center; background:#dce6ed; border-radius:20px; min-height:260px; }
.index-vitrin .vitrin-showcase-empty i { font-size:80px; color:#607c94; }
.index-vitrin .vitrin-showcase-empty p { margin-top:16px; color:#36516a; font-size:22px; line-height:1.4; }
.index-vitrin .vitrin-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:36px; }
.index-vitrin .vitrin-shortcuts a { display:flex; align-items:center; gap:12px; min-height:64px; padding:14px 18px; border:1px solid #dce5ed; border-radius:14px; background:#fff; font-size:13px; font-weight:600; color:#253d58; }
.index-vitrin .vitrin-shortcuts span { font-size:11px; color:#667d90; }
.index-vitrin .vitrin-shortcuts i { margin-left:auto; font-size:19px; color:#385a9b; }
.index-vitrin .vitrin-shortcuts a:hover { background:#f0f5fa; border-color:#aabfd2; }
.store-panel .index-vitrin .catalog-first .single-product-card { border-radius:18px; overflow:hidden; box-shadow:0 6px 20px #172c4305; }
.store-panel .index-vitrin .catalog-first .single-product-card .product-photo { border-radius:12px; background:#f4f7f9; }
.store-panel .index-vitrin .catalog-first .single-product-card .product-add { border-radius:9px; background:#203e63; border-color:#203e63; min-height:42px; }
.store-panel .index-vitrin .catalog-search-bar { margin-bottom:24px; }
.index-vitrin .vitrin-closing { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#eef2e8; border:1px solid #e0e6d5; padding:30px; border-radius:20px; margin-top:36px; }
.index-vitrin .vitrin-closing .vitrin-overline { margin-bottom:10px; }
.index-vitrin .vitrin-closing h2 { margin:0 0 10px; font-size:26px; color:#172c43; }
.index-vitrin .vitrin-closing p:last-child { margin:0; color:#506479; font-size:13px; }
.index-vitrin .vitrin-closing > a { flex-shrink:0; }
.index-vitrin a:focus-visible { outline:3px solid #385a9b; outline-offset:4px; }
@media(max-width:991px) {
 .index-vitrin .vitrin-showcase { padding:28px; gap:22px; grid-template-columns:1.2fr 1fr; }
 .index-vitrin .vitrin-showcase h2 { letter-spacing:-1px; }
 .index-vitrin .vitrin-featured-photo { height:170px; }
 .index-vitrin .vitrin-shortcuts a { padding:12px; font-size:12px; gap:8px; }
}
@media(max-width:575px) {
 .index-vitrin .vitrin-showcase { grid-template-columns:1fr; padding:24px; border-radius:20px; gap:24px; }
 .index-vitrin .vitrin-showcase h2 { font-size:37px; }
 .index-vitrin .vitrin-overline { font-size:9px; letter-spacing:1px; margin-bottom:16px; }
 .index-vitrin .vitrin-showcase-copy > p:not(.vitrin-overline) { font-size:13px; }
 .index-vitrin .vitrin-showcase-actions { margin:20px 0; gap:8px; }
 .index-vitrin .vitrin-primary-link { padding:12px 16px; font-size:12px; }
 .index-vitrin .vitrin-secondary-link { font-size:12px; }
 .index-vitrin .vitrin-featured-photo { height:155px; }
 .index-vitrin .vitrin-featured-caption h3 { font-size:18px; }
 .index-vitrin .vitrin-shortcuts { gap:7px; margin-bottom:28px; }
 .index-vitrin .vitrin-shortcuts a { flex-direction:column; align-items:flex-start; gap:7px; font-size:10px; padding:12px 9px; }
 .index-vitrin .vitrin-shortcuts i { margin:0; }
 .index-vitrin .vitrin-closing { flex-direction:column; align-items:flex-start; padding:24px; }
 .index-vitrin .vitrin-closing h2 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { .index-vitrin .vitrin-featured,.index-vitrin .vitrin-primary-link { transition:none; transform:none; } }

/* Catalog rhythm, readable actions and narrow-screen touch targets. */
.store-panel .index-vitrin { background:#f5f7f8; }
.store-panel .index-vitrin .catalog-first .storefront-section-heading { gap:20px; padding-bottom:20px; border-bottom:1px solid #dce5e8; }
.store-panel .index-vitrin .catalog-search { border:1px solid #d5e0e7; border-radius:16px; box-shadow:0 8px 24px #172c4306; }
.store-panel .index-vitrin .catalog-search input { font-size:16px; }
.store-panel .index-vitrin .catalog-search-input > button { width:44px; height:44px; }
.store-panel .index-vitrin .catalog-filters-toggle { min-height:54px; border-radius:14px; background:#fff; color:#253d58; }
.store-panel .index-vitrin .catalog-filters-toggle[aria-expanded="true"] { background:#e8eef4; border-color:#7d96ae; }
.store-panel .index-vitrin .catalog-controls { background:#fff; border:1px solid #d5e0e7; box-shadow:none; padding:24px; gap:18px; }
.store-panel .index-vitrin .catalog-controls label { font-size:12px; font-weight:600; color:#41566a; }
.store-panel .index-vitrin .catalog-controls select,
.store-panel .index-vitrin .catalog-controls input[type="number"] { font-size:16px; min-height:46px; border-radius:10px; background:#f7f9fa; }
.store-panel .index-vitrin .catalog-controls button { min-height:44px; }
.store-panel .index-vitrin .catalog-first .single-product-card { border:1px solid #dce5e8; box-shadow:0 4px 16px #172c4305; }
.store-panel .index-vitrin .catalog-first .single-product-card:hover { border-color:#91a8bc; box-shadow:0 10px 28px #172c4310; transform:none; }
.store-panel .index-vitrin .catalog-first .single-product-card .card-body { padding:16px !important; gap:4px; }
.store-panel .index-vitrin .catalog-first .product-thumbnail { background:#f4f7f9; border:0; padding:18px; }
.store-panel .index-vitrin .catalog-first .product-title { font-size:15px; line-height:1.5; font-weight:650; min-height:45px; margin:14px 0 4px; overflow-wrap:anywhere; }
.store-panel .index-vitrin .catalog-first .mp-product-seller { margin:0 0 10px; color:#53697e; overflow-wrap:anywhere; }
.store-panel .index-vitrin .catalog-first .sale-price { font-size:24px; line-height:1.3; margin:0 0 16px; color:#203e63; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.store-panel .index-vitrin .catalog-first .product-add { min-height:46px; color:#fff; font-weight:650; }
.store-panel .index-vitrin .catalog-first .product-add:hover { background:#172c43; border-color:#172c43; }
.store-panel .index-vitrin .catalog-card-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.store-panel .index-vitrin .catalog-card-tools button { min-width:0; min-height:44px; padding:8px 4px; font-size:11px; line-height:1.4; border:1px solid #d7e1e8; background:#f4f7fa; color:#36516a; }
.store-panel .index-vitrin .catalog-card-tools button[aria-pressed="true"] { background:#203e63; border-color:#203e63; color:#fff; }
.store-panel .index-vitrin .product-view-link { min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; color:#36516a; }
.store-panel .index-vitrin .catalog-list-view .catalog-card-tools { max-width:none; }
.store-panel .index-vitrin .catalog-list-view .product-title { min-height:0; }
.store-panel .index-vitrin .catalog-empty { text-align:center; padding:24px 12px; border:1px dashed #b8cbd9; background:#f1f5f8; }
.store-panel .index-vitrin .catalog-load-more { background:#fff; border-style:solid; border-color:#dce5e8; border-radius:18px; }
.store-panel .index-vitrin :is(button,input,select,a):focus-visible { outline:3px solid #385a9b; outline-offset:3px; }
.store-panel .index-vitrin .catalog-card-tools button:hover { border-color:#91a8bc; }
.store-panel[data-shop-theme="dark"] .index-vitrin { background:#162230; }
.store-panel[data-shop-theme="dark"] .index-vitrin .catalog-search input { background:#162230 !important; color:#e7eff6 !important; }
.store-panel[data-shop-theme="dark"] .index-vitrin .catalog-card-tools button { background:#30475b; color:#e7eff6; border-color:#60798e; }
.store-panel[data-shop-theme="dark"] .index-vitrin .catalog-card-tools button[aria-pressed="true"] { background:#dce9f5; color:#172c43; }
.store-panel[data-shop-theme="dark"] .index-vitrin .catalog-first .product-thumbnail { background:#172a3a; }
.store-panel[data-shop-theme="dark"] .index-vitrin .catalog-filters-toggle { background:#30475b; color:#e7eff6; border-color:#60798e; }
.store-panel[data-shop-theme="luxury"] .index-vitrin { background:#f6f1e8; }
.store-panel[data-shop-theme="dynamic"] .index-vitrin .catalog-card-tools button[aria-pressed="true"] { border-color:var(--shop-accent); box-shadow:inset 0 -3px 0 var(--shop-accent); }
@media(min-width:1200px) {
 .store-panel .index-vitrin .top-products-area .row > div { flex:0 0 25%; width:25%; }
}
@media(max-width:767px) {
 .store-panel .index-vitrin .catalog-card-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .store-panel .index-vitrin .catalog-card-tools button:last-child { grid-column:1 / -1; }
 .store-panel .index-vitrin .catalog-controls { padding:16px; gap:12px; }
}
@media(max-width:575px) {
 .store-panel .index-vitrin .catalog-first .single-product-card .card-body { padding:10px !important; }
 .store-panel .index-vitrin .catalog-first .product-title { font-size:14px; min-height:42px; }
 .store-panel .index-vitrin .catalog-first .sale-price { font-size:19px; margin-bottom:12px; }
 .store-panel .index-vitrin .catalog-first .product-add { gap:5px; font-size:12px; }
 .store-panel .index-vitrin .catalog-search-bar { flex-direction:column; align-items:stretch; gap:10px; }
 .store-panel .index-vitrin .catalog-filters-toggle { max-width:none; min-height:44px; justify-content:center; font-size:13px; }
 .store-panel .index-vitrin .catalog-controls { grid-template-columns:minmax(0,1fr); }
 .store-panel .index-vitrin .catalog-list-view .catalog-card-tools { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .store-panel .index-vitrin .catalog-list-view .catalog-card-tools button:last-child { grid-column:auto; }
}
@media(prefers-reduced-motion:reduce) {
 .store-panel .index-vitrin .single-product-card,
 .store-panel .index-vitrin .single-product-card .product-thumbnail img,
 .store-panel .index-vitrin .single-product-card:hover .product-thumbnail img,
 .store-panel .index-vitrin .vitrin-featured:hover,
 .store-panel .index-vitrin .vitrin-primary-link:hover { transition:none; transform:none; }
}

/* Product details use the same visual language as the catalog. */
.store-panel .index-vitrin .product-experience { margin:8px 0 32px; border:1px solid #dce5e8; box-shadow:0 10px 32px #172c4306; scroll-margin-top:calc(var(--ui-header-height,150px) + 16px); }
.store-panel .index-vitrin .product-experience > .card-body { padding:32px; }
.store-panel .index-vitrin .storefront-order-layout > div { min-width:0; }
.store-panel .index-vitrin .storefront-return { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid #d7e1e8; background:#f4f7fa; color:#36516a; border-radius:10px; }
.store-panel .index-vitrin .product-detail-photo { margin-bottom:16px; border-color:#dce5e8; background:#f4f7f9; border-radius:18px; }
.store-panel .index-vitrin .product-detail-photo img { width:100%; object-fit:contain; height:clamp(240px,30vw,380px); }
.store-panel .index-vitrin .product-detail-empty { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; min-height:240px; margin-bottom:16px; border:1px dashed #b8cbd9; border-radius:18px; background:#f4f7f9; color:#53697e; font-size:14px; }
.store-panel .index-vitrin .product-detail-empty i { font-size:64px; }
.store-panel .index-vitrin .mp-product-gallery { overflow-x:auto; padding:4px; gap:12px; }
.store-panel .index-vitrin .mp-product-gallery a { flex-shrink:0; border-radius:12px; }
.store-panel .index-vitrin .mp-product-gallery img { width:80px; height:76px; border-radius:12px; border-color:#d7e1e8; }
.store-panel .index-vitrin .product-experience :is(h2,.storefront-description,.mp-product-seller) { overflow-wrap:anywhere; }
.store-panel .index-vitrin .product-experience .storefront-price { color:#203e63; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.store-panel .index-vitrin .product-experience .storefront-price small { font-size:14px; color:#53697e; letter-spacing:0; }
.store-panel .index-vitrin .storefront-detail > button { min-height:48px; margin-top:12px; border-radius:12px; }
.store-panel .index-vitrin .storefront-detail > .product-add { background:#203e63; border-color:#203e63; color:#fff; }
.store-panel .index-vitrin .storefront-order-layout > .product-checkout-panel { padding:28px; background:#f1f5f8; border:1px solid #d7e1e8; border-radius:18px; }
.store-panel .index-vitrin .product-checkout-panel h3 { font-size:23px; letter-spacing:-.4px; }
.store-panel .index-vitrin .product-checkout-kicker { color:#36516a; letter-spacing:1.3px; margin-bottom:12px; }
.store-panel .index-vitrin .product-delivery-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.store-panel .index-vitrin .product-delivery-form .form-group { min-width:0; margin:0; }
.store-panel .index-vitrin .product-delivery-form label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; color:#41566a; }
.store-panel .index-vitrin .product-delivery-form .form-control { min-height:48px; font-size:16px; padding:12px; border:1px solid #b8cbd9; border-radius:10px; color:#172c43; }
.store-panel .index-vitrin .product-delivery-form textarea { resize:vertical; min-height:110px; }
.store-panel .index-vitrin .product-delivery-form .form-group:last-of-type,
.store-panel .index-vitrin .product-delivery-form > :is(button,p) { grid-column:1 / -1; }
.store-panel .index-vitrin .product-delivery-form > button { min-height:50px; border-radius:12px; background:#203e63; border-color:#203e63; color:#fff; }
.store-panel .index-vitrin .storefront-payment-note { margin:0; padding:14px; border:1px solid #d7e1e8; border-radius:10px; background:#fff; color:#41566a; }
.store-panel .index-vitrin .storefront-auth-actions .btn { min-height:48px; border-radius:10px; }
.store-panel[data-shop-theme="dark"] .index-vitrin :is(.product-detail-empty,.product-detail-photo,.storefront-payment-note,.storefront-return) { background:#172a3a; color:#e7eff6; border-color:#60798e; }
.store-panel[data-shop-theme="dark"] .index-vitrin .product-delivery-form .form-control { background:#162230 !important; color:#e7eff6; border-color:#60798e; }
.store-panel[data-shop-theme="luxury"] .index-vitrin .storefront-order-layout > .product-checkout-panel { background:#eee5d4; border-color:#d8c7a9; }
@media(max-width:991px) {
 .store-panel .index-vitrin .product-delivery-form { grid-template-columns:minmax(0,1fr); }
 .store-panel .index-vitrin .product-experience > .card-body { padding:24px; }
 .store-panel .index-vitrin .storefront-order-layout > .product-checkout-panel { padding:20px; }
}
@media(max-width:575px) {
 .store-panel .index-vitrin .product-experience > .card-body { padding:16px; }
 .store-panel .index-vitrin .product-experience .storefront-order-layout { gap:24px; }
 .store-panel .index-vitrin .storefront-order-layout > .product-checkout-panel { padding:16px; }
 .store-panel .index-vitrin .product-detail-photo img { padding:16px; }
 .store-panel .index-vitrin .product-experience .storefront-price { font-size:28px; }
}
