    .card-option-row {
        display: flex;
        align-items: center;
		padding: 10px 6px 6px 10px;
    }

    .card-option-row label {
        width: 200px;
        margin-right: 10px;
        font-weight: 500;
    }
    #main_quantity {
        width: 70px;
    }

.form-progress-indicator {
     display: flex;
     justify-content: space-between;
	 padding: 10px;
	 margin-bottom: 20px;
     max-width: 500px;
        
}
.step {
    text-align: center;
    cursor: pointer;
    position: relative;
}
.step-title {
    font-weight: 600;
}
.step-dot {
    width: 14px;
    height: 14px;
    background-color: #ccc;
    border-radius: 50%;
    margin: 0 auto 5px;
    position: relative;
}
.step-dot::before {
    content: attr(data-step);
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    font-size: 28px;
    color: #000;
}
.step.active .step-dot {
    background-color: #0073aa;
}
        .card-option-row label {
            width: 200px;
            margin-right: 10px;
            font-weight: 500;
        }
        .card-option-row select, .card-option-row input[type="text"] {
            width: 80px;
            padding: 3px;
        }
        .card-option-row.section2 select {
            width: 120px;
        }
.form-section h4 {
    margin-bottom: 6px;
    font-weight: 600;
}
.checkbox-group label {
    display: block;
    margin-bottom: 4px;
	width: 100%;
	font-weight: 400;
}

.wide-select {
    width: 150px;
    padding: 5px;
    margin-bottom: 10px;
}

.card-option-row textarea {
    max-width: 100%;
    padding: 15px;
    margin-bottom: 10px;
}
.price-form-headings {
    margin-top: 10px;
	margin-bottom: 5px;
}
.price-form-headings h4 {
    color: #333;
    background-color: #f8f8f8;
	font-size: 16px;
    padding: 10px;
    text-align: left;
    margin: 0;
}
span.grand_total {
    padding: 5px;
    color: red;
    font-size: 20px;
	margin-bottom: 10px;
}

button.back-btn {
    margin-right: 20px;
}
.font-label {
	margin-bottom: 5px;
}
.font-label p {
	margin: 0;
}
.custom-select-wrapper {
  align-items: center;
  padding: 10px 6px 6px 10px;
  position: relative;
  width: 50%;
}

.selected-option {
  display: flex;
  justify-content: space-between;
  color: #000;
  font-size: 16px;
  width: 180px;
  padding: 3px;
  border: 1px solid #666;
  border-radius: 3px;
  cursor: pointer;	
}

.dropdown-options {
  display: none;
  position: absolute;
  width: 100%;
  background: #fff;
  border: 1px solid #ccc;
  max-height: 300px;
  overflow-y: auto;
  z-index: 99;
  cursor: pointer;	
}

.custom-select-wrapper.open .dropdown-options {
  display: block;
}

.dropdown-arrow {
    width: 14px;
    height: 14px;
    color: #333;
    align-self: center;
}

.custom-select-wrapper.open .dropdown-arrow {
  transform: rotate(180deg); /* Flip arrow on open */
}

.font-option.active {
  background-color: #eee;
  border-left: 4px solid #0073aa;
  border-right: 4px solid #0073aa;
}
.font-option {
  display: flex;
  justify-content: space-between;
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
}
.font-option:hover{
	color: #fff;
	background-color: #2563eb;
}
/* Suppress hover effect while 'suppress-hover' is active */
.custom-select-wrapper.suppress-hover .dropdown-options .font-option:hover {
  background-color: transparent !important;
  cursor: default;
}
div#selected-layout-indicator {
	margin-top: 5px;
	margin-left: 10px;
	padding: 8px 12px;
	background-color: #e7f3ff;
	border: 1px solid #007bff;
	border-radius: 4px;
	color: #0056b3;
	font-size: 14px;
	display: none;
	max-width: 180px;
	text-align: center;
}
.font-size-select {
    align-items: center;
    padding: 10px 6px 6px 10px;
}
.font-size-select select {
    padding: 3px;
}
.ink-color-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ink-color-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  cursor: pointer;
}

