:root {
  --ti-primary: #1559b7;
  --ti-primary-dark: #0b356f;
  --ti-primary-soft: #eaf3ff;
  --ti-accent: #f59e0b;
  --ti-success: #16865d;
  --ti-danger: #c43b4d;
  --ti-ink: #152a43;
  --ti-muted: #60748d;
  --ti-border: #dbe5f1;
  --ti-surface: #ffffff;
  --ti-surface-soft: #f4f8fc;
  --ti-shadow-sm: 0 6px 18px rgba(18, 56, 99, .08);
  --ti-shadow: 0 16px 38px rgba(18, 56, 99, .13);
  --ti-radius-sm: .75rem;
  --ti-radius: 1.15rem;
  --ti-radius-lg: 1.65rem;
  --bs-primary: #1559b7;
  --bs-primary-rgb: 21, 89, 183;
  --bs-link-color: #1559b7;
  --bs-link-hover-color: #0b356f;
  --bs-body-color: #152a43;
  --bs-body-bg: #f4f8fc;
  --bs-border-color: #dbe5f1;
  --bs-border-radius: .75rem;
  --bs-border-radius-lg: 1.15rem;
}

html { scroll-behavior: smooth; }
html.ti-modern-root { font-size: 16px !important; }

body.ti-modern {
  min-height: 100vh;
  margin: 0;
  color: var(--ti-ink);
  background:
    radial-gradient(circle at 10% 0, rgba(45, 125, 225, .10), transparent 28rem),
    linear-gradient(180deg, #f8fbff 0, var(--ti-surface-soft) 38rem, #fff 100%);
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.ti-modern *,
.ti-modern *::before,
.ti-modern *::after { box-sizing: border-box; }

.ti-modern a { text-underline-offset: .18em; }
.ti-modern img { max-width: 100%; }
.ti-modern h1, .ti-modern h2, .ti-modern h3, .ti-modern h4 {
  color: var(--ti-primary-dark);
  font-weight: 750;
  letter-spacing: -.025em;
}

.ti-modern .container { max-width: 1200px; }
.ti-modern .visible-lg { display: block !important; }

.ti-modern .btn,
.ti-modern input[type="submit"],
.ti-modern input[type="button"],
.ti-modern button {
  min-height: 2.75rem;
  border-radius: .8rem;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.ti-modern .btn:hover,
.ti-modern input[type="submit"]:hover,
.ti-modern input[type="button"]:hover,
.ti-modern button:hover { transform: translateY(-1px); }

.ti-modern .btn-primary,
.ti-modern .btn-custom-lg,
.ti-modern .btn-theme-bg,
.ti-modern input.btn-custom-lg {
  border: 1px solid var(--ti-primary);
  background: linear-gradient(135deg, var(--ti-primary), #2677d8);
  color: #fff;
  box-shadow: 0 8px 18px rgba(21, 89, 183, .22);
}

.ti-modern .btn-danger {
  border-color: var(--ti-danger);
  background: var(--ti-danger);
}

.ti-modern .form-control,
.ti-modern input[type="text"],
.ti-modern input[type="password"],
.ti-modern input[type="email"],
.ti-modern input[type="number"],
.ti-modern select,
.ti-modern textarea {
  min-height: 2.75rem;
  max-width: 100%;
  border: 1px solid #bfcfe1;
  border-radius: .75rem;
  background: #fff;
  color: var(--ti-ink);
  padding: .65rem .8rem;
}

.ti-modern textarea { min-height: 8rem; }

.ti-modern .form-control:focus,
.ti-modern input:focus,
.ti-modern select:focus,
.ti-modern textarea:focus {
  border-color: var(--ti-primary);
  outline: 0;
  box-shadow: 0 0 0 .22rem rgba(21, 89, 183, .14);
}

.ti-modern table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.ti-modern .table-responsive,
.ti-modern .jq-tbl,
.ti-modern .results-card {
  overflow: auto;
  border: 1px solid var(--ti-border) !important;
  border-radius: var(--ti-radius) !important;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
  padding: 0 !important;
}

.ti-modern .table { margin-bottom: 0; }
.ti-modern .table > :not(caption) > * > * { padding: .85rem .9rem; border-bottom-color: #e7eef6; vertical-align: middle; }
.ti-modern .table thead th,
.ti-modern table thead th {
  background: #eaf3ff;
  color: #173f70;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ti-modern .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: #f8fbff; }
.ti-modern .table-hover > tbody > tr:hover > * { --bs-table-bg-state: #eef6ff; }

.ti-page-card,
.ti-modern .login-modern-card,
.ti-modern .orders-modern-card,
.ti-modern .orders-history-card,
.ti-modern .quiz-modern-card,
.ti-modern .terms-card,
.ti-modern .left_box {
  border: 1px solid var(--ti-border) !important;
  border-radius: var(--ti-radius-lg) !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: var(--ti-shadow) !important;
}

.ti-modern .site-header-modern { position: relative; z-index: 1020; margin: 0 !important; padding: .8rem 0; }
.ti-modern .site-header-modern .header-shell {
  border: 1px solid rgba(190, 210, 234, .78) !important;
  border-radius: var(--ti-radius) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: var(--ti-shadow-sm) !important;
  backdrop-filter: blur(14px);
}
.ti-modern .site-header-modern .brand-logo { height: 3.4rem !important; }
.ti-modern .site-header-modern .main-nav { gap: .55rem !important; }
.ti-modern .site-header-modern .meta-pill,
.ti-modern .site-header-modern .nav-pill {
  min-height: 2.8rem;
  padding: .75rem 1rem !important;
  border-radius: .75rem !important;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: .95rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
.ti-modern .site-header-modern .main-nav i { font-size: 1rem !important; }

.ti-modern .ceu-banner-wrap {
  position: relative;
  margin-top: 1.4rem !important;
  border: 0 !important;
  border-radius: 1.8rem !important;
  background: linear-gradient(125deg, #092f66 0%, #1559b7 56%, #3b82db 100%) !important;
  box-shadow: 0 22px 48px rgba(11, 53, 111, .24) !important;
}
.ti-modern .ceu-banner-wrap::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.16), transparent 26rem);
  content: "";
  pointer-events: none;
}
.ti-modern .ceu-banner-body { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem) !important; }
.ti-modern .ceu-banner-title { color: #fff !important; font-size: clamp(2rem, 4.2vw, 3.75rem); line-height: 1.08; }
.ti-modern .ceu-banner-text,
.ti-modern .ceu-banner-list { color: #dbeafe !important; font-size: 1.05rem !important; }
.ti-modern .ceu-banner-cta { align-self: flex-start; border: 1px solid #fff !important; background: #fff !important; color: var(--ti-primary-dark) !important; box-shadow: var(--ti-shadow-sm); }

.ti-modern .call-to-action { border-radius: var(--ti-radius) !important; background: var(--ti-primary-dark) !important; }
.ti-modern .call-to-action .see1 { margin: 0; color: #fff; font-size: clamp(1.35rem, 2.5vw, 2rem); font-weight: 800; }

.ti-modern .course-catalog-section { padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.ti-modern .course-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.75rem;
}
.ti-modern .course-section-heading h2 { margin: .25rem 0 0; font-size: clamp(1.75rem, 3vw, 2.6rem); }
.ti-modern .course-section-heading p { max-width: 32rem; margin: 0; color: var(--ti-muted); }
.ti-modern .course-section-kicker {
  color: var(--ti-primary);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ti-modern .course-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ti-modern .course-card:hover { transform: translateY(-4px); box-shadow: var(--ti-shadow); }
.ti-modern .course-card-body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem 1.4rem .9rem; }
.ti-modern .course-hours {
  align-self: flex-start;
  margin-bottom: .85rem;
  border-radius: 999px;
  background: var(--ti-primary-soft);
  color: var(--ti-primary-dark);
  font-size: .85rem;
  font-weight: 800;
  padding: .3rem .65rem;
}
.ti-modern .course-title-button {
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0 0 1.5rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ti-primary-dark);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.4;
  padding: 0;
  text-align: left;
  text-decoration: none;
}
.ti-modern .course-title-button:hover { color: var(--ti-primary); transform: none; text-decoration: underline; }
.ti-modern .course-title-button::after {
  display: inline-block;
  margin-left: .45rem;
  color: var(--ti-primary);
  content: "\2197";
  font-size: .9em;
}
.ti-modern .course-price { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: auto 0 0; color: var(--ti-muted); }
.ti-modern .course-price span { font-size: .95rem; }
.ti-modern .course-price strong { color: var(--ti-ink); font-size: 1.1rem; }
.ti-modern .course-card-footer { padding: 0 1.4rem 1.4rem; }
.ti-modern .course-detail-section + .course-detail-section { margin-top: 1.5rem; }
.ti-modern .course-detail-section h3 { margin-bottom: .45rem; color: var(--ti-primary-dark); }
.ti-modern .modal-content { border: 0; border-radius: var(--ti-radius); box-shadow: var(--ti-shadow); }
.ti-modern .modal.show {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(5, 22, 46, .58);
  opacity: 1;
}
.modal:target {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(5, 22, 46, .58);
  opacity: 1;
}
.modal:target .modal-dialog { transform: none; }
.ti-modern.modal-open { overflow: hidden; }

.ti-modern .course-search-page {
  width: min(1200px, calc(100% - 2rem));
  margin: clamp(2rem, 5vw, 4rem) auto;
}
.ti-modern .course-search-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.ti-modern .course-search-hero h1 { margin: .3rem 0 .5rem; font-size: clamp(2rem, 4vw, 3.25rem); }
.ti-modern .course-search-hero p { max-width: 44rem; margin: 0; color: var(--ti-muted); font-size: 1.08rem; }
.ti-modern .course-search-eyebrow {
  color: var(--ti-primary);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ti-modern .course-result-summary {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .65rem;
  padding: .75rem 1rem;
  border: 1px solid #c8dcf3;
  border-radius: 999px;
  background: #fff;
  color: var(--ti-muted);
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .course-result-summary strong { color: var(--ti-primary-dark); font-size: 1.35rem; }
.ti-modern .course-filter-card {
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius-lg);
  background: rgba(255,255,255,.96);
  box-shadow: var(--ti-shadow);
}
.ti-modern .course-filter-heading,
.ti-modern .course-results-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.ti-modern .course-filter-heading { margin-bottom: 1.5rem; }
.ti-modern .course-filter-heading > div { display: flex; align-items: center; gap: .7rem; }
.ti-modern .course-filter-heading .fa { color: var(--ti-primary); font-size: 1.2rem; }
.ti-modern .course-filter-heading h2,
.ti-modern .course-results-heading h2 { margin: 0; font-size: 1.5rem; }
.ti-modern .course-filter-reset { font-weight: 700; }
.ti-modern .course-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
}
.ti-modern .course-filter-field { min-width: 0; }
.ti-modern .course-filter-field label {
  display: block;
  margin-bottom: .45rem;
  color: var(--ti-primary-dark);
  font-size: .9rem;
  font-weight: 800;
}
.ti-modern .course-filter-field small { display: block; margin-top: .4rem; color: var(--ti-muted); }
.ti-modern .course-filter-keywords { grid-column: span 3; }
.ti-modern .course-filter-licenses { grid-column: 4; grid-row: 1 / span 2; }
.ti-modern .course-filter-licenses select { min-height: 9.75rem; }
.ti-modern .course-search-input { position: relative; }
.ti-modern .course-search-input .fa {
  position: absolute;
  top: 50%;
  left: .9rem;
  z-index: 1;
  color: #6c83a0;
  transform: translateY(-50%);
}
.ti-modern .course-search-input input { padding-left: 2.55rem; }
.ti-modern .course-filter-actions { display: flex; justify-content: flex-end; margin-top: 1.35rem; }
.ti-modern .course-filter-actions .btn { min-width: 12rem; padding-inline: 1.25rem; }
.ti-modern .course-results-heading { margin-bottom: 1.4rem; }
.ti-modern .course-results-heading h2 { margin-top: .2rem; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.ti-modern .course-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.ti-modern .catalog-card {
  display: flex;
  min-width: 0;
  min-height: 18rem;
  flex-direction: column;
  padding: 1.35rem;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ti-modern .catalog-card:hover {
  border-color: #b7d2f0;
  box-shadow: var(--ti-shadow);
  transform: translateY(-3px);
}
.ti-modern .catalog-card-topline { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.ti-modern .catalog-type-badge {
  display: inline-flex;
  padding: .32rem .65rem;
  border-radius: 999px;
  background: #fff4d7;
  color: #8a5b00;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ti-modern .catalog-type-course { background: var(--ti-primary-soft); color: var(--ti-primary-dark); }
.ti-modern .catalog-state { color: var(--ti-muted); font-size: .82rem; font-weight: 700; }
.ti-modern .catalog-card h3 { margin: 1.1rem 0; font-size: 1.13rem; line-height: 1.45; }
.ti-modern .catalog-card h3 a { color: var(--ti-primary-dark); text-decoration: none; }
.ti-modern .catalog-card h3 a:hover,
.ti-modern .catalog-card h3 a:focus { color: var(--ti-primary); text-decoration: underline; }
.ti-modern .catalog-meta { display: flex; flex-wrap: wrap; gap: .55rem .9rem; color: var(--ti-muted); font-size: .88rem; }
.ti-modern .catalog-meta span { display: inline-flex; align-items: center; gap: .35rem; }
.ti-modern .catalog-meta .fa { color: var(--ti-primary); }
.ti-modern .catalog-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid #e6edf6;
}
.ti-modern .catalog-price { color: var(--ti-primary-dark); font-size: 1.25rem; }
.ti-modern .catalog-cart-button { min-height: 2.6rem; padding: .55rem .85rem; font-size: .86rem; }
.ti-modern .catalog-in-cart {
  align-items: center;
  gap: .4rem;
  color: var(--ti-success);
  font-size: .9rem;
  font-weight: 800;
}
.ti-modern .course-results-empty {
  padding: clamp(2rem, 6vw, 4.5rem);
  border: 1px dashed #aac7e7;
  border-radius: var(--ti-radius-lg);
  background: rgba(255,255,255,.82);
  text-align: center;
}
.ti-modern .course-results-empty > .fa { color: #8eb3dc; font-size: 2.5rem; }
.ti-modern .course-results-empty h3 { margin: 1rem 0 .4rem; }
.ti-modern .course-results-empty p { margin: 0 0 1.25rem; color: var(--ti-muted); }
.ti-modern .catalog-detail-modal .modal-dialog { width: min(960px, calc(100% - 2rem)); max-width: 960px; }
.ti-modern .catalog-detail-modal .modal-content { overflow: hidden; }
.ti-modern .catalog-detail-modal .modal-header,
.ti-modern .catalog-detail-modal .modal-footer { flex: 0 0 auto; }
.ti-modern .catalog-detail-frame-wrap { min-height: 32rem; background: #f7faff; }
.ti-modern .catalog-detail-frame {
  display: block;
  width: 100%;
  height: min(68vh, 700px);
  min-height: 32rem;
  border: 0;
  background: #f7faff;
}
.ti-modern.product-detail-body { min-height: 100vh; background: #f7faff; }
.ti-modern .product-detail-page { width: min(900px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(1rem, 3vw, 2rem) 0; }
.ti-modern .product-detail-card {
  overflow: hidden;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .product-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.25rem, 4vw, 2rem);
  background: linear-gradient(135deg, #eaf3ff, #f8fbff);
}
.ti-modern .product-detail-eyebrow {
  color: var(--ti-primary);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ti-modern .product-detail-header h1 { margin: .35rem 0 0; font-size: clamp(1.5rem, 4vw, 2.25rem); line-height: 1.25; }
.ti-modern .product-detail-price { flex: 0 0 auto; color: var(--ti-primary-dark); font-size: 1.4rem; font-weight: 800; }
.ti-modern .product-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1.25rem;
  padding: 1rem clamp(1.25rem, 4vw, 2rem);
  border-top: 1px solid var(--ti-border);
  border-bottom: 1px solid var(--ti-border);
  color: var(--ti-muted);
  font-size: .92rem;
}
.ti-modern .product-detail-meta span { display: inline-flex; align-items: center; gap: .4rem; }
.ti-modern .product-detail-meta .fa { color: var(--ti-primary); }
.ti-modern .product-detail-section { padding: 1.5rem clamp(1.25rem, 4vw, 2rem); }
.ti-modern .product-detail-section + .product-detail-section { border-top: 1px solid #e8eef6; }
.ti-modern .product-detail-section h2 { margin: 0 0 .75rem; font-size: 1.15rem; }
.ti-modern .product-detail-description { overflow-wrap: anywhere; }
.ti-modern .product-detail-description img { height: auto; max-width: 100%; }
.ti-modern .product-detail-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #e8eef6; }
.ti-modern .product-detail-info-grid .product-detail-section { border-top: 0; }
.ti-modern .product-detail-info-grid .product-detail-section + .product-detail-section { border-left: 1px solid #e8eef6; }
.ti-modern .product-detail-empty { padding: 3rem; border-radius: var(--ti-radius); background: #fff; text-align: center; }

.ti-modern .auth-page { padding: clamp(2rem, 6vw, 5rem) 0; }
.ti-modern .auth-shell {
  display: grid;
  width: min(1080px, 100%);
  min-height: 42rem;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--ti-border);
  border-radius: 1.75rem;
  background: #fff;
  box-shadow: 0 24px 60px rgba(11, 53, 111, .16);
}
.ti-modern .auth-benefits {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 3.5rem);
  background:
    radial-gradient(circle at 90% 8%, rgba(255,255,255,.2), transparent 16rem),
    radial-gradient(circle at 10% 90%, rgba(79, 148, 231, .3), transparent 19rem),
    linear-gradient(145deg, #092f66 0%, #1559b7 65%, #2778d4 100%);
  color: #fff;
}
.ti-modern .auth-benefits::after {
  position: absolute;
  right: -5rem;
  bottom: -5rem;
  width: 14rem;
  height: 14rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  content: "";
}
.ti-modern .auth-benefits-content,
.ti-modern .auth-trust-note { position: relative; z-index: 1; }
.ti-modern .auth-eyebrow {
  display: block;
  margin-bottom: .65rem;
  color: #1760b7;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ti-modern .auth-benefits .auth-eyebrow { color: #bfdbfe; }
.ti-modern .auth-benefits h1 {
  max-width: 28rem;
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.08;
}
.ti-modern .auth-benefits-content > p {
  max-width: 30rem;
  margin: 0;
  color: #d9e9fb;
  font-size: 1.04rem;
}
.ti-modern .auth-benefit-list { margin: 2.25rem 0 0; padding: 0; list-style: none; }
.ti-modern .auth-benefit-list li { display: flex; align-items: flex-start; gap: .9rem; }
.ti-modern .auth-benefit-list li + li { margin-top: 1.3rem; }
.ti-modern .auth-benefit-icon {
  display: inline-flex;
  width: 2.6rem;
  height: 2.6rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .8rem;
  background: rgba(255,255,255,.12);
  color: #fff;
}
.ti-modern .auth-benefit-list strong,
.ti-modern .auth-benefit-list span { display: block; }
.ti-modern .auth-benefit-list strong { color: #fff; font-size: 1rem; }
.ti-modern .auth-benefit-list div > span { margin-top: .15rem; color: #cbdff5; font-size: .9rem; }
.ti-modern .auth-trust-note {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: 2rem;
  color: #d9e9fb;
  font-size: .86rem;
}
.ti-modern .auth-form-panel { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); }
.ti-modern .auth-form-header { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.75rem; }
.ti-modern .auth-form-icon {
  display: inline-flex;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: var(--ti-primary-soft);
  color: var(--ti-primary);
  font-size: 1.2rem;
}
.ti-modern .auth-form-header h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.35rem); }
.ti-modern .auth-form-header p { margin: .25rem 0 0; color: var(--ti-muted); }
.ti-modern .auth-form .auth-field + .auth-field { margin-top: 1.15rem; }
.ti-modern .auth-field label { margin: 0; color: var(--ti-primary-dark); font-size: .9rem; font-weight: 800; }
.ti-modern .auth-label-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .45rem; }
.ti-modern .auth-label-row a { font-size: .88rem; font-weight: 700; }
.ti-modern .auth-input-wrap { position: relative; }
.ti-modern .auth-input-wrap > .fa {
  position: absolute;
  top: 50%;
  left: .95rem;
  z-index: 1;
  color: #6b819a;
  transform: translateY(-50%);
}
.ti-modern .auth-input-wrap .form-control { min-height: 3.25rem; padding-left: 2.75rem; font-size: 1rem; }
.ti-modern .auth-password-wrap .form-control { padding-right: 3.25rem; }
.ti-modern .auth-password-toggle {
  position: absolute;
  top: 50%;
  right: .4rem;
  min-width: 2.45rem;
  min-height: 2.45rem;
  border: 0;
  background: transparent;
  color: #536b86;
  transform: translateY(-50%);
}
.ti-modern .auth-password-toggle:hover { background: var(--ti-primary-soft); color: var(--ti-primary); transform: translateY(-50%); }
.ti-modern .auth-submit { width: 100%; min-height: 3.2rem; margin-top: 1.4rem; font-size: 1rem; }
.ti-modern .auth-error {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1.25rem;
  padding: .9rem 1rem;
  border: 1px solid #efb9c1;
  border-radius: .85rem;
  background: #fff1f3;
  color: #842b39;
}
.ti-modern .auth-error i { margin-top: .2rem; }
.ti-modern .auth-error strong,
.ti-modern .auth-error span { display: block; }
.ti-modern .auth-divider { display: flex; align-items: center; gap: .8rem; margin: 1.5rem 0 1rem; color: var(--ti-muted); font-size: .88rem; }
.ti-modern .auth-divider::before,
.ti-modern .auth-divider::after { height: 1px; flex: 1; background: var(--ti-border); content: ""; }
.ti-modern .auth-register { display: flex; align-items: center; justify-content: center; gap: .55rem; min-height: 3rem; }
.ti-modern .auth-policy-note {
  margin: 1.25rem 0 0;
  padding: .85rem 1rem;
  border-radius: .8rem;
  background: #f6f9fd;
  color: var(--ti-muted);
  font-size: .82rem;
  line-height: 1.5;
}

.ti-modern .checkout-page {
  width: min(1200px, calc(100% - 2rem));
  margin: clamp(2rem, 5vw, 4rem) auto;
}
.ti-modern .checkout-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.75rem;
}
.ti-modern .checkout-eyebrow {
  color: var(--ti-primary);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ti-modern .checkout-hero h1 { margin: .3rem 0 .45rem; font-size: clamp(2rem, 4vw, 3.2rem); }
.ti-modern .checkout-hero p { max-width: 46rem; margin: 0; color: var(--ti-muted); font-size: 1.05rem; }
.ti-modern .checkout-security {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .8rem;
  padding: .8rem 1rem;
  border: 1px solid #bfe2d4;
  border-radius: 1rem;
  background: #effaf5;
  color: #166747;
}
.ti-modern .checkout-security > i { font-size: 1.25rem; }
.ti-modern .checkout-security strong,
.ti-modern .checkout-security span { display: block; }
.ti-modern .checkout-security span { margin-top: .1rem; color: #4c7565; font-size: .78rem; }
.ti-modern .checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1.5rem; align-items: start; }
.ti-modern .checkout-main { display: grid; min-width: 0; gap: 1.5rem; }
.ti-modern .checkout-payment-form { display: grid; gap: 1.5rem; }
.ti-modern .checkout-panel,
.ti-modern .checkout-summary-card {
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius-lg);
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .checkout-panel { padding: clamp(1.25rem, 3vw, 2rem); }
.ti-modern .checkout-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.4rem;
}
.ti-modern .checkout-panel-heading > div:first-child { display: flex; align-items: flex-start; gap: .85rem; }
.ti-modern .checkout-panel-heading h2 { margin: 0; font-size: 1.35rem; }
.ti-modern .checkout-panel-heading p { margin: .2rem 0 0; color: var(--ti-muted); font-size: .9rem; }
.ti-modern .checkout-panel-heading > a { font-size: .9rem; font-weight: 700; white-space: nowrap; }
.ti-modern .checkout-step {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: .8rem;
  background: var(--ti-primary-soft);
  color: var(--ti-primary);
  font-weight: 800;
}
.ti-modern .cart-item-list { border-top: 1px solid #e5edf6; }
.ti-modern .checkout-cart-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 6.25rem 7rem;
  gap: 1rem;
  align-items: center;
  padding: 1.2rem 0;
  border-bottom: 1px solid #e5edf6;
}
.ti-modern .cart-remove-select { display: flex; margin: 0; }
.ti-modern .cart-remove-select input { width: 1.15rem; height: 1.15rem; accent-color: var(--ti-primary); }
.ti-modern .cart-item-type {
  color: var(--ti-primary);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ti-modern .cart-item-content h3 { margin: .25rem 0; font-size: 1rem; line-height: 1.4; }
.ti-modern .cart-item-unit-price { color: var(--ti-muted); font-size: .82rem; }
.ti-modern .cart-quantity label { display: block; margin-bottom: .3rem; color: var(--ti-muted); font-size: .75rem; font-weight: 700; }
.ti-modern .cart-quantity input { width: 5rem; min-height: 2.5rem; text-align: center; }
.ti-modern .cart-line-total { color: var(--ti-primary-dark); font-size: 1.08rem; text-align: right; }
.ti-modern .cart-update-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.1rem; }
.ti-modern .cart-update-actions > span { color: var(--ti-muted); font-size: .8rem; }
.ti-modern .cart-update-actions > div { display: flex; flex-wrap: wrap; gap: .65rem; }
.ti-modern .checkout-cna-notice {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid #f0d8a7;
  border-radius: .85rem;
  background: #fffaf0;
  color: #695127;
}
.ti-modern .checkout-cna-notice p { margin: .3rem 0 0; font-size: .88rem; }
.ti-modern .profile-fill-option {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin: 0 0 1.4rem;
  padding: .9rem 1rem;
  border: 1px solid #c9ddf3;
  border-radius: .85rem;
  background: #f4f9ff;
  cursor: pointer;
}
.ti-modern .profile-fill-option input { width: 1.1rem; height: 1.1rem; margin-top: .2rem; accent-color: var(--ti-primary); }
.ti-modern .profile-fill-option strong,
.ti-modern .profile-fill-option small { display: block; }
.ti-modern .profile-fill-option small { margin-top: .1rem; color: var(--ti-muted); }
.ti-modern .checkout-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ti-modern .checkout-field-wide { grid-column: span 2; }
.ti-modern .checkout-field label { display: block; margin-bottom: .4rem; color: var(--ti-primary-dark); font-size: .86rem; font-weight: 800; }
.ti-modern .checkout-field label span { color: var(--ti-muted); font-weight: 500; }
.ti-modern .checkout-field small { display: block; margin-top: .35rem; color: var(--ti-muted); }
.ti-modern .checkout-field .form-control { min-height: 3rem; }
.ti-modern .checkout-card-input { position: relative; }
.ti-modern .checkout-card-input > i { position: absolute; top: 50%; left: .9rem; color: #6b819a; transform: translateY(-50%); }
.ti-modern .checkout-card-input .form-control { padding-left: 2.65rem; }
.ti-modern .checkout-field-card-number { grid-column: span 1; }
.ti-modern .accepted-cards { display: flex; flex-wrap: wrap; gap: .35rem; }
.ti-modern .accepted-cards span {
  padding: .3rem .45rem;
  border: 1px solid #ccd9e7;
  border-radius: .35rem;
  background: #f8fbff;
  color: #405a76;
  font-size: .65rem;
  font-weight: 800;
}
.ti-modern .checkout-summary { position: sticky; top: 1rem; }
.ti-modern .checkout-summary-card { padding: 1.4rem; }
.ti-modern .checkout-summary-card h2 { margin: 0 0 1.25rem; font-size: 1.3rem; }
.ti-modern .checkout-summary-row,
.ti-modern .checkout-summary-total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ti-modern .checkout-summary-row { padding: .55rem 0; color: var(--ti-muted); }
.ti-modern .checkout-summary-total {
  margin-top: .75rem;
  padding: 1rem 0;
  border-top: 1px solid var(--ti-border);
  color: var(--ti-primary-dark);
}
.ti-modern .checkout-summary-total span { font-weight: 800; }
.ti-modern .checkout-summary-total strong { font-size: 1.35rem; }
.ti-modern .checkout-submit { width: 100%; min-height: 3.25rem; margin-top: .75rem; }
.ti-modern .checkout-submit-note { margin: .8rem 0; color: var(--ti-muted); font-size: .76rem; line-height: 1.45; text-align: center; }
.ti-modern .checkout-processor-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding-top: .9rem;
  border-top: 1px solid var(--ti-border);
  color: #47705e;
  font-size: .78rem;
}
.ti-modern .checkout-empty {
  padding: clamp(3rem, 8vw, 6rem);
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius-lg);
  background: #fff;
  box-shadow: var(--ti-shadow);
  text-align: center;
}
.ti-modern .checkout-empty > .fa { color: #8aadd2; font-size: 3rem; }
.ti-modern .checkout-empty h2 { margin: 1rem 0 .35rem; }
.ti-modern .checkout-empty p { margin: 0 0 1.25rem; color: var(--ti-muted); }

.ti-modern .thumbnail {
  height: 100%;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ti-border) !important;
  border-radius: var(--ti-radius) !important;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ti-modern .thumbnail:hover { transform: translateY(-3px); box-shadow: var(--ti-shadow); }
.ti-modern .see2 { color: var(--ti-ink); font-size: 1rem; line-height: 1.55; }
.ti-modern .see2 > span:first-child { color: var(--ti-primary-dark) !important; font-size: 1.1rem; font-weight: 800; }

.ti-modern .footer-cta-band { margin: clamp(3rem, 7vw, 6rem) 0 0; }
.ti-modern .footer-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  overflow: hidden;
  padding: clamp(1.75rem, 4vw, 3rem);
  border-radius: var(--ti-radius-lg);
  background:
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.18), transparent 18rem),
    linear-gradient(130deg, #0b356f, #1559b7 62%, #3180dc);
  color: #fff;
  box-shadow: 0 20px 45px rgba(11, 53, 111, .25);
}
.ti-modern .footer-cta-copy { max-width: 48rem; }
.ti-modern .footer-cta-eyebrow {
  display: block;
  margin-bottom: .5rem;
  color: #bfdbfe;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ti-modern .footer-cta-card h2 { margin: 0 0 .65rem; color: #fff; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.ti-modern .footer-cta-card p { margin: 0; color: #e5efff; font-size: 1.05rem; }
.ti-modern .footer-cta-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .75rem; }
.ti-modern .footer-cta-actions .btn { display: inline-flex; align-items: center; min-height: 3rem; padding-inline: 1.15rem; }
.ti-modern .footer-cta-actions .btn-light { color: var(--ti-primary-dark); }
.ti-modern .footer-cta-actions .btn-outline-light { border-color: rgba(255,255,255,.75); color: #fff; }

.ti-modern .footer-modern {
  margin-top: 2rem !important;
  padding: 4rem 0 1.5rem;
  background: linear-gradient(180deg, #071d3d 0%, #06172f 100%) !important;
  color: #c9dbef;
}
.ti-modern .footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.1fr; gap: clamp(1.5rem, 4vw, 3rem); }
.ti-modern .footer-brand { height: 3.4rem; margin-bottom: 1rem; filter: brightness(0) invert(1); }
.ti-modern .footer-summary { max-width: 25rem; color: #b7cbe1; font-size: .98rem; }
.ti-modern .footer-modern h2 {
  margin: .2rem 0 1rem;
  color: #fff;
  font-size: 1.05rem;
  letter-spacing: .04em;
}
.ti-modern .footer-links { margin: 0; padding: 0; list-style: none; }
.ti-modern .footer-links li + li { margin-top: .65rem; }
.ti-modern .footer-modern a { color: #c9dbef; font-size: .98rem; text-decoration: none; }
.ti-modern .footer-modern a:hover,
.ti-modern .footer-modern a:focus { color: #fff; text-decoration: underline; }
.ti-modern .footer-contact-item { display: flex; align-items: flex-start; gap: .65rem; }
.ti-modern .footer-contact-item + .footer-contact-item { margin-top: .8rem; }
.ti-modern .footer-contact-item i { width: 1.1rem; margin-top: .25rem; color: #78b7ff; text-align: center; }
.ti-modern .footer-social { display: flex; gap: .65rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.ti-modern .footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.ti-modern .footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 3rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #94aac2;
  font-size: .9rem;
}
.ti-modern .footer-bottom p { margin: 0; }

.ti-modern .orders-modern-wrap,
.ti-modern .orders-history-wrap,
.ti-modern .terms-modern-wrap,
.ti-modern .quiz-modern-wrap { width: min(1200px, calc(100% - 2rem)); margin-inline: auto; }

.ti-modern .orders-list li { padding: 1rem 1.1rem !important; border-radius: .9rem !important; }
.ti-modern .order-link { font-size: 1.05rem !important; }

.ti-modern .quiz-question-shell { border-radius: var(--ti-radius-lg) !important; }
.ti-modern .quiz-answer-option { cursor: pointer; transition: border-color .18s ease, background .18s ease; }
.ti-modern .quiz-answer-option:hover { border-color: #88afe0 !important; background: #edf6ff !important; }

.ti-admin-page {
  padding: clamp(1rem, 2vw, 1.75rem);
  background: var(--ti-surface-soft) !important;
}
.ti-admin-page > br:first-child { display: none; }
.ti-admin-page .container-fluid,
.ti-admin-page .container { max-width: 1440px; margin-inline: auto; }
.ti-admin-page .row { margin-inline: 0; }
.ti-admin-page [class*="col-"] { max-width: 100%; }
.ti-admin-page .col-xs-8,
.ti-admin-page .col-xs-6,
.ti-admin-page .col-md-8 { width: 100%; }
.ti-admin-page .col-xs-4,
.ti-admin-page .col-md-4 { width: 100%; margin-top: 1rem; }
.ti-admin-page table[border="0"]:not(.table) {
  width: min(100%, 980px) !important;
  margin: 1rem auto;
  overflow: hidden;
  border: 1px solid var(--ti-border) !important;
  border-radius: var(--ti-radius);
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-admin-page table[border="0"]:not(.table) td { padding: .65rem .8rem; }
.ti-admin-page input[type="submit"],
.ti-admin-page input[type="button"] { padding-inline: 1rem; }
.ti-admin-page h1:first-of-type,
.ti-admin-page h2:first-of-type,
.ti-admin-page h3:first-of-type { margin-top: 0; }
.ti-admin-page {
  min-height: 100vh;
  padding: clamp(1rem, 2.5vw, 2rem);
  background:
    radial-gradient(circle at 100% 0, rgba(38, 119, 216, .09), transparent 28rem),
    #f3f7fc !important;
}
.ti-admin-page #container,
.ti-admin-page #page-content-wrapper,
.ti-admin-page .page-content,
.ti-admin-page .inset { width: 100%; margin: 0; padding: 0; }
.ti-admin-page .content-header:empty,
.ti-admin-page .page-content.inset:empty { display: none; }
.ti-admin-workspace-header {
  display: grid;
  max-width: 1440px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem 2rem;
  margin: 0 auto 1.5rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid #d8e4f2;
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 88% 15%, rgba(255,255,255,.18), transparent 17rem),
    linear-gradient(125deg, #0d376c, #1762b8 72%, #2b7bd4);
  box-shadow: 0 18px 42px rgba(15, 57, 105, .18);
  color: #fff;
}
.ti-admin-workspace-heading { min-width: 0; }
.ti-admin-kicker {
  display: block;
  margin-bottom: .45rem;
  color: #bfdbfe;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ti-admin-workspace-header h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.08;
}
.ti-admin-workspace-header p {
  max-width: 48rem;
  margin: .55rem 0 0;
  color: #dcecff;
}
.ti-admin-workspace-actions { display: flex; align-items: center; }
.ti-admin-workspace-header .ti-admin-primary-action {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  border-color: #fff;
  background: #fff;
  color: #0d4d95;
  box-shadow: 0 8px 20px rgba(4, 29, 61, .18);
  text-decoration: none;
  white-space: nowrap;
}
.ti-admin-section-nav {
  display: flex;
  grid-column: 1 / -1;
  gap: .45rem;
  overflow-x: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.2);
  scrollbar-width: thin;
}
.ti-admin-section-nav a {
  flex: 0 0 auto;
  padding: .5rem .75rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .65rem;
  color: #e5f1ff;
  font-size: .82rem;
  font-weight: 750;
  text-decoration: none;
}
.ti-admin-section-nav a:hover,
.ti-admin-section-nav a:focus,
.ti-admin-section-nav a.active {
  border-color: #fff;
  background: #fff;
  color: #0d4d95;
}
.ti-admin-page .container-fluid,
.ti-admin-page .container { padding-inline: 0; }
.ti-admin-page .table-responsive,
.ti-admin-page .jq-tbl {
  margin-bottom: 1.5rem;
  border: 1px solid var(--ti-border) !important;
  border-radius: 1rem !important;
  box-shadow: 0 10px 30px rgba(18, 56, 99, .09);
}
.ti-admin-page .table { margin: 0; }
.ti-admin-page .table > thead > tr > th,
.ti-admin-page .table > thead > tr > td {
  border: 0;
  background: #e7f1fd !important;
  color: #143f73;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.ti-admin-page .table > tbody > tr,
.ti-admin-page .table > tbody > tr[bgcolor] { background: #fff !important; }
.ti-admin-page .table > tbody > tr:nth-child(even),
.ti-admin-page .table > tbody > tr:nth-child(even)[bgcolor] { background: #f8fbff !important; }
.ti-admin-page .table > tbody > tr:hover { background: #edf5ff !important; }
.ti-admin-page [style*="border:7px"],
.ti-admin-page [style*="border: 7px"] {
  padding: clamp(1rem, 2vw, 1.5rem) !important;
  border: 1px solid var(--ti-border) !important;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-admin-page form > table:not(.table) {
  width: min(100%, 1050px) !important;
  border: 1px solid var(--ti-border) !important;
  background: #fff !important;
}
.ti-admin-page form > table:not(.table) td {
  height: auto !important;
  padding: .6rem .8rem;
  color: var(--ti-ink) !important;
}
.ti-admin-page form > table:not(.table) td:first-child:not([colspan]) {
  color: #304e70 !important;
  font-weight: 700;
}
.ti-admin-page input[type="submit"],
.ti-admin-page input[type="button"] {
  border: 1px solid var(--ti-primary);
  background: linear-gradient(135deg, var(--ti-primary), #2677d8);
  color: #fff;
}
.ti-admin-page input[type="checkbox"],
.ti-admin-page input[type="radio"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--ti-primary);
}
.ti-admin-page .dataTables_wrapper {
  padding: 1rem;
  border: 1px solid var(--ti-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-admin-page .dataTables_wrapper .dataTables_filter input,
.ti-admin-page .dataTables_wrapper .dataTables_length select {
  display: inline-block;
  width: auto;
  min-height: 2.35rem;
}
.ti-admin-page .ti-admin-delete-action {
  display: inline-flex;
  min-width: 2rem;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: .55rem;
  background: #fff0f2;
  color: #b72d43 !important;
  font-weight: 800;
  text-decoration: none;
}
.ti-admin-page .ti-admin-delete-action:hover,
.ti-admin-page .ti-admin-delete-action:focus { background: #ffdce2; }
.admin-nav a.active { background: #fff; color: #123a68; }
.ti-admin-page iframe,
.ti-admin-page .cke,
.ti-admin-page .cke_contents { max-width: 100% !important; }
.ti-admin-page.ti-admin-embedded { padding: 0; }
.ti-admin-page.ti-admin-embedded .ti-admin-workspace-header {
  margin-bottom: .75rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.ti-admin-page.ti-admin-embedded .ti-admin-workspace-header h1 { color: var(--ti-primary-dark); }
.ti-admin-page.ti-admin-embedded .ti-admin-workspace-header p { color: var(--ti-muted); }
.ti-admin-page.ti-admin-embedded .ti-admin-kicker { color: var(--ti-primary); }
.ti-admin-page.ti-admin-embedded .ti-admin-section-nav { display: none; }
.ti-admin-page.ti-admin-embedded .ti-admin-workspace-header .ti-admin-primary-action {
  border-color: var(--ti-primary);
  background: var(--ti-primary);
  color: #fff;
}

@media (max-width: 700px) {
  .ti-admin-page { padding: .75rem; }
  .ti-admin-workspace-header {
    grid-template-columns: 1fr;
    padding: 1.15rem;
    border-radius: 1rem;
  }
  .ti-admin-workspace-actions { justify-content: stretch; }
  .ti-admin-workspace-actions .btn { width: 100%; justify-content: center; }
  .ti-admin-section-nav { grid-column: 1; margin-inline: -.25rem; }
  .ti-admin-page form > table:not(.table),
  .ti-admin-page form > table:not(.table) tbody,
  .ti-admin-page form > table:not(.table) tr,
  .ti-admin-page form > table:not(.table) td {
    display: block;
    width: 100% !important;
  }
}

.ti-modern.quiz-page {
  min-height: 100vh;
  margin: 0;
  color: var(--ti-ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(44, 116, 214, .11), transparent 32rem),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}
.ti-modern .quiz-app-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.ti-modern .quiz-app-header,
.ti-modern .quiz-app-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100% - 2rem, 1180px);
  margin-inline: auto;
}
.ti-modern .quiz-app-header { padding-block: 1.15rem; }
.ti-modern .quiz-brand {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  color: var(--ti-ink);
  text-decoration: none;
}
.ti-modern .quiz-brand-mark {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border-radius: .85rem;
  color: #fff;
  background: linear-gradient(135deg, var(--ti-primary), #337fe2);
  box-shadow: 0 .55rem 1.1rem rgba(13, 59, 142, .2);
}
.ti-modern .quiz-brand strong,
.ti-modern .quiz-brand small { display: block; }
.ti-modern .quiz-brand strong { font-size: 1.05rem; }
.ti-modern .quiz-brand small { margin-top: .1rem; color: var(--ti-muted); font-size: .75rem; }
.ti-modern .quiz-logout {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.65rem;
  border-color: #c8d7e8;
  color: #385570;
  font-weight: 700;
}
.ti-modern .quiz-main {
  flex: 1;
  width: min(100% - 2rem, 1040px);
  margin: 1rem auto 3rem;
}
.ti-modern .quiz-status-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.25rem;
  padding: clamp(1.35rem, 3vw, 2.15rem);
  overflow: hidden;
  border: 1px solid #dce8f5;
  border-radius: 1.35rem;
  background: linear-gradient(135deg, #fff 0%, #f1f7ff 100%);
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .quiz-eyebrow {
  display: block;
  margin-bottom: .45rem;
  color: var(--ti-primary);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ti-modern .quiz-status-copy h1 {
  margin: 0;
  color: #153a64;
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.2;
}
.ti-modern .quiz-status-copy p {
  max-width: 46rem;
  margin: .7rem 0 0;
  color: var(--ti-muted);
  font-size: .96rem;
}
.ti-modern .quiz-time-card {
  min-width: 13.5rem;
  padding: 1rem 1.2rem;
  border: 1px solid #cfe0f4;
  border-radius: 1rem;
  background: rgba(255, 255, 255, .9);
  text-align: center;
}
.ti-modern .quiz-time-card span {
  display: block;
  margin-bottom: .3rem;
  color: #52708f;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ti-modern .quiz-time-card strong {
  color: var(--ti-primary);
  font-size: clamp(1.65rem, 4vw, 2.15rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: .05em;
}
.ti-modern .quiz-question-card {
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid #dce7f3;
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 1.1rem 2.75rem rgba(21, 58, 100, .09);
}
.ti-modern .quiz-progress-row {
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #e8eef5;
}
.ti-modern .quiz-progress-row > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .6rem;
  color: #45627f;
  font-size: .87rem;
  font-weight: 700;
}
.ti-modern .quiz-progress-row .progress {
  height: .48rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf5;
}
.ti-modern .quiz-progress-row .progress-bar {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--ti-primary), #3988eb);
}
.ti-modern .quiz-question-card fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ti-modern .quiz-question-card legend {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  width: 100%;
  margin-bottom: 1.5rem;
  color: #173b63;
  font-size: clamp(1.2rem, 2.6vw, 1.55rem);
  font-weight: 750;
  line-height: 1.45;
}
.ti-modern .quiz-question-icon {
  display: grid;
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: .75rem;
  color: #bd7200;
  background: #fff3d7;
}
.ti-modern .quiz-answer-list { display: grid; gap: .8rem; }
.ti-modern .quiz-answer-option {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .9rem;
  min-height: 4rem;
  margin: 0;
  padding: .8rem 1rem;
  border: 1px solid #d7e2ee;
  border-radius: 1rem;
  color: #294662;
  background: #fbfdff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.ti-modern .quiz-answer-option:hover {
  border-color: #8db4e1 !important;
  background: #f3f8ff !important;
  transform: translateY(-1px);
}
.ti-modern .quiz-answer-option:focus-within {
  outline: .2rem solid rgba(31, 98, 201, .2);
  outline-offset: .12rem;
}
.ti-modern .quiz-answer-option:has(input:checked) {
  border-color: #2f73cf !important;
  background: #edf5ff !important;
  box-shadow: 0 0 0 .14rem rgba(47, 115, 207, .13);
}
.ti-modern .quiz-answer-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.ti-modern .quiz-answer-letter {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid #cbd9e7;
  border-radius: .7rem;
  color: #496681;
  background: #fff;
  font-weight: 800;
}
.ti-modern .quiz-answer-option:has(input:checked) .quiz-answer-letter {
  border-color: var(--ti-primary);
  color: #fff;
  background: var(--ti-primary);
}
.ti-modern .quiz-answer-text { font-size: 1rem; font-weight: 650; line-height: 1.45; }
.ti-modern .quiz-answer-check {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  color: transparent;
  background: #edf1f5;
}
.ti-modern .quiz-answer-option:has(input:checked) .quiz-answer-check {
  color: #fff;
  background: #25805a;
}
.ti-modern .quiz-question-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 1.75rem;
  padding-top: 1.35rem;
  border-top: 1px solid #e8eef5;
}
.ti-modern .quiz-question-actions p { margin: 0; color: var(--ti-muted); font-size: .87rem; }
.ti-modern .quiz-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-width: 12rem;
  min-height: 3rem;
  border-radius: .8rem;
  font-weight: 800;
}
.ti-modern .quiz-empty-state {
  padding: 3rem 1.5rem;
  border: 1px solid var(--ti-border);
  border-radius: 1.25rem;
  background: #fff;
  text-align: center;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .quiz-empty-state > .fa { color: var(--ti-primary); font-size: 2rem; }
.ti-modern .quiz-empty-state h2 { margin: .8rem 0 .4rem; }
.ti-modern .quiz-empty-state p { margin: 0; color: var(--ti-muted); }
.ti-modern .quiz-app-footer {
  padding-block: 1.25rem;
  border-top: 1px solid #d9e4f0;
  color: #647d96;
  font-size: .84rem;
}
.ti-modern .quiz-app-footer a { color: var(--ti-primary); font-weight: 700; }

.ti-modern .order-detail-page {
  width: min(100% - 2rem, 1180px);
  margin: 2rem auto 4rem;
}
.ti-modern .order-detail-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  overflow: hidden;
  border: 1px solid #d7e5f5;
  border-radius: 1.5rem;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.16), transparent 16rem),
    linear-gradient(135deg, #0c376f 0%, #175eb7 68%, #287bda 100%);
  box-shadow: 0 1.25rem 3rem rgba(13, 59, 142, .19);
}
.ti-modern .order-detail-eyebrow {
  display: block;
  margin-bottom: .45rem;
  color: #bedcff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ti-modern .order-detail-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 2.65rem);
}
.ti-modern .order-detail-hero p {
  max-width: 42rem;
  margin: .65rem 0 0;
  color: #dbeaff;
  font-size: 1rem;
}
.ti-modern .order-detail-number {
  min-width: 15rem;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 1rem;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(.4rem);
}
.ti-modern .order-detail-number span,
.ti-modern .order-detail-number strong { display: block; }
.ti-modern .order-detail-number span {
  margin-bottom: .25rem;
  color: #bfdbfb;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ti-modern .order-detail-number strong {
  color: #fff;
  font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .03em;
}
.ti-modern .order-detail-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem .25rem;
}
.ti-modern .order-detail-toolbar .btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border-radius: .75rem;
  font-weight: 750;
}
.ti-modern .order-detail-toolbar > span { color: #67809a; font-size: .84rem; font-weight: 650; }
.ti-modern .order-detail-section { margin-top: 1.5rem; }
.ti-modern .order-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: .9rem;
}
.ti-modern .order-section-heading > div {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.ti-modern .order-section-icon {
  display: grid;
  flex: 0 0 2.7rem;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border-radius: .8rem;
  color: #1760b7;
  background: #e7f1ff;
}
.ti-modern .order-section-icon.is-success { color: #16704b; background: #e4f6ed; }
.ti-modern .order-section-icon.is-event { color: #9a5c00; background: #fff1d5; }
.ti-modern .order-section-heading h2 {
  margin: 0;
  color: #183d66;
  font-size: clamp(1.25rem, 2.5vw, 1.55rem);
}
.ti-modern .order-section-heading p { margin: .2rem 0 0; color: var(--ti-muted); font-size: .88rem; }
.ti-modern .order-section-count {
  flex: 0 0 auto;
  padding: .4rem .75rem;
  border: 1px solid #d8e4f0;
  border-radius: 999px;
  color: #516e8b;
  background: #fff;
  font-size: .77rem;
  font-weight: 800;
}
.ti-modern .order-course-list { display: grid; gap: 1rem; }
.ti-modern .order-course-card {
  overflow: hidden;
  border: 1px solid #dce6f1;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .order-course-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #dfe9f3;
  background: linear-gradient(135deg, #f8fbff, #eef5fd);
}
.ti-modern .order-course-header span {
  display: block;
  margin-bottom: .2rem;
  color: #61809f;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ti-modern .order-course-header h3 {
  margin: 0;
  color: #1d456f;
  font-size: 1.05rem;
  line-height: 1.4;
}
.ti-modern .order-subject-grid,
.ti-modern .order-result-grid { display: grid; gap: .75rem; padding: .9rem; }
.ti-modern .order-subject-card {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) auto 7rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e1e9f2;
  border-radius: .9rem;
  background: #fff;
}
.ti-modern .order-subject-label,
.ti-modern .order-result-subject span,
.ti-modern .order-result-meta > span {
  display: block;
  margin-bottom: .25rem;
  color: #7389a0;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.ti-modern .order-subject-copy h4 {
  margin: 0;
  color: #294a6a;
  font-size: .96rem;
  font-weight: 750;
  line-height: 1.45;
}
.ti-modern .order-subject-actions { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; }
.ti-modern .order-subject-actions .btn,
.ti-modern .order-result-action .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 2.65rem;
  border-radius: .7rem;
  font-size: .82rem;
  font-weight: 750;
  white-space: nowrap;
}
.ti-modern .order-action-unavailable {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #899aaa;
  font-size: .8rem;
  white-space: nowrap;
}
.ti-modern .order-attempts {
  padding-left: 1rem;
  border-left: 1px solid #e1e9f2;
  text-align: center;
}
.ti-modern .order-attempts span { display: block; color: #71869b; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.ti-modern .order-attempts strong { color: #2a557f; font-size: 1.25rem; }
.ti-modern .order-attempts strong.has-attempts { color: #a85c14; }
.ti-modern .order-attempts small { color: #7d90a4; font-size: .7rem; font-weight: 700; }
.ti-modern .order-result-card {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) 8.5rem 7rem auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e1e9f2;
  border-radius: .9rem;
}
.ti-modern .order-result-subject strong,
.ti-modern .order-result-meta > strong {
  color: #294a6a;
  font-size: .9rem;
  line-height: 1.4;
}
.ti-modern .order-result-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  width: fit-content;
  padding: .35rem .65rem;
  border-radius: 999px;
  font-size: .75rem !important;
  font-weight: 800;
}
.ti-modern .order-result-badge.is-pass { color: #176f4a; background: #e4f6ed; }
.ti-modern .order-result-badge.is-fail { color: #a03434; background: #fdeaea; }
.ti-modern .order-result-action { text-align: right; }
.ti-modern .order-result-action > span { color: #8a9aa9; font-size: .78rem; }
.ti-modern .order-empty-state {
  padding: 2.5rem 1.25rem;
  border: 1px dashed #c9d8e7;
  border-radius: 1.1rem;
  background: #f9fbfd;
  text-align: center;
}
.ti-modern .order-empty-state > .fa { color: #4280c4; font-size: 1.8rem; }
.ti-modern .order-empty-state h3 { margin: .7rem 0 .3rem; color: #294d71; font-size: 1.05rem; }
.ti-modern .order-empty-state p { margin: 0; color: var(--ti-muted); font-size: .88rem; }
.ti-modern .order-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.ti-modern .order-event-card {
  padding: 1.1rem;
  border: 1px solid #dce6f1;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .order-event-card h3 { margin: 0 0 .8rem; color: #294d71; font-size: 1rem; }
.ti-modern .order-event-card dl { display: grid; gap: .5rem; margin: 0; }
.ti-modern .order-event-card dl > div { display: flex; justify-content: space-between; gap: 1rem; }
.ti-modern .order-event-card dt { color: #75899d; font-size: .75rem; }
.ti-modern .order-event-card dd { margin: 0; color: #355674; font-size: .8rem; font-weight: 700; text-align: right; }

.ti-modern .registration-page {
  width: min(100% - 2rem, 1180px);
  margin: 2rem auto 4rem;
}
.ti-modern .registration-shell {
  display: grid;
  grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.45fr);
  overflow: hidden;
  border: 1px solid #d9e5f2;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.4rem 3.75rem rgba(18, 55, 95, .12);
}
.ti-modern .registration-intro {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(2rem, 4vw, 3rem);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 90% 8%, rgba(110, 174, 255, .22), transparent 17rem),
    linear-gradient(155deg, #0b3268 0%, #104b98 58%, #1767c2 100%);
}
.ti-modern .registration-intro::after {
  position: absolute;
  right: -5rem;
  bottom: -5rem;
  width: 15rem;
  height: 15rem;
  border: 1.8rem solid rgba(255,255,255,.05);
  border-radius: 50%;
  content: "";
}
.ti-modern .registration-intro > * { position: relative; z-index: 1; }
.ti-modern .registration-eyebrow {
  display: block;
  margin-bottom: .7rem;
  color: #b9d9ff;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ti-modern .registration-intro h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.85rem, 4vw, 2.65rem);
  line-height: 1.15;
}
.ti-modern .registration-intro > div > p {
  margin: 1rem 0 0;
  color: #d5e6f8;
  font-size: .97rem;
  line-height: 1.7;
}
.ti-modern .registration-benefits { margin: 2.25rem 0 0; padding: 0; list-style: none; }
.ti-modern .registration-benefits li { display: flex; align-items: flex-start; gap: .85rem; }
.ti-modern .registration-benefits li + li { margin-top: 1.25rem; }
.ti-modern .registration-benefits li > span {
  display: grid;
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .72rem;
  color: #bdddff;
  background: rgba(255,255,255,.08);
}
.ti-modern .registration-benefits strong,
.ti-modern .registration-benefits small { display: block; }
.ti-modern .registration-benefits strong { color: #fff; font-size: .94rem; }
.ti-modern .registration-benefits small { margin-top: .15rem; color: #c6dbf1; font-size: .81rem; line-height: 1.5; }
.ti-modern .registration-signin {
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.15);
}
.ti-modern .registration-signin span { display: block; color: #c7dbef; font-size: .8rem; }
.ti-modern .registration-signin a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: .3rem;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.ti-modern .registration-form-panel { min-width: 0; padding: clamp(1.5rem, 4vw, 3rem); }
.ti-modern .registration-form-header {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1.75rem;
}
.ti-modern .registration-form-icon {
  display: grid;
  flex: 0 0 2.8rem;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border-radius: .85rem;
  color: #fff;
  background: linear-gradient(135deg, var(--ti-primary), #2e7bd7);
  box-shadow: 0 .55rem 1.1rem rgba(13, 59, 142, .2);
}
.ti-modern .registration-form-header h2 { margin: 0; color: #183e67; font-size: clamp(1.45rem, 3vw, 1.9rem); }
.ti-modern .registration-form-header p { margin: .25rem 0 0; color: var(--ti-muted); font-size: .86rem; }
.ti-modern .registration-form-header p span,
.ti-modern .registration-field label > span { color: #b23636; }
.ti-modern .registration-form-section + .registration-form-section {
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid #e4ebf3;
}
.ti-modern .registration-section-heading {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin-bottom: 1.1rem;
}
.ti-modern .registration-section-heading > span {
  display: grid;
  flex: 0 0 1.75rem;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  color: var(--ti-primary);
  background: var(--ti-primary-soft);
  font-size: .75rem;
  font-weight: 850;
}
.ti-modern .registration-section-heading h3 { margin: 0; color: #294c70; font-size: 1rem; }
.ti-modern .registration-section-heading p { margin: .15rem 0 0; color: var(--ti-muted); font-size: .8rem; }
.ti-modern .registration-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.ti-modern .registration-field-wide { grid-column: 1 / -1; }
.ti-modern .registration-field label {
  display: block;
  margin-bottom: .4rem;
  color: #345675;
  font-size: .8rem;
  font-weight: 800;
}
.ti-modern .registration-field .form-control,
.ti-modern .registration-field .form-select {
  width: 100%;
  min-height: 3rem;
  border: 1px solid #cddae7;
  border-radius: .72rem;
  color: #203d59;
  background-color: #fff;
  box-shadow: none;
  font-size: .92rem;
}
.ti-modern .registration-field .form-control:focus,
.ti-modern .registration-field .form-select:focus {
  border-color: #397ac8;
  box-shadow: 0 0 0 .2rem rgba(57, 122, 200, .13);
}
.ti-modern .registration-password-wrap { position: relative; }
.ti-modern .registration-password-wrap .form-control { padding-right: 3rem; }
.ti-modern .registration-password-toggle {
  position: absolute;
  top: 50%;
  right: .45rem;
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: .6rem;
  color: #66809a;
  background: transparent;
  transform: translateY(-50%);
}
.ti-modern .registration-password-toggle:hover { color: var(--ti-primary); background: var(--ti-primary-soft); }
.ti-modern .registration-password-rules {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-top: .85rem;
  padding: .75rem .85rem;
  border-radius: .75rem;
  color: #526d88;
  background: #f3f7fb;
  font-size: .78rem;
  line-height: 1.5;
}
.ti-modern .registration-password-rules .fa { margin-top: .15rem; color: #3977bb; }
.ti-modern .registration-captcha {
  margin-top: 2rem;
  padding: 1.15rem;
  border: 1px solid #dce6f0;
  border-radius: 1rem;
  background: #f8fbfe;
}
.ti-modern .registration-captcha h3 { margin: 0; color: #294c70; font-size: 1rem; }
.ti-modern .registration-captcha > div:first-child p { margin: .2rem 0 0; color: var(--ti-muted); font-size: .8rem; }
.ti-modern .registration-captcha-grid {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(12rem, 1fr);
  align-items: end;
  gap: 1rem;
  margin-top: .9rem;
}
.ti-modern .registration-captcha-image {
  overflow: hidden;
  border: 1px solid #ccd9e6;
  border-radius: .75rem;
  background: #fff;
}
.ti-modern .registration-captcha-image img { display: block; max-width: 100%; height: auto; }
.ti-modern .registration-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.ti-modern .registration-actions p { max-width: 29rem; margin: 0; color: var(--ti-muted); font-size: .76rem; line-height: 1.5; }
.ti-modern .registration-submit {
  min-width: 11rem;
  min-height: 3rem;
  border-radius: .75rem;
  font-weight: 800;
}

.ti-modern .account-profile-page {
  width: min(100% - 2rem, 1180px);
  margin: 2rem auto 4rem;
}
.ti-modern .account-profile-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.15rem;
  padding: clamp(1.3rem, 3vw, 2rem);
  border: 1px solid #d6e4f3;
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 88% 0%, rgba(60, 131, 216, .12), transparent 20rem),
    linear-gradient(135deg, #fff, #f3f8fe);
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .account-profile-avatar {
  display: grid;
  width: 4rem;
  height: 4rem;
  place-items: center;
  border-radius: 1.1rem;
  color: #fff;
  background: linear-gradient(135deg, #0d3b8e, #2b79d4);
  box-shadow: 0 .65rem 1.4rem rgba(13, 59, 142, .22);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: .04em;
}
.ti-modern .account-profile-eyebrow {
  display: block;
  margin-bottom: .25rem;
  color: var(--ti-primary);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ti-modern .account-profile-heading h1 { margin: 0; color: #173d67; font-size: clamp(1.55rem, 3vw, 2.1rem); }
.ti-modern .account-profile-heading p { margin: .35rem 0 0; color: var(--ti-muted); font-size: .9rem; }
.ti-modern .account-profile-orders {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.8rem;
  border-radius: .75rem;
  font-weight: 750;
  white-space: nowrap;
}
.ti-modern .account-profile-layout {
  display: grid;
  grid-template-columns: minmax(15rem, .55fr) minmax(0, 1.45fr);
  align-items: start;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.ti-modern .account-profile-summary { display: grid; gap: .9rem; }
.ti-modern .account-summary-card,
.ti-modern .account-security-note,
.ti-modern .account-readonly-note,
.ti-modern .account-profile-form-card {
  border: 1px solid #dce6f0;
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .account-summary-card { padding: 1.4rem; text-align: center; }
.ti-modern .account-summary-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin: 0 auto .8rem;
  place-items: center;
  border-radius: 50%;
  color: var(--ti-primary);
  background: var(--ti-primary-soft);
  font-size: 1.1rem;
}
.ti-modern .account-summary-card h2 {
  margin: 0;
  overflow-wrap: anywhere;
  color: #294c70;
  font-size: 1.05rem;
}
.ti-modern .account-summary-card p {
  margin: .25rem 0 0;
  overflow-wrap: anywhere;
  color: var(--ti-muted);
  font-size: .82rem;
}
.ti-modern .account-security-note,
.ti-modern .account-readonly-note {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: 1rem;
}
.ti-modern .account-security-note { border-color: #d4e5f8; background: #f4f9ff; }
.ti-modern .account-readonly-note { box-shadow: none; }
.ti-modern .account-security-note > .fa,
.ti-modern .account-readonly-note > .fa { margin-top: .15rem; color: var(--ti-primary); }
.ti-modern .account-security-note strong { color: #294f77; font-size: .82rem; }
.ti-modern .account-security-note p,
.ti-modern .account-readonly-note p {
  margin: .2rem 0 0;
  color: #667f97;
  font-size: .76rem;
  line-height: 1.5;
}
.ti-modern .account-profile-form-card { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.ti-modern .account-profile-form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.6rem;
}
.ti-modern .account-profile-form-header h2 { margin: 0; color: #1d456d; font-size: 1.4rem; }
.ti-modern .account-profile-form-header p { margin: .25rem 0 0; color: var(--ti-muted); font-size: .82rem; }
.ti-modern .account-profile-form-header p span,
.ti-modern .account-profile-field label span { color: #b33737; }
.ti-modern .account-profile-form-header > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: .75rem;
  color: #3978bb;
  background: #eaf3fd;
}
.ti-modern .account-profile-section + .account-profile-section {
  margin-top: 1.85rem;
  padding-top: 1.6rem;
  border-top: 1px solid #e4ebf2;
}
.ti-modern .account-profile-section-heading { margin-bottom: 1rem; }
.ti-modern .account-profile-section-heading h3 { margin: 0; color: #315474; font-size: .98rem; }
.ti-modern .account-profile-section-heading p { margin: .18rem 0 0; color: var(--ti-muted); font-size: .77rem; }
.ti-modern .account-profile-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.ti-modern .account-profile-field-wide { grid-column: 1 / -1; }
.ti-modern .account-profile-field label {
  display: block;
  margin-bottom: .38rem;
  color: #395a78;
  font-size: .78rem;
  font-weight: 800;
}
.ti-modern .account-profile-field .form-control,
.ti-modern .account-profile-field .form-select {
  width: 100%;
  min-height: 3rem;
  border: 1px solid #cddae7;
  border-radius: .72rem;
  color: #203d59;
  background-color: #fff;
  box-shadow: none;
  font-size: .9rem;
}
.ti-modern .account-profile-field .form-control[readonly] {
  color: #60778d;
  background: #f3f6f9;
  cursor: not-allowed;
}
.ti-modern .account-profile-field .form-control:focus,
.ti-modern .account-profile-field .form-select:focus {
  border-color: #397ac8;
  box-shadow: 0 0 0 .2rem rgba(57, 122, 200, .13);
}
.ti-modern .account-profile-password-wrap { position: relative; }
.ti-modern .account-profile-password-wrap .form-control { padding-right: 3rem; }
.ti-modern .account-profile-password-toggle {
  position: absolute;
  top: 50%;
  right: .45rem;
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: .6rem;
  color: #66809a;
  background: transparent;
  transform: translateY(-50%);
}
.ti-modern .account-profile-password-toggle:hover { color: var(--ti-primary); background: var(--ti-primary-soft); }
.ti-modern .account-profile-password-rules {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-top: .85rem;
  padding: .75rem .85rem;
  border-radius: .75rem;
  color: #526d88;
  background: #f3f7fb;
  font-size: .77rem;
  line-height: 1.5;
}
.ti-modern .account-profile-password-rules .fa { margin-top: .15rem; color: #3977bb; }
.ti-modern .account-profile-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 1.6rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e4ebf2;
}
.ti-modern .account-profile-actions > span { color: #6d8398; font-size: .76rem; }
.ti-modern .account-profile-submit {
  min-width: 12rem;
  min-height: 3rem;
  border-radius: .75rem;
  font-weight: 800;
}

.ti-modern .contact-page {
  width: min(100% - 2rem, 1180px);
  margin: 2rem auto 4rem;
}
.ti-modern .contact-page-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  overflow: hidden;
  border-radius: 1.4rem;
  color: #fff;
  background:
    radial-gradient(circle at 88% 0%, rgba(255,255,255,.17), transparent 18rem),
    linear-gradient(135deg, #0b356e 0%, #1559ac 65%, #287bd5 100%);
  box-shadow: 0 1.25rem 3rem rgba(13, 59, 142, .19);
}
.ti-modern .contact-page-eyebrow {
  display: block;
  margin-bottom: .45rem;
  color: #bddcff;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ti-modern .contact-page-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 2.65rem);
}
.ti-modern .contact-page-hero p {
  max-width: 43rem;
  margin: .6rem 0 0;
  color: #d9e9fb;
  font-size: .97rem;
}
.ti-modern .contact-page-hero .btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.8rem;
  border-color: rgba(255,255,255,.55);
  border-radius: .75rem;
  color: #fff;
  font-weight: 750;
  white-space: nowrap;
}
.ti-modern .contact-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .65fr);
  align-items: start;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.ti-modern .contact-form-card,
.ti-modern .contact-info-panel {
  border: 1px solid #dce6f0;
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: var(--ti-shadow-sm);
}
.ti-modern .contact-form-card { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.ti-modern .contact-form-header,
.ti-modern .contact-info-heading {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
}
.ti-modern .contact-form-header { margin-bottom: 1.4rem; }
.ti-modern .contact-form-header > span,
.ti-modern .contact-info-heading > span {
  display: grid;
  flex: 0 0 2.65rem;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  border-radius: .8rem;
  color: var(--ti-primary);
  background: var(--ti-primary-soft);
}
.ti-modern .contact-form-header h2,
.ti-modern .contact-info-heading h2 { margin: 0; color: #1e456d; font-size: 1.35rem; }
.ti-modern .contact-form-header p,
.ti-modern .contact-info-heading p { margin: .25rem 0 0; color: var(--ti-muted); font-size: .82rem; line-height: 1.5; }
.ti-modern .contact-form-error {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-bottom: 1rem;
  border-radius: .8rem;
}
.ti-modern .contact-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.ti-modern .contact-field-wide { grid-column: 1 / -1; }
.ti-modern .contact-field label {
  display: block;
  margin-bottom: .4rem;
  color: #365775;
  font-size: .8rem;
  font-weight: 800;
}
.ti-modern .contact-field label span { color: #b43838; }
.ti-modern .contact-field .form-control,
.ti-modern .contact-field .form-select {
  width: 100%;
  min-height: 3rem;
  border: 1px solid #cddae7;
  border-radius: .72rem;
  color: #203d59;
  background-color: #fff;
  box-shadow: none;
  font-size: .9rem;
}
.ti-modern .contact-field textarea.form-control { min-height: 8.5rem; resize: vertical; }
.ti-modern .contact-field .form-control:focus,
.ti-modern .contact-field .form-select:focus {
  border-color: #397ac8;
  box-shadow: 0 0 0 .2rem rgba(57, 122, 200, .13);
}
.ti-modern .contact-captcha {
  margin-top: 1.35rem;
  padding: 1rem;
  border: 1px solid #dce6f0;
  border-radius: .9rem;
  background: #f8fbfe;
}
.ti-modern .contact-captcha h3 { margin: 0; color: #315574; font-size: .94rem; }
.ti-modern .contact-captcha p { margin: .2rem 0 .8rem; color: var(--ti-muted); font-size: .78rem; }
.ti-modern .contact-captcha .g-recaptcha { min-height: 78px; transform-origin: left top; }
.ti-modern .contact-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid #e4ebf2;
}
.ti-modern .contact-form-actions > span { color: #6b8298; font-size: .75rem; line-height: 1.5; }
.ti-modern .contact-submit {
  min-width: 10.5rem;
  min-height: 3rem;
  border-radius: .75rem;
  font-weight: 800;
}
.ti-modern .contact-info-panel {
  position: sticky;
  top: 1rem;
  padding: 1.35rem;
}
.ti-modern .contact-info-list {
  display: grid;
  gap: 1rem;
  margin-top: 1.4rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e4ebf2;
}
.ti-modern .contact-info-item { display: flex; align-items: flex-start; gap: .7rem; }
.ti-modern .contact-info-item > span {
  display: grid;
  flex: 0 0 2.15rem;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border-radius: .65rem;
  color: #3975b8;
  background: #edf5fd;
}
.ti-modern .contact-info-item strong,
.ti-modern .contact-info-item a,
.ti-modern .contact-info-item small,
.ti-modern .contact-info-item address,
.ti-modern .contact-info-item div > span { display: block; }
.ti-modern .contact-info-item strong { margin-bottom: .18rem; color: #315372; font-size: .77rem; }
.ti-modern .contact-info-item address,
.ti-modern .contact-info-item div > span,
.ti-modern .contact-info-item a,
.ti-modern .contact-info-item small { margin: 0; color: #5e7690; font-size: .78rem; line-height: 1.5; }
.ti-modern .contact-info-item a { color: var(--ti-primary); font-weight: 700; text-decoration: none; }
.ti-modern .contact-info-item small a { display: inline; font-size: inherit; }
.ti-modern .contact-response-note {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-top: 1.35rem;
  padding: .9rem;
  border-radius: .8rem;
  color: #6e4d14;
  background: #fff7e6;
}
.ti-modern .contact-response-note .fa { margin-top: .15rem; color: #b97810; }
.ti-modern .contact-response-note strong { color: #815914; font-size: .8rem; }
.ti-modern .contact-response-note p { margin: .15rem 0 0; font-size: .74rem; line-height: 1.45; }
.ti-modern .contact-social-links {
  display: flex;
  gap: .55rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #e4ebf2;
}
.ti-modern .contact-social-links a {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 50%;
  color: #41698f;
  background: #edf3f9;
  text-decoration: none;
}
.ti-modern .contact-social-links a:hover { color: #fff; background: var(--ti-primary); }

.ti-modern.feedback-page {
  min-height: 100vh;
  margin: 0;
  color: var(--ti-ink);
  background:
    radial-gradient(circle at 12% 0%, rgba(52, 128, 220, .13), transparent 30rem),
    linear-gradient(180deg, #f7faff 0%, #edf4fb 100%);
}
.ti-modern .feedback-shell {
  width: min(100% - 2rem, 1040px);
  margin-inline: auto;
  padding: 1.5rem 0 2rem;
}
.ti-modern .feedback-brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #173d67;
  text-decoration: none;
}
.ti-modern .feedback-brand > span {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  border-radius: .8rem;
  color: #fff;
  background: linear-gradient(135deg, var(--ti-primary), #2d7bd5);
  box-shadow: 0 .55rem 1.1rem rgba(13, 59, 142, .2);
}
.ti-modern .feedback-brand strong { font-size: 1.05rem; }
.ti-modern .feedback-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  min-height: 31rem;
  margin-top: 1.5rem;
  overflow: hidden;
  border: 1px solid #d8e4f0;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.4rem 3.75rem rgba(18, 55, 95, .13);
}
.ti-modern .feedback-success {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: clamp(2rem, 6vw, 4.5rem);
  background:
    radial-gradient(circle at 90% 10%, rgba(65, 156, 106, .1), transparent 20rem),
    #fff;
}
.ti-modern .feedback-success-icon {
  display: grid;
  width: 4.25rem;
  height: 4.25rem;
  margin-bottom: 1.4rem;
  place-items: center;
  border: .42rem solid #dff4e9;
  border-radius: 50%;
  color: #fff;
  background: #26815b;
  box-shadow: 0 .75rem 1.6rem rgba(38, 129, 91, .2);
  font-size: 1.35rem;
}
.ti-modern .feedback-eyebrow {
  display: block;
  margin-bottom: .45rem;
  color: #257653;
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ti-modern .feedback-success h1 {
  max-width: 31rem;
  margin: 0;
  color: #173e67;
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  line-height: 1.15;
}
.ti-modern .feedback-success > p {
  max-width: 33rem;
  margin: 1rem 0 0;
  color: var(--ti-muted);
  font-size: .98rem;
  line-height: 1.7;
}
.ti-modern .feedback-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.6rem;
}
.ti-modern .feedback-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.9rem;
  border-radius: .75rem;
  font-weight: 750;
}
.ti-modern .feedback-newsletter {
  position: relative;
  padding: clamp(2rem, 5vw, 3.25rem);
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(118, 177, 248, .2), transparent 18rem),
    linear-gradient(155deg, #0b3369 0%, #104c99 100%);
}
.ti-modern .feedback-newsletter-icon {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  margin-bottom: 1.1rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .8rem;
  color: #c2dfff;
  background: rgba(255,255,255,.08);
}
.ti-modern .feedback-newsletter h2 { margin: 0; color: #fff; font-size: 1.45rem; }
.ti-modern .feedback-newsletter > p:not(.feedback-consent) {
  margin: .55rem 0 0;
  color: #ccdef2;
  font-size: .86rem;
  line-height: 1.6;
}
.ti-modern .feedback-newsletter-form { margin-top: 1.4rem; }
.ti-modern .feedback-field + .feedback-field { margin-top: .9rem; }
.ti-modern .feedback-field label {
  display: block;
  margin-bottom: .35rem;
  color: #e8f2fd;
  font-size: .76rem;
  font-weight: 800;
}
.ti-modern .feedback-field .form-control {
  min-height: 3rem;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: .72rem;
  color: #fff;
  background: rgba(255,255,255,.1);
  box-shadow: none;
}
.ti-modern .feedback-field .form-control::placeholder { color: #bcd1e7; }
.ti-modern .feedback-field .form-control:focus {
  border-color: #9ac8ff;
  background: rgba(255,255,255,.14);
  box-shadow: 0 0 0 .2rem rgba(154, 200, 255, .14);
}
.ti-modern .feedback-subscribe {
  width: 100%;
  min-height: 3rem;
  margin-top: 1rem;
  border-color: #fff;
  border-radius: .72rem;
  color: #0d3b78;
  background: #fff;
  font-weight: 850;
}
.ti-modern .feedback-subscribe:hover { border-color: #dcecff; color: #0d3b78; background: #dcecff; }
.ti-modern .feedback-consent {
  margin: 1rem 0 0;
  color: #abc3dc;
  font-size: .69rem;
  line-height: 1.5;
}
.ti-modern .feedback-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem .25rem 0;
  color: #6f8499;
  font-size: .78rem;
}
.ti-modern .feedback-footer a { color: var(--ti-primary); font-weight: 750; }

@media (max-width: 991.98px) {
  .ti-modern .visible-lg { display: none !important; }
  .ti-modern .site-header-modern .main-nav { width: 100%; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-modern .site-header-modern .main-nav li,
  .ti-modern .site-header-modern .main-nav a,
  .ti-modern .site-header-modern .main-nav span { width: 100%; }
  .ti-modern .ceu-banner-image { min-height: 15rem !important; }
  .ti-modern .footer-cta-card { align-items: flex-start; flex-direction: column; }
  .ti-modern .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-modern .course-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-modern .course-filter-keywords,
  .ti-modern .course-filter-licenses { grid-column: span 2; }
  .ti-modern .course-filter-licenses { grid-row: auto; }
  .ti-modern .course-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-modern .auth-shell { grid-template-columns: 1fr; }
  .ti-modern .auth-benefits { min-height: auto; }
  .ti-modern .auth-benefit-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .ti-modern .auth-benefit-list li,
  .ti-modern .auth-benefit-list li + li { margin-top: 0; }
  .ti-modern .checkout-grid { grid-template-columns: 1fr; }
  .ti-modern .checkout-summary { position: static; }
  .ti-modern .checkout-security { align-self: stretch; }
  .ti-modern .quiz-status-card { grid-template-columns: 1fr; gap: 1.25rem; }
  .ti-modern .quiz-time-card { min-width: 0; text-align: left; }
  .ti-modern .order-subject-card { grid-template-columns: minmax(0, 1fr) 6.5rem; }
  .ti-modern .order-subject-actions { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .ti-modern .order-attempts { grid-column: 2; grid-row: 1; }
  .ti-modern .order-result-card { grid-template-columns: minmax(0, 1fr) 7.5rem 6rem; }
  .ti-modern .order-result-action { grid-column: 1 / -1; text-align: left; }
  .ti-modern .registration-shell { grid-template-columns: 1fr; }
  .ti-modern .registration-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .ti-modern .registration-benefits li,
  .ti-modern .registration-benefits li + li { margin-top: 0; }
  .ti-modern .account-profile-layout { grid-template-columns: 1fr; }
  .ti-modern .account-profile-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ti-modern .contact-page-layout { grid-template-columns: 1fr; }
  .ti-modern .contact-info-panel { position: static; }
  .ti-modern .feedback-card { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
  .ti-modern .site-header-modern .main-nav { grid-template-columns: 1fr; }
  .ti-modern .site-header-modern .header-shell { border-radius: .9rem !important; }
  .ti-modern .ceu-banner-wrap { border-radius: 1.15rem !important; }
  .ti-modern .ceu-banner-body { padding: 1.5rem !important; }
  .ti-modern .orders-modern-wrap,
  .ti-modern .orders-history-wrap,
  .ti-modern .terms-modern-wrap,
  .ti-modern .quiz-modern-wrap { width: min(100% - 1rem, 1200px); }
  .ti-modern .course-section-heading { align-items: start; flex-direction: column; gap: .75rem; }
  .ti-modern .footer-grid { grid-template-columns: 1fr; }
  .ti-modern .footer-cta-actions,
  .ti-modern .footer-cta-actions .btn { width: 100%; }
  .ti-modern .footer-cta-actions .btn { justify-content: center; }
  .ti-modern .footer-bottom { align-items: flex-start; flex-direction: column; }
  .ti-modern .course-search-page { width: min(100% - 1rem, 1200px); margin-top: 1.25rem; }
  .ti-modern .course-search-hero,
  .ti-modern .course-filter-heading,
  .ti-modern .course-results-heading { align-items: flex-start; flex-direction: column; }
  .ti-modern .course-result-summary { align-self: stretch; justify-content: center; }
  .ti-modern .course-filter-grid,
  .ti-modern .course-results-grid { grid-template-columns: 1fr; }
  .ti-modern .course-filter-keywords,
  .ti-modern .course-filter-licenses { grid-column: auto; }
  .ti-modern .course-filter-actions,
  .ti-modern .course-filter-actions .btn,
  .ti-modern .course-results-heading .btn { width: 100%; }
  .ti-modern .catalog-card { min-height: 0; }
  .ti-modern .catalog-detail-modal .modal-dialog { width: calc(100% - 1rem); margin: .5rem; }
  .ti-modern .catalog-detail-frame,
  .ti-modern .catalog-detail-frame-wrap { min-height: 70vh; height: 70vh; }
  .ti-modern .product-detail-header { flex-direction: column; }
  .ti-modern .product-detail-info-grid { grid-template-columns: 1fr; }
  .ti-modern .product-detail-info-grid .product-detail-section + .product-detail-section { border-top: 1px solid #e8eef6; border-left: 0; }
  .ti-modern .auth-page { padding: 1rem 0 2rem; }
  .ti-modern .auth-shell { border-radius: 1.15rem; }
  .ti-modern .auth-benefits,
  .ti-modern .auth-form-panel { padding: 1.5rem; }
  .ti-modern .auth-benefit-list { display: block; }
  .ti-modern .auth-benefit-list li + li { margin-top: 1rem; }
  .ti-modern .auth-form-icon { display: none; }
  .ti-modern .checkout-page { width: min(100% - 1rem, 1200px); margin-top: 1.25rem; }
  .ti-modern .checkout-hero,
  .ti-modern .checkout-panel-heading,
  .ti-modern .cart-update-actions { align-items: flex-start; flex-direction: column; }
  .ti-modern .checkout-cart-item { grid-template-columns: auto minmax(0, 1fr); }
  .ti-modern .cart-quantity { grid-column: 2; }
  .ti-modern .cart-line-total { grid-column: 2; grid-row: 2; align-self: end; }
  .ti-modern .cart-update-actions > div,
  .ti-modern .cart-update-actions .btn { width: 100%; }
  .ti-modern .checkout-form-grid { grid-template-columns: 1fr; }
  .ti-modern .checkout-field-wide,
  .ti-modern .checkout-field-card-number { grid-column: auto; }
  .ti-modern .quiz-app-header,
  .ti-modern .quiz-app-footer,
  .ti-modern .quiz-main { width: min(100% - 1rem, 1040px); }
  .ti-modern .quiz-main { margin-top: .35rem; }
  .ti-modern .quiz-brand small { display: none; }
  .ti-modern .quiz-logout { padding-inline: .8rem; }
  .ti-modern .quiz-status-card,
  .ti-modern .quiz-question-card { border-radius: 1rem; }
  .ti-modern .quiz-question-actions,
  .ti-modern .quiz-app-footer { align-items: stretch; flex-direction: column; }
  .ti-modern .quiz-submit-btn { width: 100%; }
  .ti-modern .order-detail-page { width: min(100% - 1rem, 1180px); margin-top: 1rem; }
  .ti-modern .order-detail-hero { grid-template-columns: 1fr; gap: 1.25rem; border-radius: 1.1rem; }
  .ti-modern .order-detail-number { min-width: 0; }
  .ti-modern .order-detail-toolbar,
  .ti-modern .order-section-heading { align-items: flex-start; flex-direction: column; }
  .ti-modern .order-detail-toolbar > span { display: none; }
  .ti-modern .order-detail-toolbar .btn { width: 100%; justify-content: center; }
  .ti-modern .order-section-heading { gap: .75rem; }
  .ti-modern .order-subject-card,
  .ti-modern .order-result-card { grid-template-columns: 1fr; gap: .8rem; }
  .ti-modern .order-subject-actions,
  .ti-modern .order-attempts,
  .ti-modern .order-result-action { grid-column: auto; grid-row: auto; }
  .ti-modern .order-subject-actions { align-items: stretch; flex-direction: column; }
  .ti-modern .order-subject-actions .btn,
  .ti-modern .order-result-action .btn { width: 100%; }
  .ti-modern .order-attempts { padding: .75rem 0 0; border-top: 1px solid #e1e9f2; border-left: 0; text-align: left; }
  .ti-modern .order-event-grid { grid-template-columns: 1fr; }
  .ti-modern .registration-page { width: min(100% - 1rem, 1180px); margin-top: 1rem; }
  .ti-modern .registration-shell { border-radius: 1.1rem; }
  .ti-modern .registration-intro,
  .ti-modern .registration-form-panel { padding: 1.35rem; }
  .ti-modern .registration-benefits { display: block; }
  .ti-modern .registration-benefits li + li { margin-top: 1rem; }
  .ti-modern .registration-field-grid,
  .ti-modern .registration-captcha-grid { grid-template-columns: 1fr; }
  .ti-modern .registration-field-wide { grid-column: auto; }
  .ti-modern .registration-actions { align-items: stretch; flex-direction: column; }
  .ti-modern .registration-submit { width: 100%; }
  .ti-modern .account-profile-page { width: min(100% - 1rem, 1180px); margin-top: 1rem; }
  .ti-modern .account-profile-hero { grid-template-columns: auto minmax(0, 1fr); border-radius: 1rem; }
  .ti-modern .account-profile-orders { grid-column: 1 / -1; width: 100%; }
  .ti-modern .account-profile-summary { grid-template-columns: 1fr; }
  .ti-modern .account-profile-field-grid { grid-template-columns: 1fr; }
  .ti-modern .account-profile-field-wide { grid-column: auto; }
  .ti-modern .account-profile-actions { align-items: stretch; flex-direction: column; }
  .ti-modern .account-profile-submit { width: 100%; }
  .ti-modern .contact-page { width: min(100% - 1rem, 1180px); margin-top: 1rem; }
  .ti-modern .contact-page-hero { align-items: flex-start; flex-direction: column; border-radius: 1rem; }
  .ti-modern .contact-page-hero .btn { width: 100%; justify-content: center; }
  .ti-modern .contact-field-grid { grid-template-columns: 1fr; }
  .ti-modern .contact-field-wide { grid-column: auto; }
  .ti-modern .contact-form-actions { align-items: stretch; flex-direction: column; }
  .ti-modern .contact-submit { width: 100%; }
  .ti-modern .contact-captcha .g-recaptcha { transform: scale(.82); }
  .ti-modern .feedback-shell { width: min(100% - 1rem, 1040px); padding-top: .75rem; }
  .ti-modern .feedback-card { margin-top: 1rem; border-radius: 1rem; }
  .ti-modern .feedback-success,
  .ti-modern .feedback-newsletter { padding: 1.5rem; }
  .ti-modern .feedback-actions,
  .ti-modern .feedback-actions .btn { width: 100%; }
  .ti-modern .feedback-footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
