/* CSS Document - Tailwind Checkout Page */
html, body {
  height: 100%;
}

/* School customized background color */
.bg-school {
  background-color: rgb(var(--tenant-background-color, 244, 247, 254));
}

.absolute-top-right-quote {
    position: absolute;
    left: 93%;
    font-size: 50px;
    color: white;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/* couponcode style start*/

.couponCode-inputWrapper {


}

.couponCode-inputWrapper label {
    /* padding-top: 1rem; */
    display: block;
    height: 1.6rem;
}
.couponCode-inputWrapper .label-text {
         -webkit-transform: translateY(-1.7rem);
         transform: translateY(-1.7rem);
        cursor:pointer;
        color: rgba(var(--primary-rgb-900));
        font-weight:700;
        -webkit-transition: -webkit-transform 0.2s ease-out;
        transition: -webkit-transform 0.2s ease-out;
        transition: transform 0.2s ease-out;
        transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out
}

.couponCode-inputWrapper label input {
    outline: 0;
    border:0;
    border-bottom: 0px solid rgb(var(--primary-rgb-900));
    font-weight:700;
    color: rgb(var(--primary-rgb-900));
}

.couponCode-inputWrapper label input:focus {
    border: 0;
    border-bottom: 2px solid rgba(var(--primary-rgb-900));
    padding-left: 1rem;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    width: 100%;
    
}

.couponCode-inputWrapper label input:focus + .label-text {
            -webkit-transform: translateX(1rem);
            transform: translateX(1rem) translateY(-1.7rem);
            font-size: 0.8rem;
}

/* When coupon code is active, apply styling to show its active */
.couponCode-inputWrapper label input.is-valid {

/* background-color: var(--neutral80); */

display: inline-block;
}

/* Terms and conditions checkbox - high contrast styling */
.form-check-input {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 2px solid #4b5563; /* gray-600 for good contrast */
  border-radius: 0.25rem;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.form-check-input:hover {
  border-color: #374151; /* gray-700 */
}

.form-check-input:checked {
  background-color: rgb(var(--primary-rgb-600, 79, 70, 229));
  border-color: rgb(var(--primary-rgb-600, 79, 70, 229));
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:focus {
  border-color: rgb(var(--primary-rgb-500, 99, 102, 241));
  outline: 0;
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb-500, 99, 102, 241), 0.25);
}

.form-check-label {
  cursor: pointer;
}

/* When coupon code input field is not empty, remove text */

.couponCode-inputWrapper label input.input--not-empty + .label-text {
    visibility:hidden;

}

/* couponcode style end*/

/* ===========================================
   Tailwind Ring Utilities - Bootstrap Override
   Allows Tailwind ring-* classes to work alongside Bootstrap
   =========================================== */

/* Ensure Tailwind ring utilities work - only set base offset vars, let Tailwind set the rest */
[class*="ring-"].ring-2,
[class*="ring-"].ring-1 {
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-offset-shadow: 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
}

/* ===========================================
   TipTap Content Rendering Styles
   Styles for rich text content from TipTap editor
   =========================================== */

/* Scope TipTap styles to paragraph content areas */
[data-cy="paragraph-1"],
[data-cy="paragraph-2"] {
  /* Base paragraph styling */
  line-height: 1.6;
}

/* Lists - Bullet */
[data-cy="paragraph-1"] ul:not(.task-list),
[data-cy="paragraph-2"] ul:not(.task-list) {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}

[data-cy="paragraph-1"] ul:not(.task-list) li,
[data-cy="paragraph-2"] ul:not(.task-list) li {
  margin-bottom: 0.25rem;
}

/* Lists - Numbered */
[data-cy="paragraph-1"] ol,
[data-cy="paragraph-2"] ol {
  list-style-type: decimal;
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}

[data-cy="paragraph-1"] ol li,
[data-cy="paragraph-2"] ol li {
  margin-bottom: 0.25rem;
}

/* Remove nested p tags padding in list items */
[data-cy="paragraph-1"] li > p,
[data-cy="paragraph-2"] li > p {
  margin: 0;
  padding: 0;
}

/* Headings - in case old content has them */
[data-cy="paragraph-1"] h2,
[data-cy="paragraph-2"] h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 1rem 0 0.5rem 0;
}

[data-cy="paragraph-1"] h3,
[data-cy="paragraph-2"] h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0.75rem 0 0.5rem 0;
}

/* Blockquotes */
[data-cy="paragraph-1"] blockquote,
[data-cy="paragraph-2"] blockquote {
  border-left: 4px solid rgb(var(--primary-rgb-500, 99, 102, 241));
  padding-left: 1rem;
  margin: 0.75rem 0;
  font-style: italic;
  color: #4b5563;
}

/* Horizontal Rule */
[data-cy="paragraph-1"] hr,
[data-cy="paragraph-2"] hr {
  border: none;
  border-top: 2px solid #9ca3af;
  margin: 1rem 0;
}

/* Task List (Checkboxes) */
[data-cy="paragraph-1"] .task-list,
[data-cy="paragraph-2"] .task-list {
  list-style: none;
  padding-left: 0;
  margin: 0.75rem 0;
}

[data-cy="paragraph-1"] .task-item,
[data-cy="paragraph-2"] .task-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

[data-cy="paragraph-1"] .task-item label,
[data-cy="paragraph-2"] .task-item label {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

[data-cy="paragraph-1"] .task-item label input[type="checkbox"],
[data-cy="paragraph-2"] .task-item label input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  cursor: pointer;
}

[data-cy="paragraph-1"] .task-item > div,
[data-cy="paragraph-2"] .task-item > div {
  flex: 1;
}

[data-cy="paragraph-1"] .task-item > div > p,
[data-cy="paragraph-2"] .task-item > div > p {
  margin: 0;
}

/* Links */
[data-cy="paragraph-1"] a,
[data-cy="paragraph-2"] a {
  color: rgb(var(--primary-rgb-600, 79, 70, 229));
  text-decoration: underline;
}

[data-cy="paragraph-1"] a:hover,
[data-cy="paragraph-2"] a:hover {
  color: rgb(var(--primary-rgb-700, 67, 56, 202));
}