/* Custom animations for the modal */
@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  20% { transform: translateY(-10px); }
  40% { transform: translateY(-20px); }
  60% { transform: translateY(-10px); }
  80% { transform: translateY(0); }
}
.bounce {
  animation: bounce 0.5s;
}

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateY(-20px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes pulse {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.5;
	}
}

.animate-pulse {
	animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Custom scrollbar for the modal */
.modal-content::-webkit-scrollbar {
	width: 6px;
}

.modal-content::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

.modal-content::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 3px;
}

.modal-content::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

/* Ensure the modal is responsive */
@media (max-width: 640px) {
	.max-w-md {
		max-width: 95vw;
		margin: 0 10px;
	}
}


.item-row {
    position: relative;
    background: #fff;
}

.hamburger-btn {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    z-index: 2;
    color: grey;
}

.dropdown-menu-custom {
    position: absolute;
    top: 30px;
    right: 10px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 0;
    width: 120px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 10;
    display: block;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: white;
    border: none;
    text-align: left;
    font-size: 14px;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
}


.image-collage {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(4, 125px) !important;
    gap: 0 !important;
    border-radius: 8px;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    width: 500px;
    max-width: 100%;
  }

.collage-item {
    width: 100%;
    height: 125px;
    display: block;
}

.collage-item img {
    width: 100%;
    height: 125px;
    object-fit: cover;
    display: block;
}

  .image-collage img {
    width: 100%;
    height: 125px;
    object-fit: cover;
/*    border-radius: 8px;*/
  }

.cmd-btn 
{
	width: 170px !important;
	font-size: 15px !important;
	padding: 8px !important;
}

.scrollable-col
{
	overflow-y: auto;
    height: 100%;
    padding: 1rem;
    box-sizing: border-box;
}
.scrollable-col::-webkit-scrollbar-track {
  background: transparent;
}
.scrollable-col::-webkit-scrollbar-thumb {
  background-color: #f3f3f3;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.scrollable-col {
  scrollbar-color: rgba(0, 0, 0, 0.05) transparent;
}


.chat-img
{
	width: 250px;
	max-width: 100%;
	height: auto;
	max-height: 100%;
}
.chat-img-lg
{
	width: 500px !important;
	max-width: 100%;
}

.selected-thread {
  background: linear-gradient(to right, rgba(125, 125, 125, 0.17), rgba(0, 0, 0, 0));
/*  font-weight: bold;*/
  border-radius: 8px;
  left: -10px;
  padding-left: 10px;
/*  padding: 0.5em 1em;*/
  display: inline-block;
}

canvas.image-editor {
  border: 1px solid #ccc;
  cursor: crosshair;
  display: block;
}
.image-editor-controls {
  margin-top: 10px;
}

.white-select-box {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
  color: rgb(51, 65, 85);
  font-family: Inter, sans-serif;
  font-size: 13px;
  padding: 5px 28px 5px 8px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
  box-sizing: border-box;
  border-radius: 6px;
  box-shadow:
    rgb(255, 255, 255) 0px 0px 0px 0px,
    rgba(51, 65, 85, 0.1) 0px 0px 0px 1px,
    rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23334155' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px 16px;
}

label.white-label {
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgb(51, 65, 85);
  margin-right: 8px;
  display: block;
  margin-top: 12px;
  margin-bottom: 4px;
}

