/************************************************
Generator
************************************************/

/* Basic Modal Styles */
#closeModal,
#closeRegistrationModal,
#closeConfirmationModal {
	position: absolute;
	top: 0;
	right: 0;
	padding: 16px;
	cursor: pointer;
	background: none;
	border: 0;
}
#closeModal svg,
#closeRegistrationModal svg,
#closeConfirmationModal svg {
	fill: #000;
	width: 24px;
	height: 24px;
}
.modal {
	display: none;
	position: fixed;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	max-width: none !important;
/* 	transform: translate(-50%, -50%); */
	overflow: auto;
}
.modal-container {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 600px !important;
	background-color: var(--wp--preset--color--accent-secondary);
	padding: 36px;
	border-radius: 16px;
	box-sizing: border-box;
}
#confirmationModal .modal-container {
	max-width: 900px !important;
}
#confirmationModal .modal-content {
	display: flex;
	column-gap: 32px;
	align-items: center;
}
#confirmationModal .spookee-image-container {
	flex-basis: 40%;
}
#confirmationModal .spookee-image-container > img {
	border-radius: 6px;
}
#confirmationModal .spookee-content-container h3 {
	color: #fff;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.1;
    margin-top: 0;
}
.modal-content > h4 {
	font-size: 36px;
 	color: #fff;
	margin-top: 0;
}
.modal-content > p {
 	color: #fff;
	margin-top: 16px;
}
.modal-content .wp-block-buttons {
	display: flex;
	column-gap: 1px;
    margin-top: 36px;
}
.modal-content .wp-block-buttons > .wp-block-button {
	flex: 1;
}
.modal-content .wp-block-buttons > .wp-block-button:first-child .wp-block-button__link {
	border-start-end-radius: 0;
    border-end-end-radius: 0;
}
.modal-content .wp-block-buttons > .wp-block-button:last-child .wp-block-button__link {
	border-end-start-radius: 0;
    border-start-start-radius: 0;
}
.modal-footer input[type='text'],
.modal-footer input[type='email'] {
	width: 100%;
	background: #eee;
	border-color: #ffc81f;
}
.modal-footer {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
}
.btn {
  padding: 10px 20px;
  background-color: #4CAF50;
  color: white;
  border: none;
  cursor: pointer;
}

/* Preloader Spinner Styles */
#preloader {
  display: none; /* Hidden by default */
  position: absolute;
  z-index: 9999;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin: -25px 0 0 -25px; /* Center the spinner */
  border: 8px solid var(--wp--preset--color--accent-secondary); /* Light grey */
  border-top: 8px solid var(--wp--preset--color--accent-primary); /* Blue */
  border-radius: 50%;
  animation: spin 2s linear infinite;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Art Container */
#generateArt {
	position: relative;
	z-index: 2;
}
#addToGalleryBtn {
	display: none;
	position: relative;
	z-index: 1;
}
#addToGalleryBtn > .wp-block-button__link {
	position: relative;
	left: -80px;
	padding-left: 100px;
}
#artBackground {
	position: relative;
	z-index: 1;
}
#artContainer {
	position: absolute;
	z-index: 2;
}
#artContainer > img {
	max-width: 100%;
	height: auto;
}
#artInfo h3 {
	color: #000;
}
#artInfo ul, #artInfo li {
	list-style: none;
	margin: 0;
	padding: 0;
}
#artInfo ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 8px;
}
#artInfo li {
	flex-basis: 100%;
	padding: 6px 12px;
	background: #000;
	border-radius: 6px;
	box-sizing: border-box;
}
#artInfo li:nth-child(2), #artInfo li:nth-child(3),
#artInfo li:nth-child(4), #artInfo li:nth-child(5) {
	flex-basis: calc(50% - 2px);
	width: calc(50% - 2px);
}
#artInfo li:first-child {
	display: none;
}
.spookee-holder {
	position: relative;
}
.spookee-holder .art-and-info {
	display: none;
	position: relative;
	margin-top: 0;
	background: #000;
	z-index: 9;
}
.spookee-holder .placeholder img {
	margin: 0 !important;
}
.spookee-holder .placeholder.active {
	position: absolute;
	z-index: 1;
}
.spookee-holder .background {
	margin: 0 !important;
}

/************************************************
Gallery
************************************************/

.spookees-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.spookee-item {
	position: relative;
    padding: 0;
}
.spookee-info {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
	background: #ffc81f;
    box-sizing: border-box;
    margin: 16px;
    padding: 16px;
	border-radius: 16px;
	opacity: 0;
	transition: opacity .25s ease-in-out;
}
.woocommerce-account .spookee-info {
	position: relative;
	top: 0;
	transform: translateY(0);
	opacity: 1;
}
.spookee-item:hover > .spookee-info {
	opacity: 1;
}
.spookee-info h3 {
	color: #000;
    margin: 0 0 12px 0;
    font-size: 1.3rem;
	letter-spacing: 0;
}
.spookee-info .spookee-creator {
	color: #000;
	font-size: 16px;
	margin: 12px 0 0 0;
}
.spookee-info h3 + p {
	color: #000;
	line-height: 1.6;
	margin: 0 0 12px;
}
.spookee-info ul {
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.spookee-info li {
	color: #fff;
	flex-basis: calc(50% - 2px);
	background: #000;
	font-size: 13px;
	line-height: 1.2;
	border-radius: 4px;
    margin: 0;
	padding: 6px 8px;
    list-style: none;
	box-sizing: border-box;
}
.spookee-info li:first-child {
	display: none;
}
.spookee-info li:nth-child(6),
.spookee-info li:nth-child(7) {
	flex-basis: 100%;
}
.load-more {
    display: block;
    margin: 48px auto;
    padding: 16px 24px;
    background-color: #ffc81f;
    color: #000000;
	font-size: 1.2rem;
    border: none;
	border-radius: 6px;
    cursor: pointer;
}
.load-more:hover {
    background-color: #eb2554;
}

/************************************************
Shop & Product Overlays
************************************************/

.spookee-overlay,
.spookee-overlay-thumbnail {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	opacity: 80%;
    filter: blur(0.3px);
    mix-blend-mode: lighten;
    pointer-events: none; /* Allow clicks to pass through to the product image */
}
.spookee-overlay svg {
    max-width: 25%;
    max-height: 25%;
}
.single-product .spookee-overlay svg {
	margin-top: 60px;
}
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image--thumbnail img {
    position: relative;
}

/************************************************
Download HD Button
************************************************/

.download-spookee {
	background-color: var(--wp--preset--color--primary) !important;
	border-color: var(--wp--preset--color--primary) !important;
}

.download-spookee:hover:not(:disabled) {
	background-color: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent) !important;
}

.download-spookee:disabled {
	opacity: 0.6;
	cursor: wait !important;
}

/************************************************
Delete Button (Admin Only)
************************************************/

.spookee-actions {
	display: block;
	margin-top: 8px;
}
.delete-spookee {
    color: var(--wp--preset--color--accent-secondary);
}

.delete-spookee:hover {
	text-decoration: underline;
}
