.shop-hero { padding: var(--space-16) 0 var(--space-10); background: radial-gradient(circle at top left, var(--color-primary-soft), transparent 55%), var(--color-background); }
.shop-hero__grid { display: grid; gap: var(--space-8); align-items: center; }
@media (min-width: 768px) { .shop-hero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); } }
.shop-hero__subtitle { max-width: 34rem; color: var(--color-text-muted); font-size: var(--font-size-lg); }
.shop-hero__search { margin-top: var(--space-4); display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.shop-hero__search input[type="search"] { flex: 1 1 220px; min-width: 0; }
.shop-hero__quick-links { margin-top: var(--space-4); display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.shop-hero__link { font-size: var(--font-size-sm); color: var(--color-primary-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.shop-hero__image-wrapper { max-width: 460px; margin: 0 auto; }
.shop-hero__image { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }

.shop-layout { padding: 0 0 var(--space-16); }
.shop-layout__grid { display: grid; gap: var(--space-8); align-items: flex-start; }
@media (min-width: 992px) { .shop-layout__grid { grid-template-columns: 320px minmax(0, 1fr); } }

.shop-filters { position: sticky; top: var(--space-6); align-self: flex-start; background-color: var(--color-surface); border-radius: var(--radius-xl); padding: var(--space-5); box-shadow: var(--shadow-md); border: 1px solid rgba(148, 163, 184, 0.35); }
.shop-filters__heading { font-size: var(--font-size-xl); margin-bottom: var(--space-2); }
.shop-filters__description { font-size: var(--font-size-sm); color: var(--color-text-muted); margin-bottom: var(--space-4); }
.shop-filters__helper { font-size: var(--font-size-xs); color: var(--gray-500); margin-bottom: var(--space-3); }
.shop-filters__form { display: flex; flex-direction: column; gap: var(--space-4); }
.shop-filters__group legend { font-size: var(--font-size-sm); font-weight: 600; margin-bottom: var(--space-2); color: var(--gray-700); }
.shop-filters__options { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.shop-filters__options--columns { flex-direction: column; }
.shop-filters__checkbox { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-filters__checkbox input { width: auto; }
.shop-filters__range { display: grid; gap: var(--space-3); }
.shop-filters__range label { font-size: var(--font-size-xs); color: var(--gray-600); display: block; margin-bottom: 0.25rem; }
@media (min-width: 480px) { .shop-filters__range { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.shop-filters__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-1); }
.shop-filters__support { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--gray-200); font-size: var(--font-size-sm); }
.shop-filters__support-title { font-size: var(--font-size-md); margin-bottom: var(--space-2); }
.shop-filters__link { display: inline-flex; margin-right: var(--space-3); margin-top: 0.25rem; font-size: var(--font-size-sm); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.shop-results__header { margin-bottom: var(--space-4); }
.shop-results__header h2 { margin-bottom: var(--space-2); }
.shop-results__header p { color: var(--color-text-muted); max-width: 40rem; font-size: var(--font-size-sm); }
.shop-results__meta { margin-top: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: space-between; }
.shop-results__count { font-size: var(--font-size-xs); color: var(--gray-500); }
.shop-results__sort { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); }
.shop-results__sort select { max-width: 220px; }

.shop-featured { margin-top: var(--space-4); }
.shop-featured__intro { margin-bottom: var(--space-4); }
.shop-featured__intro h3 { margin-bottom: var(--space-2); }
.shop-featured__intro p { max-width: 40rem; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.shop-featured__grid { display: grid; gap: var(--space-4); }
@media (min-width: 768px) { .shop-featured__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.shop-card__image-wrap { position: relative; border-radius: var(--radius-lg); overflow: hidden; margin: calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-3); }
.shop-card__image-wrap img { width: 100%; height: 210px; object-fit: cover; }
.shop-card__badges { position: absolute; inset: var(--space-3) auto auto var(--space-3); display: flex; flex-wrap: wrap; gap: 0.35rem; }
.shop-card__body { padding-top: 0; padding-bottom: 0; }
.shop-card__title { font-size: var(--font-size-md); margin-bottom: 0.25rem; }
.shop-card__subtitle { font-size: var(--font-size-sm); color: var(--gray-600); margin-bottom: var(--space-3); }
.shop-card__features { list-style: none; padding: 0; margin: 0 0 var(--space-3); font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-card__features li + li { margin-top: 0.25rem; }
.shop-card__footer { margin-top: 0; padding-top: var(--space-3); border-top: 1px solid var(--gray-200); flex-wrap: wrap; row-gap: var(--space-2); }
.shop-card__price-block { display: flex; flex-direction: column; min-width: 0; }
.shop-card__price { font-weight: 600; font-size: var(--font-size-lg); }
.shop-card__price-note { font-size: var(--font-size-xs); color: var(--gray-500); }
.shop-card__cta-group { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: flex-end; }
.shop-featured__cta-row { margin-top: var(--space-4); display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: flex-end; }

.shop-recommendations { margin-top: var(--space-8); }
.shop-recommendations__header h3 { margin-bottom: var(--space-2); }
.shop-recommendations__header p { max-width: 42rem; font-size: var(--font-size-sm); color: var(--gray-600); }
.shop-recommendations__content { margin-top: var(--space-4); display: flex; flex-direction: column; gap: var(--space-4); background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%); }
.shop-recommendations__text h4 { margin-bottom: var(--space-2); }
.shop-recommendations__text p { font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-recommendations__actions { margin-top: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-3); }

.shop-details { margin-top: var(--space-8); }
.shop-details__grid { display: grid; gap: var(--space-4); }
@media (min-width: 992px) { .shop-details__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.shop-details__image-wrap img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.shop-details__content { margin-top: var(--space-3); }
@media (min-width: 768px) { .shop-details__content { margin-top: var(--space-4); } }
.shop-details__content h3 { margin-bottom: var(--space-2); }
.shop-details__content p { font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-details__list { list-style: disc; padding-left: 1.25rem; margin: var(--space-2) 0 var(--space-3); font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-details__reviews-header h3 { margin-bottom: var(--space-2); }
.shop-details__reviews-header p { font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-details__rating-overview { margin-top: var(--space-3); margin-bottom: var(--space-3); }
.shop-details__rating-score { font-size: var(--font-size-2xl); font-weight: 600; }
.shop-details__rating-note { font-size: var(--font-size-xs); color: var(--gray-500); }
.shop-details__reviews-list { list-style: none; padding: 0; margin: 0 0 var(--space-2); font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-details__reviews-list li + li { margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid var(--gray-200); }
.shop-details__link { font-size: var(--font-size-sm); text-decoration: underline; text-underline-offset: 3px; }

.shop-checkout { margin-top: var(--space-8); }
.shop-checkout__card { display: grid; gap: var(--space-4); align-items: center; }
@media (min-width: 992px) { .shop-checkout__card { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.shop-checkout__content h3 { margin-bottom: var(--space-2); }
.shop-checkout__content p { font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-checkout__list { list-style: disc; padding-left: 1.25rem; margin: var(--space-2) 0 var(--space-3); font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-checkout__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.shop-checkout__mobile img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.shop-checkout__mobile-caption { margin-top: var(--space-2); font-size: var(--font-size-xs); color: var(--gray-500); }

.shop-promotions { margin-top: var(--space-8); }
.shop-promotions__card { display: grid; gap: var(--space-4); align-items: center; background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%); }
@media (min-width: 992px) { .shop-promotions__card { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.shop-promotions__text h3 { margin-bottom: var(--space-2); }
.shop-promotions__text p { font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-promotions__list { list-style: disc; padding-left: 1.25rem; margin: var(--space-2) 0 var(--space-3); font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-promotions__visual img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

.shop-support { margin-top: var(--space-8); }
.shop-support__grid { display: grid; gap: var(--space-4); }
@media (min-width: 992px) { .shop-support__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.shop-support__card h3 { margin-bottom: var(--space-2); }
.shop-support__card p { font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-support__list { list-style: disc; padding-left: 1.25rem; margin: var(--space-2) 0 0; font-size: var(--font-size-sm); color: var(--gray-700); }
.shop-support__design { display: grid; gap: var(--space-3); align-items: center; }
@media (min-width: 768px) { .shop-support__design { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.shop-support__design-image img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

@media (max-width: 767.98px) { .shop-hero { padding-top: var(--space-10); } .shop-filters { position: static; border-radius: var(--radius-lg); padding: var(--space-4); } .shop-card__image-wrap img { height: 190px; } }
