
			:root {
				--ice-accent: #2269c3;
				--ice-accent-hover: #1a5299;
				--ice-accent-dark: #4a8ad4;
				--ice-accent-dark-hover: #6aa0e0;
				--ice-accent-rgb: 34,105,195;
				--ice-accent-dark-rgb: 74,138,212;
			}

			*, *::before, *::after {
				box-sizing: border-box;
			}

			/* Skip to content link */
			.skip-link {
				position: absolute;
				top: -100%;
				left: 0;
				background: var(--ice-accent);
				color: var(--ice-accent-text);
				padding: 8px 16px;
				z-index: 10002;
				font-size: 14px;
				font-weight: 600;
				text-decoration: none;
				border-radius: 0 0 8px 0;
			}
			.skip-link:focus {
				top: 0;
			}

			html, body {
				height: 100%;
			}

			.main-content {
				flex-grow: 1;
				padding-top: 70px;
			}


			body {
				font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
				background-color: #F2F2F7;
				margin: 0;
				padding: 0;
				color: #1c1c1e;
				-webkit-font-smoothing: antialiased;
				display: flex;
    			flex-direction: column;
			}

			.viewing {
				font-size: 18px;
				text-align: center;
				margin-top: 80px; /* Move this text downwards to make space for the top ad */
				margin-bottom: 20px;
				font-weight: bold;
				padding-left: 20px; /* Add padding here and on any other element to get the space around */
				padding-right: 20px;
			}

			.images {
				display: flex;
				flex-wrap: wrap;
				gap: 16px;
				justify-content: center;
				margin: 20px;
			}

			.img-container {
				width: 300px;
				height: 300px;
				display: flex;
				align-items: center;
				justify-content: center;
				aspect-ratio: 1 / 1;
			}

			.img-container img {
				width: 100%;
				height: 100%;
				border-radius: 8px;
				object-fit: contain;
			}
			/* Rounded corners toggle (synced from collection page via localStorage) */
			.no-rounded-corners .img-container img {
				border-radius: 0 !important;
			}

			/* --- Image carousel (mobile) --- */
			.carousel-dots {
				display: none;
			}

			.show-mobile { display: none; }
			@media screen and (max-width: 768px) {
				.hide-mobile { display: none !important; }
				.show-mobile { display: inline !important; }
				.banner-app-icon { width: 27px !important; height: 27px !important; }
				.banner-app-title { font-size: 12.6px !important; }
				.images.has-multi {
					flex-wrap: nowrap;
					justify-content: flex-start;
					overflow-x: auto;
					scroll-snap-type: x mandatory;
					-webkit-overflow-scrolling: touch;
					gap: 0;
					margin: 12px 0;
					padding: 0;
					scrollbar-width: none;
				}
				.images.has-multi::-webkit-scrollbar {
					display: none;
				}
				.images.has-multi .img-container {
					flex: 0 0 100%;
					min-width: 100%;
					width: 100% !important;
					height: 360px !important;
					scroll-snap-align: start;
					scroll-snap-stop: always;
					padding: 0;
					box-sizing: border-box;
				}
				.images.has-multi .img-container img {
					width: 100%;
					height: 100%;
					object-fit: contain;
				}
				.carousel-dots.active {
					display: flex;
					justify-content: center;
					gap: 7px;
					padding: 8px 0 4px;
				}
				.carousel-dot {
					width: 8px;
					height: 8px;
					border-radius: 50%;
					background: #c7c7cc;
					border: none;
					padding: 0;
					cursor: pointer;
					transition: background 0.2s, transform 0.2s;
				}
				.carousel-dot.active {
					background: var(--ice-accent);
					transform: scale(1.25);
				}
			}

			.img-container-checkout {
				width: 150px;
				height: 150px;
				display: flex;
				align-items: center;
				justify-content: center;
				aspect-ratio: 1 / 1;
			}

			.img-container-checkout img {
				max-width: 150px;
				max-height: 150px;
				object-fit: contain;
			}

			/* Fullscreen image lightbox */
			.img-container img.mainimages { cursor: pointer; }
			.lightbox-overlay {
				display: none;
				position: fixed;
				top: 0; left: 0; right: 0; bottom: 0;
				background: rgba(0,0,0,0.9);
				z-index: 10000;
				justify-content: center;
				align-items: center;
				cursor: pointer;
			}
			.lightbox-overlay.open {
				display: flex;
			}
			.lightbox-overlay img {
				max-width: 95vw;
				max-height: 95vh;
				object-fit: contain;
				border-radius: 4px;
			}
			.lightbox-close {
				position: absolute;
				top: 16px;
				right: 20px;
				color: #fff;
				font-size: 32px;
				font-weight: bold;
				cursor: pointer;
				background: none;
				border: none;
				z-index: 10001;
			}
			.lightbox-prev, .lightbox-next {
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				color: #fff;
				font-size: 48px;
				font-weight: 300;
				cursor: pointer;
				background: rgba(255,255,255,0.15);
				border: none;
				border-radius: 50%;
				width: 48px;
				height: 48px;
				display: flex;
				align-items: center;
				justify-content: center;
				z-index: 10001;
				line-height: 1;
				padding: 0 0 4px;
				transition: background 0.2s;
			}
			.lightbox-prev:hover, .lightbox-next:hover {
				background: rgba(255,255,255,0.3);
			}
			.lightbox-prev { left: 16px; }
			.lightbox-next { right: 16px; }
			.lightbox-counter {
				position: absolute;
				bottom: 20px;
				left: 50%;
				transform: translateX(-50%);
				color: rgba(255,255,255,0.8);
				font-size: 14px;
				font-weight: 600;
				z-index: 10001;
			}
			@media screen and (max-width: 768px) {
				.lightbox-prev, .lightbox-next { display: none !important; }
			}

			.item_info {
				max-width: 1200px;
				margin: 0 auto;
				padding: 20px;
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 30px;
			}

			@media screen and (max-width: 768px) {
				.item_info {
					grid-template-columns: 1fr;
				}
			}

			.section {
				padding: 20px;
				background-color: #ffffff;
				border-radius: 14px;
				box-shadow: 0 1px 3px rgba(0,0,0,0.08);
				overflow: hidden;
			}
			.section:empty { display: none; }

			/* Content visibility for below-fold sections */
			.checkout_container,
			.promo-section {
				content-visibility: auto;
				contain-intrinsic-size: 0 300px;
			}

			.attribute {
				font-weight: bold;
				display: block;
				margin-bottom: 5px;
			}

			.browse {
				display: block;
			}

			.value, .one_value, .important_value {
				display: block;
				margin-left: 5px;
				margin-bottom: 10px;
			}

			.important_value {
				font-weight: bold;
				font-size: 1.4em;
				color: var(--ice-accent);
			}

			h1.important_value {
				margin: 0 0 10px;
				line-height: 1.2;
			}

			/* Checkout section heading reset */
			h2.attribute {
				font-size: inherit;
				margin: 0 0 5px;
			}

			.many_values {
				display: flex;
				flex-direction: column;
				margin-bottom: 10px;
			}

			.many_values.collapsed {
				max-height: 150px;  /* Adjust this value based on your design needs */
				overflow: hidden;
			}

			.show-more {
				color: var(--ice-accent);
				cursor: pointer;
				display: none;
				font-size: 12px;
				margin-top: 10px;
				text-align: center;
			}

			.one_value {
				margin-right: 10px;
				margin-bottom: 5px;
			}

			/* Styles for buy buttons */
			.button_container {
				max-width: 1200px;
				margin: 0 auto;
				padding: 20px 20px 10px 20px;
			}

			.buy-buttons {
				max-width: 1200px;
				margin: 0 auto;
				padding: 20px;
				display: flex;
				justify-content: space-between;
				align-items: center;
				gap: 15px;
				background-color: #ffffff;
				border-radius: 14px;
				box-shadow: 0 1px 3px rgba(0,0,0,0.08);
			}

			@media screen and (max-width: 768px) {
				.buy-buttons {
					flex-direction: column; /* Stack buttons vertically on smaller screens */
					gap: 10px;
				}
			}

			.buy-btn {
				padding: 10px 15px;
				background-color: var(--ice-accent);
				color: var(--ice-accent-text);
				border: none;
				border-radius: 8px;
				cursor: pointer;
				transition: background-color 0.3s;
			}

			.buy-btn:hover {
				background-color: var(--ice-accent-hover);
			}

			.banner {
				background-color: #fff;
				width: 100%;
				padding: 10px 0;
				box-shadow: 0 1px 3px rgba(0,0,0,0.1);
				position: fixed;
				top: 0;
				left: 0;
				z-index: 1000;
				display: flex;
				justify-content: center;
				align-items: center;
			}

			.banner img {
				max-width: calc(100% - 20px);
				max-height: 50px;
				width: auto;
				height: auto;
			}

			.checkout_container {
				max-width: 1200px;
				margin: 0 auto;
				padding: 0 20px 20px 20px;
			}

			.images-checkout {
				max-width: 1200px;
				margin: 0 auto;
				padding: 20px;
				background-color: #ffffff;
				border-radius: 14px;
				box-shadow: 0 1px 3px rgba(0,0,0,0.08);
			}

			.images-checkout .attribute {
				text-align: center;
				margin-bottom: 20px;  /* Add some space between the text and the images */
			}

			.images-checkout .browse {
				text-align: center;
				margin-bottom: 20px;
			}
			.images-checkout .browse a {
				display: inline-block;
				padding: 10px 24px;
				background: var(--ice-accent);
				color: var(--ice-accent-text);
				border-radius: 10px;
				font-size: 14px;
				font-weight: 600;
				text-decoration: none;
				transition: background 0.2s, transform 0.1s;
			}
			.images-checkout .browse a:hover {
				background: var(--ice-accent-hover);
				color: var(--ice-accent-text);
				text-decoration: none;
				transform: translateY(-1px);
			}

			.images-checkout .images {
				justify-content: center;
			}

			.error-message {
				text-align: center;
				padding: 20px;
				margin: 20px;
				background-color: #f8d7da;
				color: #721c24;
				border: 1px solid #f5c6cb;
				border-radius: 5px;
			}

			/* --- Delete Item --- */
			.delete-item-wrap {
				text-align: center; margin: 20px 0 10px;
			}
			.delete-item-btn {
				display: inline-block; padding: 10px 24px;
				background: #FF3B30; color: #fff; border: none; border-radius: 10px;
				font-size: 14px; font-weight: 600; cursor: pointer;
				transition: background 0.2s, transform 0.1s;
			}
			.delete-item-btn:hover { background: #e0332b; transform: translateY(-1px); }
			.delete-confirm-overlay {
				display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
				background: rgba(0,0,0,0.6); z-index: 10001;
				justify-content: center; align-items: center;
			}
			.delete-confirm-overlay.open { display: flex; }
			.delete-confirm-box {
				background: #fff; border-radius: 14px; padding: 24px;
				max-width: 380px; width: 90%; text-align: center;
				box-shadow: 0 8px 32px rgba(0,0,0,0.25);
			}
			.delete-confirm-box h3 { margin: 0 0 8px; font-size: 17px; font-weight: 700; }
			.delete-confirm-box p { margin: 0 0 20px; font-size: 14px; color: #636366; }
			.delete-confirm-box .btn-row { display: flex; gap: 10px; justify-content: center; }
			.delete-confirm-box button {
				padding: 10px 24px; border: none; border-radius: 10px;
				font-size: 14px; font-weight: 600; cursor: pointer;
			}
			.delete-confirm-box .btn-del { background: #FF3B30; color: #fff; }
			.delete-confirm-box .btn-del:hover { background: #e0332b; }
			.delete-confirm-box .btn-cancel { background: #e5e5ea; color: #1c1c1e; }
			.delete-confirm-box .btn-cancel:hover { background: #d1d1d6; }

			/* --- Edit Mode --- */
			.edit-toolbar {
				position: fixed;
				top: 60px;
				right: 16px;
				z-index: 999;
				display: flex;
				gap: 8px;
			}
			.edit-toolbar .btn {
				padding: 8px 18px;
				border: none;
				border-radius: 10px;
				font-size: 14px;
				font-weight: 600;
				cursor: pointer;
				transition: background 0.2s, transform 0.1s;
				box-shadow: 0 2px 8px rgba(0,0,0,0.15);
			}
			.btn-edit {
				background: var(--ice-accent);
				color: var(--ice-accent-text);
			}
			.btn-edit:hover { background: var(--ice-accent-hover); }
			.btn-save {
				background: #34C759;
				color: #fff;
			}
			.btn-save:hover { background: #28a745; }
			.btn-cancel {
				background: #8e8e93;
				color: #fff;
			}
			.btn-cancel:hover { background: #636366; }
			.btn-login-cta {
				background: #FF9500;
				color: #fff;
				border: none;
				padding: 8px 18px;
				border-radius: 8px;
				font-size: 13px;
				font-weight: 600;
				cursor: pointer;
				transition: background 0.2s;
			}
			.btn-login-cta:hover { background: #e08600; }
			.btn:disabled {
				opacity: 0.5;
				cursor: not-allowed;
			}

			.edit-mode .value,
			.edit-mode .important_value,
			.edit-mode .one_value {
				display: none;
			}
			.edit-mode .many_values {
				display: none;
			}
			.edit-mode .show-more {
				display: none !important;
			}
			.edit-field {
				display: none;
				margin-bottom: 10px;
			}
			.edit-mode .edit-field {
				display: block;
			}
			.edit-field input[type="text"],
			.edit-field input[type="number"],
			.edit-field input[type="date"],
			.edit-field textarea,
			.edit-field select {
				width: 100%;
				padding: 8px 12px;
				border: 1.5px solid #d1d1d6;
				border-radius: 8px;
				font-size: 14px;
				font-family: inherit;
				background: #fff;
				transition: border-color 0.2s;
				box-sizing: border-box;
				min-height: 38px;
			}
			.edit-field select {
				padding: 8px 30px 8px 12px;
				border: 1px solid #d1d1d6;
				background: #F2F2F7;
				color: #1c1c1e;
				transition: border-color 0.2s, box-shadow 0.2s;
				-webkit-appearance: none;
				appearance: none;
				background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238e8e93' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
				background-repeat: no-repeat;
				background-position: right 10px center;
			}
			.multi-select-edit {
				display: flex;
				flex-wrap: wrap;
				gap: 6px;
				padding: 6px 0;
			}
			.multi-option {
				display: flex;
				align-items: center;
				gap: 4px;
				font-size: 13px;
				padding: 4px 8px;
				background: #f2f2f7;
				border-radius: 6px;
				cursor: pointer;
			}
			.multi-option input[type="checkbox"] { width: auto; }

			/* Multi-select flyover modal */
			.multi-select-trigger {
				display: inline-flex;
				align-items: center;
				gap: 6px;
				padding: 8px 14px;
				background: #f2f2f7;
				border: 1px solid #d1d1d6;
				border-radius: 10px;
				cursor: pointer;
				font-size: 13px;
				color: #1c1c1e;
				font-family: inherit;
			}
			.multi-select-trigger:hover { background: #e5e5ea; }
			.multi-select-trigger .ms-count {
				background: var(--ice-accent);
				color: var(--ice-accent-text);
				font-size: 11px;
				font-weight: 700;
				padding: 1px 7px;
				border-radius: 10px;
				min-width: 18px;
				text-align: center;
			}
			.multi-select-overlay {
				display: none;
				position: fixed;
				top: 0; left: 0; right: 0; bottom: 0;
				background: rgba(0,0,0,0.4);
				z-index: 9000;
				justify-content: center;
				align-items: center;
			}
			.multi-select-overlay.open { display: flex; }
			.multi-select-modal {
				background: #fff;
				border-radius: 14px;
				width: 90%;
				max-width: 400px;
				max-height: 70vh;
				display: flex;
				flex-direction: column;
				box-shadow: 0 8px 32px rgba(0,0,0,0.25);
			}
			.multi-select-modal .ms-header {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 14px 16px;
				border-bottom: 1px solid #e5e5ea;
				font-weight: 600;
				font-size: 16px;
			}
			.multi-select-modal .ms-header button {
				background: none;
				border: none;
				color: var(--ice-accent);
				font-size: 14px;
				font-weight: 600;
				cursor: pointer;
				font-family: inherit;
			}
			.multi-select-modal .ms-body {
				overflow-y: auto;
				padding: 8px 0;
				-webkit-overflow-scrolling: touch;
			}
			.multi-select-modal .ms-option {
				display: flex;
				align-items: center;
				gap: 10px;
				padding: 10px 16px;
				font-size: 14px;
				cursor: pointer;
			}
			.multi-select-modal .ms-option:hover { background: #f2f2f7; }
			.multi-select-modal .ms-option input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--ice-accent); flex-shrink: 0; }
			.multi-select-modal .ms-footer {
				padding: 12px 16px;
				border-top: 1px solid #e5e5ea;
				text-align: right;
			}
			.multi-select-modal .ms-footer button {
				background: var(--ice-accent);
				color: var(--ice-accent-text);
				border: none;
				border-radius: 10px;
				padding: 8px 24px;
				font-size: 14px;
				font-weight: 600;
				cursor: pointer;
				font-family: inherit;
			}
			.multi-select-modal .ms-footer button:hover { background: var(--ice-accent-hover); }

			/* Image editing styles */
			.image-edit-zone {
				display: none;
				border: 2px dashed #d1d1d6;
				border-radius: 12px;
				padding: 16px;
				margin: 12px 16px;
				text-align: center;
			}
			.edit-mode .image-edit-zone { display: block; }
			.image-edit-zone.active { display: block; }
			.image-edit-zone.dragover {
				border-color: var(--ice-accent);
				background: rgba(var(--ice-accent-rgb),0.05);
			}
			.image-edit-zone .drop-text {
				font-size: 14px;
				color: #8e8e93;
				margin-bottom: 8px;
			}
			.image-edit-zone .drop-text a { cursor: pointer; color: var(--ice-accent); }
			.image-edit-thumbs {
				display: flex;
				flex-wrap: wrap;
				gap: 8px;
				justify-content: center;
				margin-top: 10px;
			}
			.image-edit-thumb {
				position: relative;
				width: 80px;
				height: 100px;
				border-radius: 8px;
				overflow: hidden;
				border: 1px solid #d1d1d6;
			}
			.image-edit-thumb img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			.image-edit-thumb .img-remove {
				position: absolute;
				top: 2px;
				right: 2px;
				width: 20px;
				height: 20px;
				background: rgba(255,59,48,0.9);
				color: #fff;
				border: none;
				border-radius: 50%;
				font-size: 12px;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
			}
			.image-edit-thumb.new-image { border-color: #34C759; }
			.edit-field input:focus,
			.edit-field textarea:focus,
			.edit-field select:focus {
				border-color: var(--ice-accent);
				outline: none;
				box-shadow: 0 0 0 3px rgba(var(--ice-accent-rgb),0.15);
			}
			.edit-field textarea {
				min-height: 80px;
				resize: vertical;
			}
			.edit-field .star-rating-edit {
				display: flex;
				gap: 4px;
				cursor: pointer;
			}
			.edit-field .star-rating-edit .star {
				font-size: 24px;
				color: #d1d1d6;
				cursor: pointer;
				transition: color 0.15s;
				user-select: none;
			}
			.edit-field .star-rating-edit .star.filled {
				color: #FF9500;
			}
			.edit-field .toggle-edit {
				display: flex;
				align-items: center;
				gap: 8px;
			}
			.edit-field .toggle-edit input[type="checkbox"] {
				width: 20px;
				height: 20px;
				accent-color: var(--ice-accent);
			}
			.edit-field .readonly-field {
				padding: 8px 12px;
				background: #f2f2f7;
				border-radius: 8px;
				font-size: 14px;
				color: #8e8e93;
				font-style: italic;
			}
			.edit-field .currency-edit {
				display: flex;
				gap: 8px;
				align-items: center;
				min-width: 0;
			}
			.edit-field .currency-edit select {
				flex: 0 0 auto;
				min-width: 100px;
				width: auto;
			}
			.edit-field .currency-edit input {
				flex: 1;
				min-width: 0;
				width: auto;
			}
			.edit-field .person-list {
				display: flex;
				flex-direction: column;
				gap: 6px;
			}
			.edit-field .person-row {
				display: flex;
				gap: 6px;
				align-items: center;
			}
			.edit-field .person-row input {
				flex: 1;
				min-width: 0;
			}
			.edit-field .person-row .btn-remove-person {
				background: #FF3B30;
				color: #fff;
				border: none;
				border-radius: 6px;
				width: 28px;
				height: 28px;
				font-size: 16px;
				cursor: pointer;
				flex-shrink: 0;
			}
			.edit-field .btn-add-person,
			.edit-field .btn-add-drilldown {
				background: var(--ice-accent);
				color: var(--ice-accent-text);
				border: none;
				border-radius: 8px;
				padding: 6px 14px;
				font-size: 13px;
				cursor: pointer;
				margin-top: 4px;
				align-self: flex-start;
			}
			.edit-field .drilldown-edit {
				display: flex;
				flex-direction: column;
				gap: 6px;
			}
			.edit-field .drilldown-row {
				display: flex;
				gap: 6px;
				align-items: center;
			}
			.edit-field .drilldown-row select {
				flex: 1;
				min-width: 0;
				padding: 6px 8px;
				border: 1px solid #d1d1d6;
				border-radius: 8px;
				font-size: 13px;
				font-family: inherit;
				background: #F2F2F7;
			}
			.edit-field .btn-remove-drilldown {
				background: #FF3B30;
				color: #fff;
				border: none;
				border-radius: 6px;
				width: 28px;
				height: 28px;
				font-size: 16px;
				cursor: pointer;
				flex-shrink: 0;
			}

			/* --- Autocomplete / Search Suggestions --- */
			.ac-wrapper { position: relative; flex: 1; }
			.ac-wrapper input { width: 100%; }
			.ac-suggestions {
				display: none; position: absolute; top: 100%; left: 0; right: 0;
				background: #fff; border: 1px solid #d1d1d6; border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 9999;
				max-height: 200px; overflow-y: auto; margin-top: 2px;
			}
			.ac-suggestions.open { display: block; }
			.ac-suggestions .ac-item {
				padding: 8px 12px; font-size: 13px; cursor: pointer;
				border-bottom: 1px solid #f0f0f0;
			}
			.ac-suggestions .ac-item:last-child { border-bottom: none; }
			.ac-suggestions .ac-item:hover, .ac-suggestions .ac-item.selected {
				background: var(--ice-accent); color: var(--ice-accent-text);
			}
			.ac-suggestions .ac-hint {
				padding: 8px 12px; font-size: 12px; color: #8e8e93; font-style: italic;
			}
			/* Studios search-add field */
			.studio-edit { display: flex; flex-direction: column; gap: 6px; }
			.studio-tags { display: flex; flex-wrap: wrap; gap: 6px; }
			.studio-tag {
				display: inline-flex; align-items: center; gap: 4px;
				padding: 4px 10px; background: #E8E8ED; border-radius: 8px;
				font-size: 13px; color: #1c1c1e;
			}
			.studio-tag .tag-remove {
				background: none; border: none; color: #FF3B30;
				font-size: 14px; cursor: pointer; padding: 0 2px; line-height: 1;
			}

			.toast {
				position: fixed;
				bottom: 30px;
				left: 50%;
				transform: translateX(-50%) translateY(100px);
				padding: 12px 24px;
				border-radius: 12px;
				color: #fff;
				font-size: 14px;
				font-weight: 600;
				z-index: 10000;
				opacity: 0;
				transition: transform 0.3s, opacity 0.3s;
				box-shadow: 0 4px 12px rgba(0,0,0,0.2);
			}
			.toast.show {
				transform: translateX(-50%) translateY(0);
				opacity: 1;
			}
			.toast.success { background: #34C759; }
			.toast.error { background: #FF3B30; }
			.toast.info { background: var(--ice-accent); color: var(--ice-accent-text); }

		/* ========== THEME TOGGLE ========== */
		.theme-toggle {
			background: none; border: none; cursor: pointer; padding: 6px;
			color: #636366; display: flex; align-items: center; justify-content: center;
			border-radius: 8px; transition: background 0.2s;
		}
		.theme-toggle:hover { background: rgba(0,0,0,0.06); }
		.theme-toggle svg { width: 20px; height: 20px; }
		body.dark-theme .theme-toggle { color: #aeaeb2; }
		body.dark-theme .theme-toggle:hover { background: rgba(255,255,255,0.1); }

		/* ========== LOGIN MODAL ========== */
		.login-modal-overlay {
			display: none;
			position: fixed;
			top: 0; left: 0; right: 0; bottom: 0;
			background: rgba(0,0,0,0.5);
			z-index: 10000;
			justify-content: center;
			align-items: center;
		}
		.login-modal {
			background: #fff;
			border-radius: 14px;
			padding: 24px;
			max-width: 360px;
			width: 90%;
			box-shadow: 0 8px 32px rgba(0,0,0,0.2);
		}
		.login-modal-title {
			margin: 0 0 16px;
			font-size: 18px;
			font-weight: 700;
			text-align: center;
			color: #1c1c1e;
		}
		.login-modal-error {
			display: none;
			background: #FFE5E5;
			color: #D32F2F;
			padding: 10px 12px;
			border-radius: 8px;
			font-size: 13px;
			margin-bottom: 12px;
		}
		.login-modal-input {
			width: 100%;
			padding: 10px 12px;
			border: 1px solid #ccc;
			border-radius: 8px;
			font-size: 16px;
			margin-bottom: 10px;
			box-sizing: border-box;
			background: #fff;
			color: #1c1c1e;
		}
		.login-modal-submit {
			width: 100%;
			padding: 11px;
			background: #FF9500;
			color: #fff;
			border: none;
			border-radius: 8px;
			font-size: 15px;
			font-weight: 600;
			cursor: pointer;
		}
		.login-modal-submit:hover {
			background: #e08600;
		}
		.login-modal-cancel {
			width: 100%;
			padding: 10px;
			background: none;
			border: none;
			color: #666;
			font-size: 13px;
			cursor: pointer;
			margin-top: 8px;
		}
		.login-modal-cancel:hover {
			color: #333;
		}
		.login-modal-forgot {
			display: block;
			text-align: center;
			font-size: 13px;
			color: var(--ice-accent);
			margin-top: 10px;
			text-decoration: none;
		}
		.login-modal-forgot:hover {
			text-decoration: underline;
		}
		.login-modal-desc {
			font-size: 13px;
			color: #8e8e93;
			text-align: center;
			margin: 0 0 16px;
			line-height: 1.4;
		}
		.login-modal-success {
			display: none;
			background: #E8F5E9;
			color: #2E7D32;
			padding: 10px 12px;
			border-radius: 8px;
			font-size: 13px;
			margin-bottom: 12px;
			line-height: 1.4;
		}
		.login-modal-btn-row {
			display: flex;
			gap: 10px;
		}
		.login-modal-btn-row .login-modal-submit {
			flex: 1;
		}
		.login-modal-create-btn {
			background: var(--ice-accent, #2269c3) !important;
			color: var(--ice-accent-text) !important;
		}
		.login-modal-create-btn:hover {
			background: var(--ice-accent-dark, #1a54a0) !important;
		}
		.login-modal-hint {
			font-size: 12px;
			color: #8e8e93;
			margin: 0 0 14px;
			line-height: 1.4;
		}

		/* ========== DARK THEME ========== */
		body.dark-theme { background-color: #000; color: #fff; }
		body.dark-theme a { color: var(--ice-accent); }
		body.dark-theme a:hover { color: var(--ice-accent-hover); }

		/* Banner */
		body.dark-theme .banner { background-color: #1c1c1e; box-shadow: 0 1px 3px rgba(0,0,0,0.4); }
		body.dark-theme .banner a[style*="color:#1c1c1e"] { color: #fff !important; }
		body.dark-theme .banner span { color: #fff !important; }

		/* Page */
		body.dark-theme .viewing { color: #fff; }

		/* Item info sections */
		body.dark-theme .section { background-color: #1c1c1e; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
		body.dark-theme .attribute { color: #fff; }
		body.dark-theme .value, body.dark-theme .one_value { color: #aeaeb2; }
		body.dark-theme .important_value { color: var(--ice-accent); }
		body.dark-theme .many_values { color: #aeaeb2; }
		body.dark-theme .show-more { color: var(--ice-accent); }

		/* Buy buttons */
		body.dark-theme .buy-buttons { background-color: #1c1c1e; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }

		/* Checkout / browse */
		body.dark-theme .images-checkout { background-color: #1c1c1e; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
		body.dark-theme .checkout_container { color: #fff; }

		/* Carousel dots */
		body.dark-theme .carousel-dot { background: #48484a; }
		body.dark-theme .carousel-dot.active { background: var(--ice-accent); }

		/* Lightbox */
		body.dark-theme .lightbox-overlay { background: rgba(0,0,0,0.95); }

		/* Delete confirm */
		body.dark-theme .delete-confirm-overlay { background: rgba(0,0,0,0.7); }
		body.dark-theme .delete-confirm-box { background: #2c2c2e; }
		body.dark-theme .delete-confirm-box h3 { color: #fff; }
		body.dark-theme .delete-confirm-box p { color: #aeaeb2; }
		body.dark-theme .delete-confirm-box .btn-cancel { background: #48484a; color: #fff; }
		body.dark-theme .delete-confirm-box .btn-cancel:hover { background: #636366; }

		/* Edit mode */
		body.dark-theme .edit-field input[type="text"],
		body.dark-theme .edit-field input[type="number"],
		body.dark-theme .edit-field input[type="date"],
		body.dark-theme .edit-field textarea,
		body.dark-theme .edit-field select { background: #2c2c2e; color: #fff; border-color: #48484a; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23636366' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
		body.dark-theme .edit-field input:focus,
		body.dark-theme .edit-field textarea:focus,
		body.dark-theme .edit-field select:focus { border-color: var(--ice-accent); box-shadow: 0 0 0 3px rgba(var(--ice-accent-rgb),0.25); }
		body.dark-theme .edit-field .readonly-field { background: #2c2c2e; color: #8e8e93; }
		body.dark-theme .edit-field .star-rating-edit .star { color: #48484a; }
		body.dark-theme .edit-field .star-rating-edit .star.filled { color: #FF9500; }
		body.dark-theme .multi-option { background: #2c2c2e; color: #fff; }
		body.dark-theme .multi-select-trigger { background: #2c2c2e; border-color: #48484a; color: #fff; }
		body.dark-theme .multi-select-trigger:hover { background: #3a3a3c; }
		body.dark-theme .multi-select-modal { background: #1c1c1e; color: #fff; }
		body.dark-theme .multi-select-modal .ms-header { border-bottom-color: #38383a; }
		body.dark-theme .multi-select-modal .ms-option:hover { background: #2c2c2e; }
		body.dark-theme .multi-select-modal .ms-body { color: #fff; }
		body.dark-theme .multi-select-modal .ms-footer { border-top-color: #38383a; }

		/* Image edit */
		body.dark-theme .image-edit-zone { border-color: #48484a; }
		body.dark-theme .image-edit-zone.dragover { border-color: var(--ice-accent); background: rgba(var(--ice-accent-rgb),0.1); }
		body.dark-theme .image-edit-zone .drop-text { color: #8e8e93; }
		body.dark-theme .image-edit-thumb { border-color: #48484a; }

		/* Autocomplete */
		body.dark-theme .ac-suggestions { background: #2c2c2e; border-color: #48484a; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
		body.dark-theme .ac-suggestions .ac-item { border-bottom-color: #38383a; color: #fff; }
		body.dark-theme .ac-suggestions .ac-item:hover,
		body.dark-theme .ac-suggestions .ac-item.selected { background: var(--ice-accent); color: var(--ice-accent-dark-text); }
		body.dark-theme .ac-suggestions .ac-hint { color: #8e8e93; }

		/* Studios tags */
		body.dark-theme .studio-tag { background: #2c2c2e; color: #fff; }
		body.dark-theme .drilldown-row select { background: #2c2c2e; color: #fff; border-color: #48484a; }

		/* Error message */
		body.dark-theme .error-message { background-color: #3a1c1e; color: #ff6b6b; border-color: #5a2c2e; }

		/* Login modal */
		body.dark-theme .login-modal { background: #1c1c1e; box-shadow: 0 8px 32px rgba(0,0,0,0.5); }
		body.dark-theme .login-modal-title { color: #fff; }
		body.dark-theme .login-modal-error { background: #3a1a1a; color: #ff6b6b; }
		body.dark-theme .login-modal-input { background: #2c2c2e; color: #fff; border-color: #48484a; }
		body.dark-theme .login-modal-input::placeholder { color: #8e8e93; }
		body.dark-theme .login-modal-cancel { color: #8e8e93; }
		body.dark-theme .login-modal-cancel:hover { color: #aeaeb2; }
		body.dark-theme .login-modal-forgot { color: var(--ice-accent-dark); }
		body.dark-theme .login-modal-desc { color: #8e8e93; }
		body.dark-theme .login-modal-success { background: #1a2e1a; color: #66bb6a; }
		body.dark-theme .login-modal-hint { color: #636366; }

		/* Toast */
		body.dark-theme .toast { box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
		body.dark-theme .toast.info { color: var(--ice-accent-dark-text); }

		/* Scrollbar */
		body.dark-theme ::-webkit-scrollbar-track { background: #1c1c1e; }
		body.dark-theme ::-webkit-scrollbar-thumb { background: #48484a; }

		/* ========== VIEW TRANSITIONS ========== */
		@view-transition { navigation: auto; }
		::view-transition-old(root) { animation: vt-fade-out 0.15s ease-out; }
		::view-transition-new(root) { animation: vt-fade-in 0.15s ease-in; }
		@keyframes vt-fade-out { from { opacity: 1; } to { opacity: 0; } }
		@keyframes vt-fade-in { from { opacity: 0; } to { opacity: 1; } }
