
			/* =========================
			 * Public Store
			 * ========================= */
			.store-category-tabs {
				display: flex;
				flex-wrap: wrap;
				gap: 9px;
				margin: 0 0 22px;
			}

			.store-category-tab {
				appearance: none;
				min-width: 88px;
				margin: 0;
				padding: 9px 16px;
				border: 1px solid rgba(255,255,255,0.3);
				border-radius: 999px;
				background: transparent;
				color: #fff;
				font-size: 0.78rem;
				font-weight: 600;
				letter-spacing: 0.08em;
				line-height: 1.3;
				cursor: pointer;
				transition:
					background 0.18s ease,
					color 0.18s ease,
					border-color 0.18s ease,
					transform 0.18s ease;
			}

			.store-category-tab:hover,
			.store-category-tab.active {
				border-color: #fff;
				background: #fff;
				color: #111;
				transform: translateY(-1px);
			}

			.store-product-grid {
				display: grid;
				grid-template-columns:
					repeat(3, minmax(0, 1fr));
				gap: 16px;
			}

			.store-product-card {
				appearance: none;
				display: block;
				width: 100%;
				min-width: 0;
				margin: 0;
				padding: 0;
				overflow: hidden;
				border: 1px solid rgba(255,255,255,0.16);
				border-radius: 15px;
				background: rgba(255,255,255,0.045);
				color: #fff;
				text-align: left;
				cursor: pointer;
				transition:
					transform 0.2s ease,
					border-color 0.2s ease,
					background 0.2s ease;
			}

			.store-product-card:hover {
				border-color: rgba(255,255,255,0.42);
				background: rgba(255,255,255,0.09);
				transform: translateY(-4px);
			}

			.store-product-card-image-wrap {
				position: relative;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				aspect-ratio: 1 / 1;
				overflow: hidden;
				background: rgba(0,0,0,0.22);
			}

			.store-product-card-image {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
				transition: transform 0.35s ease;
			}

			.store-product-card:hover
			.store-product-card-image {
				transform: scale(1.045);
			}

			.store-product-card-no-image {
				color: rgba(255,255,255,0.38);
				font-size: 0.7rem;
				letter-spacing: 0.08em;
			}

			.store-product-card-body {
				display: block;
				padding: 13px 14px 15px;
			}

			.store-product-card-name {
				display: block;
				overflow: hidden;
				color: #fff;
				font-size: 0.92rem;
				font-weight: 700;
				line-height: 1.4;
				text-overflow: ellipsis;
				white-space: nowrap;
			}

			.store-product-card-price {
				display: block;
				margin-top: 7px;
				color: rgba(255,255,255,0.65);
				font-size: 0.82rem;
				line-height: 1.4;
			}

			.store-empty-message {
				padding: 28px 14px;
				border: 1px dashed rgba(255,255,255,0.2);
				border-radius: 14px;
				color: rgba(255,255,255,0.52);
				font-size: 0.84rem;
				line-height: 1.6;
				text-align: center;
			}

			.store-empty-message[hidden] {
				display: none !important;
			}

			/* =========================
			 * Store Product Detail
			 * ========================= */
			body.is-store-product-modal-open {
				overflow: hidden;
			}

			.store-product-detail-modal {
				position: fixed;
				inset: 0;
				z-index: 10020;
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 20px;
				opacity: 0;
				pointer-events: none;
				transition: opacity 0.22s ease;
			}

			.store-product-detail-modal.active {
				opacity: 1;
				pointer-events: auto;
			}

			.store-product-detail-backdrop {
				position: absolute;
				inset: 0;
				border: 0;
				background: rgba(0,0,0,0.82);
				backdrop-filter: blur(7px);
				cursor: pointer;
			}

			.store-product-detail-card {
				position: relative;
				z-index: 1;
				display: grid;
				grid-template-columns:
					minmax(0, 1.15fr)
					minmax(280px, 0.85fr);
				width: min(940px, 100%);
				height: min(
					760px,
					calc(100dvh - 40px)
				);
				max-height: calc(100dvh - 40px);
				min-height: 0;
				overflow: hidden;
				border: 1px solid rgba(255,255,255,0.2);
				border-radius: 20px;
				background: rgba(19,19,22,0.98);
				box-shadow: 0 30px 100px rgba(0,0,0,0.62);
				transform: translateY(16px) scale(0.98);
				transition: transform 0.25s ease;
			}

			.store-product-detail-modal.active
			.store-product-detail-card {
				transform: translateY(0) scale(1);
			}

			.store-product-detail-image-wrap {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				max-width: 100%;
				min-width: 0;
				min-height: 0;
				height: 100%;
				overflow: hidden;
				background: rgba(0,0,0,0.28);
			}

			.store-product-detail-image {
				display: block;
				width: 100%;
				max-width: 100%;
				min-width: 0;
				height: 100%;
				min-height: 0;
   				max-height: 100%;
				object-fit: contain;
				object-position: center center;
			}

			.store-product-detail-no-image {
				color: rgba(255,255,255,0.38);
				font-size: 0.78rem;
				letter-spacing: 0.08em;
			}

			.store-product-detail-content {
				min-width: 0;
				min-height: 0;
				max-height: 100%;
				overflow-y: auto;
				overflow-x: hidden;
				overscroll-behavior: contain;
				scrollbar-gutter: stable;
				-webkit-overflow-scrolling: touch;
				padding: 52px 30px 30px;
			}
			.store-product-detail-content::-webkit-scrollbar {
				width: 8px;
			}

			.store-product-detail-content::-webkit-scrollbar-track {
				background: rgba(255,255,255,0.04);
			}

			.store-product-detail-content::-webkit-scrollbar-thumb {
				border: 2px solid transparent;
				border-radius: 999px;
				background:
					rgba(255,255,255,0.3);
				background-clip: padding-box;
			}

			.store-product-detail-content::-webkit-scrollbar-thumb:hover {
				background:
					rgba(255,255,255,0.48);
				background-clip: padding-box;
			}
			.store-product-detail-category {
				margin: 0 0 10px;
				color: rgba(255,255,255,0.48);
				font-size: 0.72rem;
				font-weight: 600;
				letter-spacing: 0.13em;
				text-transform: uppercase;
			}

			.store-product-detail-name {
				margin: 0;
				color: #fff;
				font-size: clamp(1.35rem, 3vw, 2rem);
				line-height: 1.3;
				word-break: break-word;
			}

			.store-product-detail-price {
				margin: 16px 0 0;
				color: rgba(255,255,255,0.86);
				font-size: 1.05rem;
				font-weight: 700;
			}

			.store-product-detail-description {
				margin: 24px 0 0;
				padding-top: 22px;
				border-top: 1px solid rgba(255,255,255,0.12);
				color: rgba(255,255,255,0.68);
				font-size: 0.88rem;
				line-height: 1.85;
				white-space: pre-wrap;
				word-break: break-word;
			}

			.store-product-purchase-button {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				margin-top: 28px;
				padding: 12px 18px;
				border: 1px solid #fff;
				border-radius: 999px;
				background: #fff;
				color: #111 !important;
				font-size: 0.85rem;
				font-weight: 700;
				letter-spacing: 0.08em;
				text-decoration: none;
				transition:
					opacity 0.18s ease,
					transform 0.18s ease;
			}

			.store-product-purchase-button:hover {
				opacity: 0.84;
				transform: translateY(-1px);
			}

			.store-product-purchase-button[hidden] {
				display: none !important;
			}
 
			.store-product-detail-view[hidden],
			.store-order-form-view[hidden] {
				display: none !important;
			}

			button.store-product-purchase-button {
				appearance: none;
				height: auto;
				min-height: 48px;
				margin: 28px 0 0;
				padding: 12px 18px;
				line-height: 1.3;
				text-transform: none;
				white-space: normal;
				cursor: pointer;
			}

			.store-order-form-view {
				min-height: 0;
				padding-bottom: 8px;
			}

			.store-order-form-title {
				margin: 0 0 8px;
				font-size: 1.15rem;
			}

			.store-order-product-summary {
				margin: 0 0 22px;
				padding-bottom: 18px;
				border-bottom:
					1px solid rgba(255,255,255,0.12);
				color: rgba(255,255,255,0.7);
				font-size: 0.82rem;
				line-height: 1.6;
			}

			.store-order-form {
				margin: 0;
			}

			.store-order-field {
				margin-bottom: 15px;
			}

			.store-order-field label {
				margin-bottom: 7px;
				font-size: 0.7rem;
				letter-spacing: 0.08em;
			}

			.store-order-field input,
			.store-order-field select,
			.store-order-field textarea {
				width: 100%;
			}
			.store-order-field select {
				min-height: 46px;
				padding: 10px 12px;
				border: 1px solid rgba(255,255,255,0.18);
				border-radius: 10px;
				background: rgba(255,255,255,0.07);
				color: #fff;
			}

			.store-order-field select option {
				background: #fff;
				color: #111;
			}

			.store-order-address-grid {
				display: grid;
				grid-template-columns:
					minmax(110px, 0.45fr)
					minmax(0, 1.55fr);
				gap: 10px;
			}

			.store-order-form-status {
				margin: 14px 0 0;
				padding: 11px 12px;
				border: 1px solid rgba(255,255,255,0.18);
				border-radius: 10px;
				font-size: 0.76rem;
				line-height: 1.6;
				white-space: pre-wrap;
				word-break: break-word;
			}

			.store-order-form-status[hidden] {
				display: none !important;
			}

			.store-order-form-status.success {
				border-color: rgba(117,255,159,0.42);
				background: rgba(117,255,159,0.09);
				color: #c9ffd8;
			}

			.store-order-form-status.error {
				border-color: rgba(255,100,100,0.42);
				background: rgba(255,100,100,0.09);
				color: #ffc5c5;
			}

			.store-order-submit-button:disabled {
				opacity: 0.55;
				cursor: not-allowed;
				transform: none;
			}
			.store-order-field textarea {
				min-height: 90px;
				resize: vertical;
			}

			.store-order-form-actions {
				display: grid;
				grid-template-columns:
					minmax(0, 0.7fr)
					minmax(0, 1.3fr);
				gap: 9px;
				margin-top: 22px;
			}

			.store-order-back-button,
			.store-order-submit-button {
				appearance: none;
				width: 100%;
				height: auto;
				min-height: 46px;
				margin: 0;
				padding: 10px 12px;
				border-radius: 999px;
				font-size: 0.76rem;
				font-weight: 700;
				line-height: 1.3;
				letter-spacing: 0.04em;
				text-transform: none;
				white-space: normal;
				cursor: pointer;
			}

			.store-order-back-button {
				border:
					1px solid rgba(255,255,255,0.35);
				box-shadow: none;
				background: transparent;
				color: #fff !important;
			}

			.store-order-submit-button {
				border: 1px solid #fff;
				box-shadow: none;
				background: #fff;
				color: #111 !important;
			}

			.store-order-form-note {
				margin: 14px 0 0;
				color: rgba(255,255,255,0.45);
				font-size: 0.68rem;
				line-height: 1.55;
			}
			.store-product-detail-close {
				position: absolute;
				top: 14px;
				right: 14px;
				z-index: 3;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 38px;
				height: 38px;
				margin: 0;
				padding: 0;
				border: 1px solid rgba(255,255,255,0.3);
				border-radius: 50%;
				background: rgba(0,0,0,0.52);
				color: #fff;
				font-size: 1.45rem;
				font-weight: 300;
				line-height: 1;
				cursor: pointer;
			}
			@media (max-width: 980px) {
				.store-product-grid {
					grid-template-columns:
						repeat(2, minmax(0, 1fr));
					gap: 12px;
				}
			}
			
			@media (max-width: 736px) {
				.store-product-grid {
					grid-template-columns:
						repeat(2, minmax(0, 1fr));
					gap: 10px;
				}
				.store-order-address-grid {
					grid-template-columns: 1fr;
					gap: 0;
				}
				.store-product-card-body {
					padding: 10px 10px 12px;
				}

				.store-product-card-name {
					font-size: 0.78rem;
				}

				.store-product-card-price {
					font-size: 0.72rem;
				}

				.store-product-detail-modal {
					padding: 10px;
				}

				.store-product-detail-card {
					display: block;
					width: 100%;
					height: auto;
					min-height: 0;
					max-height: calc(100vh - 20px);
					max-height: calc(100dvh - 20px);
					overflow-x: hidden;
					overflow-y: auto;
					border-radius: 15px;
				}

				.store-product-detail-image-wrap {
					display: flex;
					width: 100%;
					max-width: 100%;
					min-width: 0;
					height: auto;
					min-height: 0;
					aspect-ratio: 1 / 1;
					flex: none;
					overflow: hidden;
				}

				.store-product-detail-image {
					display: block;
					width: 100%;
					max-width: 100%;
					min-width: 0;
					height: 100%;
					max-height: 100%;
					object-fit: contain;
					object-position: center center;
					transform: none;
				}

				.store-product-detail-content {
					width: 100%;
					max-width: 100%;
					min-width: 0;
					overflow: visible;
					padding: 25px 18px 22px;
				}

				.store-product-detail-close {
					top: 10px;
					right: 10px;
				}
			}