.app-btn-white
{
	display: inline-block;
	color: rgb(51, 65, 85);
	font-family: Inter;
	font-size: 13px;
	padding: 5px 8px;
	font-weight: 500;
	line-height: 20px;
/*	margin-left: 16px;*/
/*	color: rgb(13, 110, 253);*/
	cursor: pointer;
	box-sizing: border-box;
	border-radius: 6px;
	box-shadow: rgb(255, 255, 255) 0px 0px 0px 0px, rgba(51, 65, 85, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
/*	text-decoration: underline;*/
}
.app-btn-white-lg
{
	font-size: 16px;
	padding: 8px 16px;
}

/*.track-container {
    width: 500px;
    height: 200px;
    overflow-x: scroll;
    border: 1px solid #ccc;
    position: relative;
}
.track {
    width: 1000px;
    height: 100%;
    position: relative;
}*/
.line {
    width: 0px;
    z-index: 10000;
    height: 1px;
    position: relative;
    left: 110px;
}

.timeline-container {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
}
.timeline {
		overflow-x: scroll;
    position: relative;
    display: inline-block;
    height: 50px;
    border: 1px solid #ccc;
}
.timeline-item {
    position: absolute;
    height: 100%;
    background-color: rgba(0, 123, 255, 0.5);
}

.text-item
{
	background-color: #f8f8f8;
}
.image-item
{
	background-color: #d0f0c0;
}
.video-item
{
	background-color: #e0f7fa;
}

        
.video-track-container {
    display: relative;
/*    flex-direction: column;*/
    gap: 10px;
    background-color: #f3f3f3;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow-x: auto;
}
.track {
    display: flex;
    align-items: center;
    height: 50px;
/*    background-color: #fff;*/
/*    border: 1px solid #ccc;*/
/*    border-radius: 5px;*/
    padding: 5px;
    min-width: max-content;
    padding-right: 200px;
}
.track .label {
    width: 100px;
    text-align: center;
    font-weight: bold;
    background-color: #eee;
    border-right: 1px solid #ccc;
    padding: 5px;
}
.track .content {
    display: flex;
    flex-grow: 1;
/*    overflow-x: auto;*/
    padding: 5px;
    gap: 5px;
    position: relative; /* Ensure positioning context for items */
    flex-shrink: 0;
}
.track .content .item {
    display: flex;
    align-items: center;
/*    justify-content: center;*/
    width: 100px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow-y: hidden;
/*    text-overflow: ellipsis;*/
		font-size: 12px;
		text-align: left;
		padding-left: 12px;
		position: relative;
}

.create-clip-disabled
{
	opacity: 0.5;
	pointer-events: none;
}
.selected-clip
{
	opacity: 0.5;
	pointer-events: none;
	font-style: italic;
}
.content-miner-word
{
	display: inline;
	padding-top: 5px;
	padding-bottom: 5px;
}
.select-highlight-start
{
	color: green; font-style: italic;
}
.select-highlight-finish
{
	color: rgb(13, 110, 253); font-style: italic;
}
.video-controls
{
	margin-bottom: 0px;
	background-color: lightgrey;
	border: 0px solid #333;
	width: auto;
	padding: 10px;
	border-radius: 5px;
	width: 250px;
	text-align: center;
	display: inline-block;
	background-color: #f3f3f3 !important;
    border-right: solid 1px #e1e1e1;
    border-bottom: solid 1px #e1e1e1;
}

.metal-title
{
	padding: 17px;
	font-weight: bold;
  font-size: 24px;
  margin-bottom: 40px;
}
.metal-title.bronze {
  background-color: #cd7f32;
  border: 2px solid #8b4513;
}
.metal-title.silver
{
	background-color: #c0c0c0;
	border: 2px solid #808080;
}
.metal-title.gold
{
	background-color: #ffd700;
	border: 2px solid #ffcc00;
}
.metal-title.platinum
{
	background-color: #e5e4e2;
	border: 2px solid #b0b0b0;
}
.metal-title.diamond {
  background-color: #b9f2ff;
  border: 2px solid #00bfff;
}

.col.pricing
{
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 20px;
}
.tier-description
{
	font-family: Figtree;
	font-size: 17px;
	text-transform: camelcase;
}
.tier-benefit
{
	margin-bottom: 10px;
	font-size: 17px;
}
.btn.add-color-combo
{
	font-size: 15px;
	padding: 5px 10px;
}
.add-color-combo input
{
	font-size: 16px;
	padding: 10px;
}

.transcript, .goToWordTime
{
	font-size: 16px;
}

.shift-icon
{
	color: lightgrey;
}
.shift-left-icon
{
	display: inline-block;
	margin-right: 7px;
}
.shift-right-icon
{
	display: inline-block;
	margin-left: 5px;
}
.colorBlock
{
	display:inline-block;
	width: 35px;
	height: 35px;
	background-color: #0ccdfeff;
	border: 1px solid #000;
	border-radius: 5px;
}
.colorPickerHook
{
	display:inline-block;
	width:1px;
	height: 1px;
	top: -35px;
}
.picker_wrapper.popup .picker_arrow
{
	width: .8rem;
	height: .8rem;
}
.wordMenu
{
	top: -10000px;
	left: -10000px;
	position: fixed;
	width: 125px;
}
.wordMenu .list-group-item
{
	font-size: 15px;
}
.combos-popup {
		width: 250px;
		top: -10000px;
		left: -10000px;
    position: absolute;
    background-color: #f0f0f0;
    padding: 10px;
    border: 1px solid #ccc;
}
.setting-name
{
	font-size: 15px;
}
.set-time-by-word
{
	font-size: 13px;
/*	color: blue;*/
	text-decoration: underline;
	cursor: pointer;
}
.layer-title-container h5
{
	font-size: 17px;
}
option
{
	font-family: Figtree, arial;
}

.btn.cancel
{
	background-color: lightgrey;
}
.mr-2
{
	margin-right: 0.5rem;
}
.color-combo-palette-block
{
	display: inline-block;
	width: 35px;
	height: 35px;
}

.warning-text-label
{
	font-weight: bold;
	color: #cc0000;
}

.price
{
	font-size: 50px;
	font-weight: bold;
}
.price-per-month
{
	font-size: 17px;
	font-weight: normal;
}


.settings-subsection-title
{
	border-top: 1px solid grey;
	border-bottom: 1px solid grey;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: 10px;
	margin-bottom: 10px;
	background-color: #ececec;
}
.settings-subsection-title .col-12
{
	font-size: .8rem;
}
.subtitle-descriptor-title
{
	font-size: .8rem;
}
.subtitle-word-color-combo
{
	display: inline-block;
	width: 25px;
	height: 25px;
}
.layer-title-plus-icon
{
	color: #aeaeae;
	margin-right: 5px;
}
.layer-title-container
{
	cursor: pointer;
}
.more-info
{
	margin-bottom: 10px;
}
.media-file-dropping
{
	border: 1px dashed green;
	/*	padding: 9px;*/
	cursor: crosshair;
}
.media-file-progress
{
	background-color: lightgrey;
	height: 10px;
	width: 100%;
}
.media-file-progress-fill
{
	background-color: blue;
	height: 10px;
	transition: width 1s;
}

.autohide-overflow-on-play-label
{
	font-size: 12px;
}
.toggle-overflow-button
{
   	padding: 10px 20px;
/*    font-size: 14px !important;*/
    background-color: grey;
    border-color: #888;
    cursor: pointer;
    justify-content: center;
    align-items: middle;
    text-align: center;
}
.video-time
{
	flex-grow: 1;
    text-align: center;
/*    font-size: 24px;*/
}
.autohide-overflow-on-play-container
{
	margin-top: 3px;
	display: flex;
    align-items: center;
    justify-content: center;
}
.autohide-overflow-on-play-container input
{
	margin-right: 5px;
}
.video-timer-container
{
	display: flex;
    align-items: center;
}


.steel-container
{
	background-color: #f3f3f3;
	border: solid 1px #e1e1e1;
	color: #000;
}
.editor-section-btn
{
	background-color: #f3f3f3;
	border: solid 1px #e1e1e1;
	color: #000;
	
}
.layer-container div
{
	font-size: 17px;
	font-family: Figtree;
}
label.mini
{
	font-size: 12px;
	text-transform: uppercase;
	font-weight: bold;
	padding: 5px;
}
.btn-lime
{
	background-color: #ccf600;
	border: solid 1px #e1e1e1;
	color: #000;
}
.btn-goldenrod
{
	background-color: goldenrod;
	border: 1px solid #e1e1e1;
	color: #fff;
}
.btn-gold
{
	background-color: #ffd700;
	border: solid 1px #e1e1e1;
	color: #000;
}
.btn-steel
{
	background-color: #f3f3f3;
	border: solid 1px #e1e1e1;
	color: #000;
}
.btn-steel:hover
{
	background-color: #d3d4d5;
	border: solid 1px #e1e1e1;
	color: #000;
}
.btn-editor-med
{
	font-size: 16px !important;
	padding: 10px 20px !important;
}

.info-button
{
  background: none;
  color: #aeaeae; /*#888;*/
  border: none;
  font-size: 25px;
  margin: 10px;
  cursor: pointer;
}

.info-button:hover, .showActive
{
  background-color: none;
  color: #0d6efd; /*#444;*/
}

.info-button i
{
  color: #f5f5f5;
  /*background-color: #f5f5f5;*/
  margin-right: 5px;
}

.darker-bright-blue-bg
{
	background-color: #00A5C5; /* 008CB4 */
}
.bright-blue-bg
{
	background-color: #67D8EF;
}
@font-face {
  font-family: 'Metropolis';
  src: url('/fonts/Metropolis-Bold.ttf') format('truetype');
  font-weight: bold;
}
@font-face {
  font-family: 'Metropolis';
  src: url('/fonts/Metropolis-Regular.ttf') format('truetype');
  font-weight: normal;
}
@font-face {
  font-family: 'Metropolis';
  src: url('/fonts/Metropolis-ExtraBold.ttf') format('truetype');
  font-weight: 900;
}

.logo_text
{
	font-family: Lilita One, sans-serif !important;
	text-transform: uppercase;
	/*font-weight: 700;*/
	font-size: 25px;
	/*font-size: 23px;*/
	/*background: linear-gradient(to right, #32dcff, #cb3fff);*/
	/*background: linear-gradient(to right, #ff00cc, #333399);*/
	color: #000;
	letter-spacing: 0.4rem;
	/*-webkit-background-clip: text;
	-moz-background-clip: text;
	background-clip: text;
	color: transparent;*/
	/*
	bg color: #5b7daa;
	gradient left: #32dcff;
	gradient right: #cb3fff;
	*/
	/*text-shadow: 
  2px 2px #32dcff,
  4px 4px #ff00cc,
  4px 4px #ff00cc;*/
  /*0px 4px 24px #ff00cc;*/
  vertical-align: middle;
}
.logo_icon_container
{
	display: inline-block;
}
.logo_icon
{
	transform: scaleX(-1);
	justify-content: center;
	/*padding-top: 10px;*/
	align-items: center;
	font-size: 20px;
	/*background: url('/images/logo_new_1.png');*/
	/*background-size: contain;*/
	/*width: 88px;*/
	/*height: 88px;*/
	width: 75px;
	height: 75px;
	margin: 10px 0px;
	max-width: 100%;
	color: #ccf600;
	border-radius: 20px;
	border: 4px solid darkgoldenrod /*silver /*goldenrod*/ /*#3a3a3a*/;
	/*border-radius: 100px;*/
	vertical-align: middle;
	/*text-shadow: 2px 2px #111;*/
}
.my-navbar
{
	/*background: linear-gradient(to right, rgba(50, 220, 255, 1.0), rgba(203, 63, 255, 0.3));*/
	/*background: linear-gradient(to right, #32dcff, #cb3fff);*/
	/*background: linear-gradient(to right, rgba(51, 51, 153, 0.50), rgba(255, 0, 204, 1));*/
	/*background: linear-gradient(to right, #ff00cc, #333399);*/
	 /*background-color: #E4F6F8 !important;*/
	/*background-color: #17014a !important;*/
	/*background-color: #f1f1f1 !important;*/
	background-color: #f3f3f3 !important;
	border-bottom: solid 1px #e1e1e1;
}
h1, h2, h3, h4, h5, h6
{
	font-family: Metropolis, sans-serif;
	font-weight: 900;
	margin-bottom: 1rem;	
}
p, div
{
	font-family: Karla, sans-serif;
	font-size: 20px;
	/*letter-spacing: -0.02rem;*/
}
.headline-pre-text
{
	font-size: 35px;
	color: darkgoldenrod;
	font-family: Metropolis, sans-serif;
	font-weight: 700;
	margin-top: 20px;
	margin-bottom: 10px;
	/*color: orange;*/
	text-align: center;
	/*font-family: Passion One;*/
	line-height: 1.2;
}
.sample-button
{
	display: inline-block;
	background-color: #cc0000;
	color: #fff;
	font-family: Metropolis;
	font-weight: 900;
	font-size: 25px;
	text-align: center;
	padding: 14px 28px;
	width: 45%;
	height: 70px;
	border-radius: 0px;
	border: 0;
}
.sample-container
{
	background-color: #f3f3f3 !important;
	/*background-color: #cc0000;*/
	/*color: #fff;*/
	max-width: 80%;
	margin: 40px auto;
	font-size: 25px;
	/*border-radius: 8px;*/
	border-radius: 20px;
	/*border: 1px solid #1a1a1a;*/
	border: 4px solid darkgoldenrod /*silver /*goldenrod*/ /*#3a3a3a*/;
	padding: 15px;
	/*color: #cc0000;*/
	/*font-family: Metropolis, sans-serif;*/
	/*font-weight: 700;*/
}
.btn
{
	font-family: Metropolis, sans-serif;
	font-weight: 700;
	border-radius: 8px;
	/*width: 250px !important;*/
	/*letter-spacing: ;*/
	/*border: 5px solid;*/
}
.btn-lg
{
	font-size: 24px;
}
.btn-250
{
	width: 250px;
}

.upload-container label
{
	margin-top: 10px;
	margin-bottom: 10px;
}
h1
{
	text-align: center;
	margin-top: 0px;
	/*font-family: Passion One;*/
	line-height: 1.2;
	font-size: 52px !important;
	/*font-weight: normal;*/
}
h3
{
	margin-top: 0px;
	/*font-family: Passion One;*/
	line-height: 1.2;
	font-size: 35px !important;
	/*font-weight: normal;*/
}
.clip-style
{
	margin-top: 20px;
	padding: 10px;
}
.clip-style-description
{
	margin-bottom: 10px;
}
.light-blue-container
{
	background-color: #c7e6f4;
}
.navbar-brand
{
	/*font-family: Passion One;*/
	padding: inherit !important;
}

.form-check-input
{
	position: relative;
}

/* buk styles */

.pcr-button
{
	border: 2px solid #000 !important;
	border-radius: 2px !important;
	background-color: #000 !important;
}

trix-editor .attachment__progress
{
    height: 0px !important;
}

trix-editor ul li
{
	list-style-type: disc !important;
	margin-left: 2.5rem !important;
}
trix-editor ol li
{
	list-style-type: number !important;
	margin-left: 2.5rem !important;
}

div.pcr-color-palette, div.pcr-color-preview, div.pcr-swatches, div.pcr-selection
{
	padding-bottom: 0px !important;
}

.trix-styles
{
	min-height: 125px;
	padding: 10px;
}

trix-toolbar .trix-button-group--file-tools
{
    display: none !important;
}

/* end buk styles */

html
{
    font-size: 100%;
}
body, p, div
{
    /*font-size: 16px;*/
}

/* Credit Modal Styles - Uniquely Prefixed */
.credit-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    border-top-left-radius: 1.25rem;
    border-top-right-radius: 1.25rem;
}
.credit-modal-header-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #764ba2;
    letter-spacing: 0.5px;
}
.credit-modal-header-close {
    background: none;
    border: none;
    font-size: 2rem;
    color: #aaa;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s;
}
.credit-modal-header-close:hover {
    color: #764ba2;
}
.credit-modal-container {
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 8px 32px rgba(60,60,100,0.18), 0 1.5px 6px rgba(60,60,100,0.08);
    padding: 0;
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}
.credit-modal-content {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1 1 auto;
}