.ink-color-box {
  width: 16px;
  height: 16px;
  display: inline-block;
  border-radius: 3px;
}

form#wording-filter-form,
form#monogram-filter-form {
    display: flex;
    align-items: center;
    gap: 5px;
}
form#wording-filter-form select,
form#monogram-filter-form select {
    width: 200px;
	padding: 3px;
}

@media (max-width: 768px) {
    form#wording-filter-form,
    form#monogram-filter-form {
        flex-direction: column;
        align-items: flex-start;
    }
}
.fiter-form-p{
	margin-top: 5px;
	margin-bottom: 0px;
}
.invitation-heading {
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 0;
}

.layout-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px; /* spacing between items */
  justify-content: center;
}

.layout-list label {
  display: flex;
  flex-direction: column; /* stack image, text, radio */
  align-items: center;
  justify-content: space-between;
  width: 180px;      /* fixed width for consistency */
  min-height: 220px; /* ensures equal height boxes */
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
}

.layout-list label img {
  max-width: 100%;
  height: 200px;
  object-fit: contain;
}

.layout-list p {
  margin: 8px 0;
  font-size: 14px;
}

.layout-list input[type="radio"] {
  margin-top: 10px;
}

.monogram-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px; /* spacing between items */
  justify-content: center;
}

.monogram-list label {
  display: flex;
  flex-direction: column; /* stack image, text, radio */
  align-items: center;
  justify-content: space-between;
  width: 180px;      /* fixed width for consistency */
  min-height: 220px; /* ensures equal height boxes */
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
}

.monogram-list label img {
  max-width: 100%;
  height: 120px;     /* force equal image height */
  object-fit: contain; /* keeps aspect ratio without squishing */
}

.monogram-list p {
  margin: 8px 0;
  font-size: 14px;
}

.monogram-list input[type="radio"] {
  margin-top: auto; /* pushes radio button to bottom */
}

.item-box {
    border: 1px solid #ddd;
    padding: 12px;
    margin-bottom: 15px;
    background: #f9f9f9;
}
.item-box h4 {
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: bold;
}
.item-box select {
    margin-top: 5px;
}
.info-icon {
    display: inline-block;
    margin-left: 25px;
    background: #fff;
    color: #333;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center;
    font-size: 16px;
    line-height: 16px;
    cursor: pointer;
    position: relative;
    border: solid 1px;
}

.info-icon::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);
    background: white;
    color: #333;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: normal;
    border-radius: 8px;
    white-space: normal;
    width: 280px;
    text-align: left;
    line-height: 1.4;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s ease;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 1px solid black;
}

.info-icon:hover::after,
.info-icon:hover::before {
    opacity: 1;
    visibility: visible;
}
.additional-text-option {
        align-items: center;
		padding: 10px 6px 6px 10px;
}
.additional-text-option label {
        width: 200px;
		font-weight: 500;
        margin-right: 10px;
		margin-bottom: 10px;
}
.form-group{
    padding: 10px 6px 6px 10px;
}
span.label-left {
    display: flex;
    align-items: center;
}

.wording-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px; /* spacing between items */
  justify-content: center;
}

.wording-list label {
  display: flex;
  flex-direction: column; /* stack image, text, radio */
  align-items: center;
  justify-content: space-between;
  width: 300px;      /* fixed width for consistency */
  min-height: 220px; /* ensures equal height boxes */
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
}

.wording-list label img {
  max-width: 100%;
  height: 300px;     /* force equal image height */
  object-fit: contain; /* keeps aspect ratio without squishing */
}

.wording-list p {
  margin: 8px 0;
  font-size: 14px;
}

.wording-list input[type="radio"] {
  margin-top: auto; /* pushes radio button to bottom */
}