/* Credit Pack Card Styles */
.credit-modal-pack-card {
    position: relative;
    background: #fff;
    border: 2px solid #e5e7eb;
    border-radius: 1rem;
    padding: 1.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.credit-modal-pack-card:hover {
    border-color: #764ba2;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(118, 75, 162, 0.15);
}

.credit-modal-pack-card.selected {
    border-color: #764ba2;
    background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
    box-shadow: 0 4px 12px rgba(118, 75, 162, 0.2);
}

.credit-modal-popular-badge {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    letter-spacing: 0.5px;
}

.credit-modal-main-amount {
    font-size: 2.5rem;
    font-weight: 900;
    color: #764ba2;
    margin-bottom: 0.5rem;
    line-height: 1;
}

.credit-modal-desc {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 1rem;
    line-height: 1.4;
}

.credit-modal-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 0.25rem;
}

.credit-modal-save {
    font-size: 0.8rem;
    color: #059669;
    font-weight: 600;
}

@keyframes credit-modal-scalein {
  0% { opacity: 0; transform: scale(0.92); }
  100% { opacity: 1; transform: scale(1); }
}

/* Responsive styles for credit modal */
@media (max-width: 640px) {
    .credit-modal-container {
        max-width: 95vw;
        margin: 0 10px;
        max-height: 85vh;
    }
    
    .credit-modal-content {
        padding: 1rem;
    }
    
    .credit-modal-pack-card {
        padding: 1rem;
    }
    
    .credit-modal-main-amount {
        font-size: 2rem;
    }
    
    .credit-modal-price {
        font-size: 1.25rem;
    }
}

/* Ensure modal backdrop is properly positioned */
.credit-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    z-index: 9998;
}

/* Additional modal positioning fixes */
.credit-modal-wrapper {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0,0,0,0.5) !important;
}

/* Ensure modal container is properly centered */
.credit-modal-container {
    position: relative !important;
    z-index: 10000 !important;
}

[x-cloak] { display: none !important; }

.download-icon-wrapper {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    background: linear-gradient(135deg, #e3f0fc 0%, #b6dafe 60%, #90caf9 100%);
    box-shadow: 0 2px 8px 0 rgba(33,150,243,0.13);
    transition: box-shadow 0.2s, transform 0.18s cubic-bezier(0.4,0,0.2,1), background 0.2s;
}
.download-icon-wrapper .fa-download {
    color: #1976d2 !important;
    opacity: 1 !important;
    font-size: 16px;
}
.download-icon-wrapper:hover {
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 24px 0 rgba(33,150,243,0.22);
}

@media (max-width: 576px) {
    .recent-creations-mobile {
        margin-top: 2.44rem;
    }
    .recent-creations-mobile .card-body {
        max-height: none !important;
        overflow: visible !important;
    }
    html, body, .container, .row, .col-md-4, .col-md-8, .card, .card.h-100, .card-body, .card-header {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    body {
        padding-bottom: 1.5rem !important;
    }
}