.alert-wrapper{
    position:fixed;
    top:24px;
    right:auto;
    inset-inline-end:24px;
    z-index:9999;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.it-alert{
    min-width:260px;
    max-width:360px;
    padding:14px 18px;
    border-radius:14px;
    font-size:14px;
    font-weight:700;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
    transition:.3s ease;
}

.it-alert-success{
    background:#ecfdf5;
    color:#047857;
    border:1px solid #a7f3d0;
}

.it-alert-error{
    background:#fff1f2;
    color:#be123c;
    border:1px solid #fecdd3;
}

/* Canonical button primitives live in assets/css/buttons.css. */
.gl-btn-icon{width:44px;padding:.7rem}.gl-btn-text{min-height:auto;padding:.35rem .5rem;background:transparent;border-color:transparent;color:var(--primary-color)}.gl-btn-text:hover{color:var(--primary-hover)}


/* ============================================================
   GLOBAL BACKGROUND GRADIENT
   ============================================================ */
html, body {
  background: linear-gradient(135deg, #141426, #1219c2);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow-x:hidden;
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}


/* ==========================================================
   LinkIt Auth v1.0
========================================================== */

:root{

    --primary:#FED254;

    --bg:#f4f7fb;

    --card:#ffffff;

    --text:#111827;

    --muted:#6b7280;

    --border:#e5e7eb;

    --danger:#dc2626;

    --success:#16a34a;

    --radius:22px;

    --shadow:
        0 20px 50px rgba(15,23,42,.08);

}


.header-user-avatar {
    width: 34px;
    height: 34px;
    background: #fed254;
    color: #111827;
    font-size: 14px;
    font-weight: 800;
    flex-shrink: 0;
}

/* ==========================================================
   Page
========================================================== */

.auth-page{

    width:100%;

    max-width:520px;

    margin:70px auto;

    padding:0 20px;

}

/* ==========================================================
   Header
========================================================== */

.auth-header{

    text-align:center;

    margin-bottom:34px;

}

.auth-title{

    margin:0;

    font-size:34px;

    font-weight:800;

    color:#fff;

}

.auth-subtitle{

    margin-top:12px;

    color:rgba(255,255,255,.75);

    line-height:1.6;

}

/* ==========================================================
   Card
========================================================== */

/* .auth-card{

    background:var(--card);

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    padding:34px;

}*/


.auth-card {
    padding: 34px;
}

/* ==========================================================
   Groups
========================================================== */

.auth-group{

    margin-bottom:20px;

}

.auth-group label{

    display:block;

    margin-bottom:8px;

    color:var(--text);

    font-size:14px;

    font-weight:600;

}

/* ==========================================================
   Inputs
========================================================== */

.auth-input{

    width:100%;

    height:54px;

    border:1px solid var(--border);

    border-radius:14px;

    padding:0 16px;

    font-size:15px;

    color:black;

    background:#fff;

    transition:.25s;

    outline:none;

}

.auth-input::placeholder{

    color:#9ca3af;

}

.auth-input:focus{

    border-color:var(--primary);

    box-shadow:
        0 0 0 4px rgba(254,210,84,.18);

}

/* ==========================================================
   Button
========================================================== */


/* ==========================================================
   Alert
========================================================== */

.auth-alert{

    margin-bottom:24px;

    padding:14px 18px;

    border-radius:14px;

    font-size:14px;

}

.auth-alert-error{

    color:#991b1b;

    background:#fef2f2;

    border:1px solid #fecaca;

}

/* ==========================================================
   Verify
========================================================== */

.verify-hint{

    margin-top:18px;

    text-align:center;

    font-size:14px;

    color:var(--muted);

}

/* ==========================================================
   Terms
========================================================== */

.terms-text{

    margin-top:20px;

    text-align:center;

    line-height:1.7;

    font-size:13px;

    color:var(--muted);

}

.terms-text a{

    color: #ffffff;

    text-decoration:none;

    font-weight:600;

}

.terms-text a:hover{

    color:var(--primary);

}

/* ==========================================================
   Footer
========================================================== */

.auth-footer{

    margin-top:22px;

    display:flex;

    justify-content:center;

    gap:6px;

    flex-wrap:wrap;

    font-size:14px;

}

.auth-footer span{

    color:var(--muted);

}

.auth-footer a{

    color:#fed254;

    font-weight:700;

    text-decoration:none;

}

.auth-footer a:hover{

    color:var(--primary);

}

/* Password */

.password-wrapper{

    position:relative;

}

.password-wrapper .auth-input{

    padding-right:52px;

}

.password-toggle{

    position:absolute;

    top:50%;

    right:16px;

    transform:translateY(-50%);

    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:none;
    background:none;

    cursor:pointer;

    color:#9ca3af;

    padding:0;

}

.password-toggle:hover{

    color:#111827;

}

.password-toggle i{

    font-size:18px;

    line-height:1;

}


html[dir="rtl"] .password-wrapper .auth-input{

    padding-left:52px;
    padding-right:16px;

}

html[dir="rtl"] .password-toggle{

    left:16px;
    right:auto;

}


/* ==========================================
   Resend Button
========================================== */

.auth-resend{

    margin-top:16px;

}


/* ==========================================================
   Responsive
========================================================== */




/* ==========================================================
   LinkIt Setup
========================================================== */

:root{

    --primary:#FED254;

    --bg:#0f172a;

    --card:#1e293b;

    --border:#334155;

    --text:#ffffff;

    --muted:#94a3b8;

    --danger:#ef4444;

    --radius:22px;

}

/* ==========================================================
   Page
========================================================== */

.setup-page{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px 20px;

}

/* ==========================================================
   Card
========================================================== */

.setup-card {
    width: 100%;
    max-width: 560px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--radius);
    padding: 34px;
    box-shadow: var(--shadow);
}

/* ==========================================================
   Header
========================================================== */

.setup-header{

    text-align:center;

    margin-bottom:32px;

}

.setup-title{

    color:#fff;

    font-size:34px;

    font-weight:800;

    margin-bottom:10px;

}

.setup-subtitle{

    color:var(--muted);

    font-size:15px;

    line-height:1.7;

}

/* ==========================================================
   Alert
========================================================== */

.setup-alert{

    background:#3b0d0d;

    border:1px solid #7f1d1d;

    color:#fecaca;

    padding:14px;

    border-radius:14px;

    margin-bottom:22px;

    text-align:center;

}

/* ==========================================================
   Form
========================================================== */

.setup-group{

    margin-bottom:22px;

}

.setup-group label{

    display:block;

    margin-bottom:8px;

    color:#fff;

    font-weight:600;

}

.setup-group input,

.setup-group select{

    box-sizing:border-box;

    width:100%;

    max-width:100%;

    min-width:0;

    height:54px;

    background: #11182724;

    border:1px solid #374151;

    border-radius:14px;

    color:#fff;

    padding:0 18px;

    transition:.25s;

    font-size:15px;

}

.setup-group input:focus,

.setup-group select:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(254,210,84,.15);

}

/* ==========================================================
   Username Preview
========================================================== */

.slug-preview{

    display:block;

    margin-top:8px;

    color:var(--muted);

    font-size:13px;

}

/* ==========================================================
   Profile Options
========================================================== */

.profile-options{

    display:grid;

    gap:18px;

}

.profile-option{

    border:2px solid var(--border);

   background: #1118274f;

    border-radius:20px;

    padding:28px;

    cursor:pointer;

    transition:.25s;

    text-align:center;

}

.profile-option:hover{

    transform:translateY(-4px);

    border-color:var(--primary);

}

.profile-option.active{

    border-color:var(--primary);

    background:rgba(254,210,84,.08);

}

.profile-icon{

    font-size:46px;

    margin-bottom:18px;

}

.profile-option h3{

    color:#fff;

    font-size:22px;

    margin-bottom:8px;

}

.profile-option p{

    color:var(--muted);

    line-height:1.7;

    margin:0;

}

/* ==========================================================
   Gender
========================================================== */

.gender-options{

    display:flex;

    gap:20px;

}

.gender-options label{

    display:flex;

    align-items:center;

    gap:8px;

    color:#fff;

}

/* ==========================================================
   Footer
========================================================== */

.setup-footer{

    display:flex;

    justify-content:space-between;

    gap:14px;

    margin-top:30px;

}

/* ==========================================================
   Hidden
========================================================== */

.hidden{

    display:none !important;

}

/* ==========================================================
   Mobile
========================================================== */






/* ==========================================================
   LinkIt v1.2
   Verify Page
========================================================== */

.verify-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px 20px;
}

.verify-card{
    width:100%;
    max-width:520px;
    padding:48px 36px;
    text-align:center;
}

.verify-icon{
    width:82px;
    height:82px;
    margin:0 auto 24px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fee2e2;
    color:#dc2626;

    font-size:34px;
    font-weight:700;
}

.verify-title{
    margin:0 0 16px;
    font-size:30px;
    font-weight:700;
    color:var(--text);
}

.verify-text{
    margin:0 0 32px;
    color:var(--text-muted);
    line-height:1.7;
    font-size:15px;
}

.verify-btn{
    min-width:180px;
}

/* ==========================================================
   Responsive
========================================================== */


















input,
select,
textarea {
  font-size: 16px !important;
}


@supports (-webkit-touch-callout: none) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}



input:focus {
  transform: scale(1) !important;
}



select option { color: black; }

input[type="date"] {
    color: #fff;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.9;
}


.text-yellow {
    color: #FED254 !important; /* LinkIt yellow */
}





.hero-image {
    max-width: 80% !important;
}



/* =====================================
   HERO GLOBE BACKGROUND
   ===================================== */

.hero-globe-bg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 0;
  overflow:hidden;
}

section {
  position: relative;
  z-index: 2;
}


.hero-globe-bg::before {
  content: "";
  width: 520px;
  height: 520px;
  background: url("/assets/img/world.png") center / contain no-repeat;
  opacity: .18;
  filter: blur(0.5px);
}


@keyframes slowRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.hero-globe-bg::before {
  animation: slowRotate 120s linear infinite;
}


.hero-globe-bg::before {
  filter: drop-shadow(0 0 40px rgba(0, 180, 255, 0.35));
}


/* Make placeholders white */
.login-card ::placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
    
}

.login-card input {
    font-size: 16px !important;
}

/* ============================================================
   404
   ============================================================ */

.error-404-page {
    box-sizing:border-box;
    position:relative;
    display:grid;
    place-items:center;
    min-height:calc(clamp(520px,70vh,760px) + 48px);
    padding:clamp(64px,8vw,112px) 20px calc(clamp(64px,8vw,112px) + 40px);
    margin-bottom:clamp(48px,5vw,72px);
    overflow:hidden;
}

.error-404-page::before,
.error-404-page::after {
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    background:color-mix(in srgb,var(--primary-color) 12%,transparent);
    filter:blur(18px);
    pointer-events:none;
}

.error-404-page::before { top:8%; left:max(-150px,calc(50% - 610px)); }
.error-404-page::after { right:max(-170px,calc(50% - 650px)); bottom:4%; opacity:.58; }

.error-404 {
    box-sizing:border-box;
    position:relative;
    z-index:1;
    width:min(100%,720px);
    padding:clamp(38px,6vw,68px) clamp(24px,6vw,72px);
    text-align:center;
}

.error-404-icon {
    display:grid;
    place-items:center;
    width:64px;
    height:64px;
    margin:0 auto 20px;
    border-radius:20px;
    background:var(--gl-surface-inset-bg);
    color:var(--primary-color);
    box-shadow:var(--gl-surface-well);
    font-size:1.45rem;
}

.error-404-code {
    margin:0;
    color:var(--primary-color);
    font-size:clamp(4.75rem,14vw,8rem);
    font-weight:850;
    line-height:.86;
    letter-spacing:-.08em;
    text-shadow:0 12px 28px color-mix(in srgb,var(--primary-color) 22%,transparent);
}

.error-404-title {
    margin:26px 0 0;
    color:#172033;
    font-size:clamp(1.65rem,4vw,2.35rem);
    font-weight:750;
    line-height:1.15;
    letter-spacing:-.035em;
}

.error-404-message {
    max-width:540px;
    margin:16px auto 0;
    color:#67758b;
    font-size:clamp(.95rem,2vw,1.05rem);
    line-height:1.7;
}

.error-404-action {
    margin-top:30px;
    gap:10px;
}

[dir="rtl"] .error-404-action i { transform:scaleX(-1); }

@media (max-width:575.98px) {
    .error-404-page { min-height:640px; padding:48px 16px 96px; }
    .error-404 { border-radius:28px; }
    .error-404-icon { width:56px; height:56px; border-radius:18px; }
    .error-404-action { width:100%; }
}





/* ============================================================
   FLOATING SUPPORT BUTTON
   ============================================================ */
.support-btn {
  position: fixed;
  right: 24px;
  bottom: 28px;
  display:grid;
  place-items:center;
  width: 58px;
  height: 58px;
  padding:0;
  background:var(--primary,#FED254);
  color:#172033;
  border-radius: 50%;
  border:1px solid color-mix(in srgb,var(--primary-color) 16%,#fff);
  font-size: 22px;
  box-shadow:var(--gl-surface-shadow);
  cursor: pointer;
  z-index: 9999;
  transition:transform .22s ease,box-shadow .22s ease;
}
.support-btn:hover,.support-btn:focus-visible{transform:translateY(-3px);box-shadow:0 20px 34px -18px rgba(35,45,60,.55),inset 2px 2px 3px rgba(255,255,255,.72)}
.support-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--primary-color) 34%,transparent);outline-offset:3px}

.support-popup {
  position: fixed;
  right: 24px;
  bottom: 100px;
  width:min(390px,calc(100vw - 32px));
  height:min(620px,calc(100dvh - 124px));
  background:var(--gl-surface-bg);
  border:0;
  border-radius:28px;
  overflow: hidden;
  box-shadow:var(--gl-surface-shadow);
  display: none;
  flex-direction: column;
  z-index: 99999;
}

.popup-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px 14px 20px;
  color:#172033;
  border-bottom:1px solid #dbe2ea;
  background:var(--gl-surface-bg);
}
.popup-heading{display:flex;align-items:center;min-width:0;gap:12px}
.popup-heading-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:var(--gl-surface-inset-bg);color:var(--primary-color);box-shadow:var(--gl-surface-well)}
.popup-heading strong{display:block;font-size:1rem;line-height:1.2}
.popup-heading small{display:block;margin-top:3px;color:#67758b;font-size:.72rem;line-height:1.3}

.close-popup {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:12px;
  background:var(--gl-surface-inset-bg);
  color:#172033;
  box-shadow:var(--gl-surface-well);
  cursor:pointer;
  font:inherit;
  font-size:22px;
  line-height:1;
}
.close-popup:hover,.close-popup:focus-visible{color:var(--primary-color)}
.close-popup:focus-visible{outline:3px solid color-mix(in srgb,var(--primary-color) 26%,transparent);outline-offset:2px}

.support-iframe {
  display:block;
  width:100%;
  min-height:0;
  flex:1 1 auto;
  border:0;
  background:transparent;
}

@media(max-width:575.98px){
  .support-btn{right:16px;bottom:18px;width:54px;height:54px}
  .support-popup{right:16px;bottom:84px;width:calc(100vw - 32px);height:min(610px,calc(100dvh - 104px));border-radius:24px}
  .popup-header{padding:14px 14px 12px 16px}
}


/* ===============================
   Pricing Toggle Switch
=============================== */
.switch-toggle {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 30px;
}
.switch-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider-toggle {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #999;
  transition: .4s;
  border-radius: 34px;
}
.slider-toggle:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}
input:checked + .slider-toggle {
  background-color: #ffc107;
}
input:checked + .slider-toggle:before {
  transform: translateX(30px);
}
.discount-badge {
  background-color: #ffc107;
  color: #000;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.9rem;
}
.price-text {
  transition: opacity 0.3s ease;
}



/* ============================================================
    SUPPORT PAGE STYLING
   ============================================================ */
.support-card {
  color: #fff;
}
.support-card .form-label {
  color: rgba(255, 255, 255, 0.7);
}
.support-card a:hover {
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.6);
}

/* Department Dropdown (inside support-card) */
/* ============================================================
   🟣 MODERN FLAT FOOTER
   ============================================================ */
main { flex: 1; }

.main-footer {
  margin-top: auto;
  background: linear-gradient(135deg, #141426, #1219c2);
  border-top: 1px solid rgba(228, 230, 235, 0.25);
  color: #fff;
  text-align: center;
  padding: 28px 10px;
  font-size: 0.82rem;
  letter-spacing: 0.2px;
}
.main-footer p { margin: 0; font-weight: 300; }
.main-footer a {
  color: #8852c9;
  text-decoration: none;
  font-weight: 300;
  transition: color 0.25s ease;
}
.main-footer a:hover {
  color: #6e41a6;
  text-decoration: underline;
}

/* Centered public footer, inspired by the compact reference layout. */
.main-footer {
  flex: none;
  width: 100%;
  padding: clamp(3.5rem, 7vw, 5rem) 1.5rem;
  background: var(--gl-surface-bg);
  color: var(--gl-text-primary);
  border-top: 1px solid color-mix(in srgb,var(--gl-text-muted) 18%,transparent);
}
.footer-inner {
  width: min(100%, 1100px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.75rem;
}
.footer-main-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:2rem; width:100%; direction:ltr; }
.footer-primary { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:1.25rem; }
[dir="rtl"] .footer-primary,
[dir="rtl"] .footer-actions { direction:rtl; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .65rem 1.5rem; }
.main-footer .footer-nav a {
  min-height: 36px;
  padding: .35rem .15rem;
  color: var(--gl-text-secondary);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
}
.main-footer .footer-nav a:hover { color: var(--primary-color); text-decoration: none; }
.footer-actions { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; }
.main-footer .footer-action {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid #e2e5ec;
  border-radius: 50%;
  background: var(--gl-surface-inset-bg);
  color: var(--gl-text-primary);
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(23,32,51,.05);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.main-footer .footer-action:hover { background: #f7f7fc; border-color: var(--primary-color); color: var(--primary-color); text-decoration: none; transform: translateY(-2px); }
.main-footer .footer-language { font-size: .72rem; font-weight: 800; letter-spacing: .02em; }
.footer-divider { display:none; }
.main-footer .footer-copyright { margin: 0; color: var(--gl-text-disabled); font-size: .78rem; line-height: 1.6; text-align: center; }
@media (max-width: 575.98px) {
  .main-footer { padding: 3rem 1.25rem; }
  .footer-inner { gap: 1.4rem; }
  .footer-main-row { grid-template-columns:1fr; justify-items:center; gap:1.4rem; }
  .footer-primary { align-items:center; }
  .footer-nav { max-width: 330px; justify-content:center; gap: .4rem 1rem; }
  .footer-actions { justify-content:center; }
  .main-footer .footer-nav a { font-size: .84rem; }
  .main-footer .footer-copyright { max-width: 250px; }
}

/* ============================================================
   🔷 SITE HEADER & NAVBAR
   ============================================================ */
.mobile-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1999;
}
.mobile-overlay.active {
  opacity: 1;
  visibility: visible;
}
.mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 75%;
  max-width: 220px;
  height: 100%;
  background: linear-gradient(225deg, #141426, #1219c2);
  backdrop-filter: blur(15px);
  border-right: 1px solid rgba(255,255,255,0.2);
  box-shadow: 2px 0 10px rgba(0,0,0,0.4);
  transition: left 0.4s ease;
  z-index: 2000;
}
.mobile-menu.open { left: 0; }
.menu-content { padding: 60px 25px; }
.menu-content ul li { margin-bottom: 18px; }
.menu-content ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  transition: 0.3s;
}
.menu-content ul li a:hover,
.menu-content ul li a.active {
  color: #fed254;
}
.close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 26px;
  cursor: pointer;
}

.pricing-page { flex: none; width: 100%; color: #172033; }

/* Contact page: readable light-theme content and a stable two-column layout. */
.contact-page { flex: none; width: 100%; color: var(--gl-text-primary); }
.contact-page > .gl-container > .gl-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); align-items: center; }
.contact-page > .gl-container > .gl-row > [class*="gl-col-"] { width: auto; min-width: 0; padding: 0; }
.contact-page h1,
.contact-page .support-card h3 { color: var(--gl-text-primary); }
.contact-page .gl-text-muted { color: var(--gl-text-muted); }
.contact-page .support-card { color: var(--gl-text-primary); }
.contact-page .gl-form-input,
.contact-page .gl-form-select { background: var(--gl-control-bg); color: var(--gl-text-primary); border-color: #d7dce5; }
.contact-page .gl-form-input::placeholder { color: var(--gl-control-placeholder); }
@media (max-width: 767.98px) {
  .contact-page > .gl-container > .gl-row { grid-template-columns: 1fr; }
}
.hero-section{min-height:560px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#24154a,#3d2380)}
body.gl-public-shell .gl-bg-dark-soft{background:#1b2438;color:#f8fafc}
body.gl-public-shell .gl-bg-dark{background:#111827;color:#f8fafc}
body.gl-public-shell .hero-section h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.08}
body.gl-public-shell .hero-section .gl-lead{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.6}

body.gl-public-shell{background:#fff;color:#111827}body.gl-public-shell .gl-navbar,body.gl-public-shell .gl-footer{background:#fff;color:#111827}body.gl-public-shell .gl-nav-link{color:#334155}body.gl-public-shell .gl-nav-link:hover,body.gl-public-shell .gl-nav-link.active{color:var(--primary-color)}
.main-footer a{display:inline-flex;align-items:center;min-height:40px;padding:.25rem .35rem;border-radius:.4rem}.main-footer a:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}
.home-final-cta{margin-top:2rem;padding-block:clamp(3rem,8vw,6rem)!important;background:linear-gradient(135deg,#fff8dd,#fff);border-radius:2rem}
.home-hero-image{display:block;width:100%;height:auto;aspect-ratio:10/7;object-fit:contain}.home-example-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:768px){.home-hero-image{max-width: min(100%, 420px);margin-inline:auto}.home-example-image{max-width:320px;margin-inline:auto}}
.hero-section h1,.hero-section p{animation:home-reveal .65s ease both}.hero-section img:not(.profile-fan-card img){animation:home-float 6s ease-in-out .2s infinite}
@keyframes home-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes home-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.hero-section h1,.hero-section p,.hero-section img{animation:none}}

/* Home page: isolated, light-theme layout that does not inherit legacy dark utilities. */
.home-page {
  --home-ink: var(--gl-text-primary);
  --home-muted: var(--gl-text-muted);
  --home-surface: var(--gl-surface-bg);
  --home-surface-soft: var(--gl-surface-inset-bg);
  --home-border: color-mix(in srgb,var(--gl-text-muted) 18%,transparent);
  flex: none;
  width: 100%;
  overflow-x: clip;
  background: var(--home-surface);
  color: var(--home-ink);
  margin-top: 28px;
}
.home-page section { isolation: isolate; }
.home-page section:not(.home-hero) { padding-block: clamp(4rem, 7vw, 6.5rem); }
.home-page section h2,
.home-page section h3,
.home-page section h4,
.home-page section h5,
.home-page section h6 { color: var(--home-ink); line-height: 1.2; }
.home-page section p,
.home-page section .gl-text-muted,
.home-page section .gl-text-soft { color: var(--home-muted); line-height: 1.7; }
.home-hero {
  min-height: clamp(580px, 72vh, 760px);
  background:
    radial-gradient(circle at 76% 45%, rgba(254,210,84,.18), transparent 30%),
    linear-gradient(135deg, #261348 0%, #4a248a 58%, #6a38ad 100%);
}
.home-hero .gl-container { position: relative; z-index: 2; }
.home-hero .gl-row { align-items: center; }
.home-hero h1 { max-width: 720px; color: #fff; letter-spacing: -.035em; }
.home-hero p { max-width: 650px; color: rgba(255,255,255,.82) !important; }
.home-hero .gl-btn-text { color: #fff; }
.home-hero .gl-btn-text:hover { color: #fed254; }
.home-hero-image { max-height: 490px; object-fit: contain; filter: drop-shadow(0 24px 42px rgba(9,4,24,.28)); }
.hero-globe-bg { position: absolute; inset: 0; overflow: hidden; }
.hero-globe-bg::before {
  position: absolute;
  inset-inline-end: clamp(-150px, -5vw, -50px);
  width: min(48vw, 620px);
  height: min(48vw, 620px);
  opacity: .11;
}
.home-intro,
.home-how,
.home-faq { background: var(--home-surface-soft); }
.home-intro h2,
.home-trust h3,
.home-how h3,
.home-faq h3 { font-size: clamp(1.9rem, 3vw, 2.75rem); letter-spacing: -.025em; }
.home-page .home-card-grid { margin: 0; display: grid; align-items: stretch; }
.home-page .home-card-grid > [class*="gl-col-"] { width: auto; padding: 0; min-width: 0; }
.home-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.home-stats-grid > [class*="gl-col-"] { height: 220px; }
.home-trust {
  background:
    radial-gradient(48vw 40vw at 12% 6%, rgba(183,212,245,.55), transparent 62%),
    radial-gradient(40vw 36vw at 88% 22%, color-mix(in srgb, var(--primary-color) 24%, transparent), transparent 64%),
    radial-gradient(52vw 44vw at 60% 96%, rgba(232,115,92,.11), transparent 66%),
    #e8edf7;
}
.home-trust > .gl-container { width: min(100% - 2rem, 1180px); }
.home-features-heading { max-width:720px; margin:0 auto 44px; text-align:center; }
.home-features-heading .home-eyebrow { color:var(--primary-color); }
.home-features-heading h2 { max-width:680px; margin:22px auto 18px; color:var(--gl-text-primary); font-size:clamp(2.5rem,5vw,4rem); font-weight:300; line-height:1.08; letter-spacing:-.035em; }
.home-features-lede { max-width:650px; margin:0 auto; color:var(--gl-text-muted); font-size:1.08rem; line-height:1.62; }
.home-features-hint { margin-top:22px; color:var(--gl-text-muted); font-size:.83rem; letter-spacing:.02em; }
.home-metrics-panel {
  padding: 44px;
}
.home-metrics-panel .metric-well-card {
  box-sizing: border-box;
  width: 100%;
  height: 220px;
  padding: 28px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.home-metrics-panel .metric-feature-icon {
  display:grid;
  place-items:center;
  flex:0 0 54px;
  width:54px;
  height:54px;
  margin-bottom:18px;
  border-radius:18px;
  background:linear-gradient(155deg,#a6e1cb,#7ccfb0);
  color:#1d3a34;
  box-shadow:0 12px 18px -12px rgba(35,45,60,.55),inset 2px 2px 3px rgba(255,255,255,.7),inset -3px -4px 7px rgba(35,45,60,.16);
  font-size:25px;
  line-height:1;
}
.home-stats-grid > :nth-child(3n + 2) .metric-feature-icon { background:linear-gradient(155deg,#cfe3fa,#b7d4f5); color:#2b2b3a; }
.home-stats-grid > :nth-child(3n) .metric-feature-icon { background:linear-gradient(155deg,color-mix(in srgb,var(--primary-color) 22%,#fff),color-mix(in srgb,var(--primary-color) 72%,#fff)); color:color-mix(in srgb,var(--primary-color) 48%,#172033); }
.home-metrics-panel .metric-feature-icon i { display:block; line-height:1; }
.home-metrics-panel .metric-stat-card h4 { margin: 0; font-size: clamp(2.2rem, 4.4vw, 3rem); font-weight: 300; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.home-metrics-panel .metric-stat-card p { margin-top: 6px; font-size: .88rem; }
.home-metrics-panel .metric-feature-card h5 { margin: 0; max-width: 18ch; font-size: 1.28rem; font-weight: 400; line-height: 1.15; }
.home-metrics-panel .metric-feature-card p { margin-top: 10px; font-size: .88rem; line-height: 1.4; }
.home-steps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-card {
  height: 100%;
  background: var(--home-surface);
  border: 1px solid var(--home-border);
  box-shadow: 0 14px 36px rgba(45,30,82,.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.home-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--primary-color) 32%, #e9e7f2); box-shadow: 0 20px 46px rgba(45,30,82,.13); }
.home-card .gl-text-white { color: var(--home-ink); }
.home-stat-card { min-height: 190px; display: flex; flex-direction: column; justify-content: center; }
.home-stat-card h4 { font-size: 1.7rem; }
.home-feature-card { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.home-step-card { min-height: 250px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.home-how > .gl-container { width:min(1280px,calc(100% - 44px)); }
.home-how .home-section-heading { max-width:1100px; margin-bottom:0; }
.home-how .home-section-heading h2 { white-space:nowrap; }
.home-process-track { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:64px; }
.home-process-track::before { content:""; position:absolute; left:16%; right:16%; top:38px; height:4px; border-radius:99px; background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--primary-color) 35%,rgba(35,45,60,.22)) 0 6px,transparent 6px 15px); }
.home-process-step { position:relative; min-width:0; text-align:center; }
.home-process-disc { position:relative; z-index:2; display:grid; place-items:center; width:76px; height:76px; margin:0 auto; border-radius:99px; background:linear-gradient(158deg,#fcfeff,#f3f6fd 48%,color-mix(in srgb,var(--primary-color) 8%,#e5ecf9)); color:var(--home-ink); box-shadow:0 18px 28px -16px rgba(35,45,60,.45),inset 2px 3px 4px rgba(255,255,255,.98),inset -3px -5px 10px rgba(35,45,60,.13); font-size:1.7rem; font-weight:400; }
.home-process-step h3 { margin:24px 0 0; color:var(--gl-text-primary); font-size:1.32rem; font-weight:500; }
.home-process-step p { max-width:34ch; margin:10px auto 0; color:var(--gl-text-muted); font-size:.94rem; }
.home-use-cases .gl-row { align-items: start; }
.home-use-cases h4 { font-size: 1.5rem; }
.home-example-image { border: 1px solid var(--home-border); background: #fff; }
.home-faq-card { min-height: 155px; text-align: start; }
.home-final-cta {
  width: min(100% - 2rem, 1140px);
  margin: clamp(2rem, 5vw, 4rem) auto;
  color: var(--home-ink);
  box-shadow: inset 0 0 0 1px rgba(254,210,84,.32);
}
.home-final-cta h2 { color: var(--home-ink) !important; font-size: clamp(2rem, 4vw, 3.25rem); }
.home-final-cta p { color: var(--home-muted) !important; }
.home-final-cta {
  box-sizing:border-box;
  width:min(1180px,calc(100% - 44px));
  margin:clamp(76px,9vw,120px) auto;
  padding:60px 44px !important;
  border-radius:40px !important;
  background:linear-gradient(158deg,#fbfdff,color-mix(in srgb,var(--primary-color) 3%,#f0f5fd) 46%,color-mix(in srgb,var(--primary-color) 8%,#e6edfa));
  box-shadow:0 40px 60px -28px rgba(35,45,60,.42),inset 3px 4px 6px rgba(255,255,255,.98),inset -5px -7px 14px rgba(35,45,60,.11);
}
.home-final-cta .home-eyebrow { color:var(--primary-color); }
.home-final-cta h2 { max-width:none; margin:18px auto 0; font-size:clamp(1.75rem,4vw,3rem); white-space:nowrap; }
.home-final-cta > .gl-container > p:not(.home-link-note) { max-width:650px; margin:16px auto 0 !important; }
.home-link-form { display:flex; width:fit-content; max-width:100%; justify-content:center; align-items:stretch; flex-wrap:nowrap; gap:12px; margin:32px auto 0; }
.home-link-field { box-sizing:border-box; display:flex; align-items:center; width:min(430px,100%); min-height:52px; padding:0 22px; border:0; border-radius:99px; background:var(--gl-surface-inset-bg); color:var(--gl-text-muted); box-shadow:inset 4px 5px 11px -3px rgba(35,45,60,.22),inset -2px -3px 6px rgb(202 207 227); font-size:.95rem; text-align:start; transition:box-shadow .25s ease; }
.home-link-field:focus-within { box-shadow:inset 4px 5px 11px -3px rgba(35,45,60,.22),inset -2px -3px 6px rgb(202 207 227),0 0 0 3px color-mix(in srgb,var(--primary-color) 48%,transparent); }
.home-link-field > span { flex:0 0 auto; color:var(--gl-text-secondary); font-weight:600; }
.home-link-field input { min-width:0; flex:1 1 auto; padding:15px 2px; border:0; outline:0; background:transparent; color:var(--gl-text-primary); font:inherit; }
.home-link-field input::placeholder { color:var(--gl-control-placeholder); }
.home-final-cta > .gl-container > .gl-btn { margin-top:28px; }
.home-final-cta .home-link-note { margin:18px auto 0 !important; color:#67758b !important; font-size:.84rem; }
@media (max-width: 991.98px) {
  .home-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hero { min-height: auto; padding-block: 5rem !important; }
}
@media (max-width: 767.98px) {
  .home-page { margin-top: 18px; }
  .home-page section:not(.home-hero) { padding-block: 3.75rem; }
  .home-hero { padding-block: 3.5rem !important; text-align: center; }
  .home-hero .gl-flex { justify-content: center; }
  .home-hero-image { margin-top: 1rem; max-height: 360px; }
  .hero-globe-bg::before { width: 430px; height: 430px; inset-inline-end: -180px; opacity: .08; }
  .home-steps-grid,
  .home-faq-grid { grid-template-columns: 1fr; }
  .home-step-card { min-height: 220px; }
  .home-how > .gl-container { width:calc(100% - 24px); }
  .home-how .home-section-heading h2 { white-space:normal; }
  .home-process-track { grid-template-columns:1fr; gap:38px; margin-top:44px; }
  .home-process-track::before { display:none; }
  .home-final-cta { width:calc(100% - 24px); padding:44px 20px !important; border-radius:30px !important; }
  .home-link-form { width:min(430px,100%); flex-direction:column; align-items:center; }
  .home-link-form .gl-btn { width:min(430px,100%); }
}
@media (max-width: 479.98px) {
  .home-features-heading { margin-bottom:30px; }
  .home-features-heading h2 { margin-top:16px; font-size:2.25rem; }
  .home-features-lede { font-size:.96rem; }
  .home-features-hint { margin-top:16px; }
  .home-stats-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-metrics-panel { padding: 22px; }
  .home-metrics-panel .metric-well-card { height: 205px; padding: 20px; }
  .home-stats-grid > [class*="gl-col-"] { height: 205px; }
  .home-metrics-panel .metric-feature-icon { flex-basis:48px; width:48px; height:48px; margin-bottom:14px; border-radius:16px; font-size:22px; }
  .home-metrics-panel .metric-stat-card h4 { font-size: 2rem; }
  .home-metrics-panel .metric-stat-card p { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-card { transition: none; }
  .home-card:hover { transform: none; }
}

/* Semantic public header components (Bootstrap-independent markup). */
.gl-public-shell { background: #212529; color: #f8f9fa; }
.gl-navbar { width: 100%; }
.gl-navbar-sticky { position: sticky; top: 0; z-index: 1020; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,.15); padding: 14px 0; }
.gl-navbar > .gl-container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gl-container { width: min(100% - 2rem, 1280px); margin-inline: auto; }
.gl-flex { display: flex; }
.gl-align-center { align-items: center; }
.gl-justify-center { justify-content: center; }
.gl-gap-2 { gap: .5rem; }
.gl-mobile-only { display: none; }
.gl-navbar-brand { text-decoration: none; }
.gl-navbar-brand .gl-brand-mark-image { height: 30px !important; width: auto !important; max-height: 60px !important; }
.gl-navbar-toggler, .gl-reset { border: 0; background: transparent; }
.gl-navbar-toggler { cursor: pointer; padding: .375rem .75rem; }
.gl-menu-icon { color: #fff; font-size: 1.5rem; }
.gl-header-cta { font-weight: 600; color: #111827; padding: .5rem .75rem; border-radius: 999px; box-shadow: 0 .125rem .25rem rgba(0,0,0,.075); }
.gl-desktop-nav { display: block; }
.gl-nav-list { display: flex; justify-content: flex-end; align-items: center; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.gl-nav-item { list-style: none; position: relative; }
.gl-nav-link { display: inline-block; padding: .5rem .75rem; font-size: .98rem; color: #fff; text-decoration: none; position: relative; transition: all .25s ease-in-out; }
.gl-nav-link:hover, .gl-nav-link:focus, .gl-nav-link.active { color: #ffd968; }
.gl-dropdown-menu { display: none; position: absolute; inset-block-start: 100%; inset-inline-end: 0; min-width: 12rem; margin: .125rem 0 0; padding: .5rem 0; list-style: none; background: #fff; border-radius: .5rem; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); z-index: 1000; }
.gl-dropdown-menu.show { display: block; }
.gl-dropdown-item { display: block; width: 100%; padding: .35rem 1rem; color: #212529; text-decoration: none; white-space: nowrap; }
.gl-dropdown-item:hover, .gl-dropdown-item:focus { background: #f8f9fa; color: #16181b; }
.gl-dropdown-divider { height: 0; margin: .5rem 0; border-top: 1px solid #dee2e6; }
.gl-header-avatar { display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; }
.gl-avatar-image { width: 100%; height: 100%; object-fit: cover; }
.gl-icon-gap { margin-inline-end: .5rem; }
.gl-danger { color: #dc3545 !important; }
.gl-list-reset { list-style: none; margin: 0; padding: 0; }
.gl-mobile-nav-spacing { margin-top: 1.5rem; }
.gl-rounded { border-radius: .5rem; }
.gl-shadow { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075); }


.main-footer .fi {
  border-radius: 2px;
}





/* ==========================================
   Shop
========================================== */


/* ==========================================
   Grid
========================================== */

.shop-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(290px, 1fr));
    justify-content:center;
    gap:24px;
}

/* ==========================================
   Card
========================================== */

.shop-card{
    padding:22px;
    display:flex;
    flex-direction:column;
    height:100%;
    transition:.25s;
}

.shop-card:hover{
    transform:translateY(-4px);
}

/* ==========================================
   Image
========================================== */

.shop-image-link{
    display:block;
    text-decoration:none;
}

.shop-image-box{
    aspect-ratio:1/1;
    overflow:hidden;
    margin-bottom:18px;
}

.shop-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.35s;
}

.shop-card:hover .shop-image{
    transform:scale(1.05);
}

/* ==========================================
   Title
========================================== */

.shop-product-title{
    margin:0 0 10px;
    font-size:20px;
    font-weight:700;
}

.shop-product-link{
    color:var(--gl-text-primary);
    text-decoration:none;
}

.shop-product-link:hover{
    color:#FED254;
}

/* ==========================================
   Description
========================================== */

.shop-description{
    color:var(--gl-text-muted);
    font-size:14px;
    line-height:1.7;
    margin:0 0 18px;
    min-height:54px;
}

/* ==========================================
   Price
========================================== */

.shop-price{
    font-size:24px;
    font-weight:700;
    color:#8e4ccf;
    margin-bottom:12px;
}

/* ==========================================
   Stock
========================================== */

.shop-stock{
    font-size:14px;
    font-weight:600;
    margin-bottom:20px;
}

.shop-stock-in{
    color:var(--gl-status-success);
}

.shop-stock-out{
    color:var(--gl-status-danger);
}

/* ==========================================
   Button
========================================== */

.shop-btn{
    margin-top:auto;
}

/* ==========================================================
   Single Product
========================================================== */

.product-page{
    max-width:1200px;
    margin:0 auto;
}

/* ==========================================================
   Back
========================================================== */

.product-back{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    margin-bottom:2rem;
    color:var(--gl-text-muted);
    text-decoration:none;
    font-size:.95rem;
    transition:.2s;
}

.product-back:hover{
    color:var(--gl-text-primary);
}

/* ==========================================================
   Layout
========================================================== */

.product-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3rem;
    align-items:flex-start;
}

/* ==========================================================
   Gallery
========================================================== */

.product-gallery{
    position:sticky;
    top:90px;
}

.product-main-image{
    overflow:hidden;
    margin-bottom:1rem;
}

.product-image{
    width:100%;
    display:block;
    aspect-ratio:1/1;
    object-fit:cover;
}

.product-thumbs{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
}

.product-thumb{
    width:80px;
    height:80px;
    border-radius:12px;
    border:2px solid transparent;
    cursor:pointer;
    object-fit:cover;
    transition:.2s;
}

.product-thumb:hover{
    border-color:#FED254;
}

/* ==========================================================
   Details
========================================================== */

.product-title{
    font-size:2rem;
    font-weight:700;
    margin-bottom:.4rem;
}

.product-category{
    color:var(--gl-text-muted);
    text-transform:uppercase;
    font-size:.8rem;
    margin-bottom:1.5rem;
}

.product-description{
    color:var(--gl-text-secondary);
    line-height:1.8;
    margin:1.5rem 0 2rem;
}

/* ==========================================================
   Price
========================================================== */

.product-price-row{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:1rem;
}

.product-price{
    font-size:2rem;
    font-weight:700;
    color:var(--gl-text-primary);
}

/* ==========================================================
   Badge
========================================================== */

.product-badge{
    padding:.45rem .9rem;
    border-radius:999px;
    font-size:.82rem;
    font-weight:600;
}

.product-badge-success{
    background:#dcfce7;
    color:var(--gl-status-success);
}

.product-badge-danger{
    background:#fee2e2;
    color:var(--gl-status-danger);
}

/* ==========================================================
   Info Box
========================================================== */

.product-box,
.product-summary{
    padding:1.4rem;
    margin-top:1.75rem;
}

.product-box-title{
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:1rem;
    display:flex;
    align-items:center;
    gap:.6rem;
}

.product-info-list{
    list-style:none;
    padding:0;
    margin:0;
}

.product-info-list li{
    padding:.45rem 0;
    color:var(--gl-text-secondary);
}

/* ==========================================================
   Summary
========================================================== */

.product-summary-row{
    display:flex;
    justify-content:space-between;
    padding:.45rem 0;
}

.product-summary-total{
    margin-top:.8rem;
    padding-top:.9rem;
    border-top:1px solid #ececec;
    font-size:1.1rem;
    font-weight:700;
}

html[data-public-theme="dark"] body.gl-dashboard-page .product-summary-total{
    border-top-color:rgba(255,255,255,.13);
}

html[data-public-theme="dark"] body.gl-dashboard-page .product-badge-success{
    border:1px solid color-mix(in srgb,var(--gl-status-success) 34%,transparent);
    background:color-mix(in srgb,var(--gl-status-success) 14%,var(--gl-control-bg));
    color:var(--gl-status-success);
}

html[data-public-theme="dark"] body.gl-dashboard-page .product-input,
html[data-public-theme="dark"] body.gl-dashboard-page .product-textarea{
    border-color:rgba(255,255,255,.13);
}

/* ==========================================================
   Form
========================================================== */

.product-form{
    margin-top:1.75rem;
    padding:1.4rem;
}

.product-field{
    margin-bottom:1.5rem;
}

.product-label{
    display:block;
    margin-bottom:.6rem;
    font-weight:600;
}

/* ==========================================================
   Inputs
========================================================== */

.product-input,
.product-textarea{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:.9rem 1rem;
    border:1px solid #d1d5db;
    border-radius:12px;
    font-size:.95rem;
    transition:.2s;
    background:var(--gl-control-bg);
    color:var(--gl-text-primary);
}

.product-input:focus,
.product-textarea:focus{
    outline:none;
    border-color:#FED254;
}

.product-textarea{
    resize:vertical;
}

/* ==========================================================
   Quantity
========================================================== */

.product-qty{
    display:flex;
    align-items:center;
    gap:.75rem;
}

.product-qty-btn{
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    background:#FED254;
    color:#000;
    cursor:pointer;
    transition:.2s;
}

.product-qty-btn:hover{
    background:#f3c845;
}

.product-qty-input-wrap{
    display:flex;
    align-items:center;
    gap:.7rem;
}

.product-input-qty{
    width:120px;
    text-align:center;
}

.product-qty-label{
    color:var(--gl-text-muted);
    font-size:.9rem;
}

.product-help{
    margin-top:.5rem;
    color:var(--gl-text-muted);
    font-size:.85rem;
}

/* ==========================================================
   Radio
========================================================== */

.product-radio{
    display:flex;
    align-items:center;
    gap:.6rem;
    margin:.55rem 0;
    cursor:pointer;
}

/* ==========================================================
   Upload
========================================================== */

.product-upload{
    margin-top:1rem;
}

.is-hidden{
    display:none;
}

/* ==========================================================
   Button
========================================================== */

.product-btn.loading{
    opacity:.7;
    pointer-events:none;
}

/* ==========================================================
   Error
========================================================== */

.product-error{
    max-width:600px;
    margin:4rem auto;
    text-align:center;
    background:#fff;
    border:1px solid #ececec;
    border-radius:20px;
    padding:2rem;
}

.product-error p{
    color:var(--gl-text-muted);
    margin:1rem 0 2rem;
}

/* ==========================================================
   Related
========================================================== */

.product-related{
    margin-top:4rem;
}

.product-related-title{
    font-size:1.4rem;
    margin-bottom:1.5rem;
}

.product-related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
}

.product-related-link{
    text-decoration:none;
    color:inherit;
}

.product-related-card{
    overflow:hidden;
    transition:.25s;
}

.product-related-card:hover{
    transform:translateY(-4px);
}

.product-related-image{
    width:100%;
    height:180px;
    object-fit:cover;
}

.product-related-content{
    padding:1rem;
}

.product-related-name{
    font-size:1rem;
    margin-bottom:.5rem;
}

.product-related-price{
    font-weight:700;
    color:var(--gl-text-primary);
}




/* ==========================================================
   Checkout Page
========================================================== */

.checkout-page{
    max-width:1200px;
    margin:0 auto;
}

.checkout-header{
    margin-bottom:36px;
}

.checkout-title{
    margin:0;
    color:var(--gl-text-primary);
}

/* ==========================================================
   Layout
========================================================== */

.checkout-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(0,.95fr);
    gap:28px;
    align-items:start;
}

.checkout-left,
.checkout-right{
    width:100%;
    min-width:0;
}

/* ==========================================================
   Cards
========================================================== */

.checkout-card,
.checkout-summary{
    box-sizing:border-box;
    min-width:0;
    padding:30px;
}

.checkout-summary{
    position:sticky;
    top:90px;
}

/* ==========================================================
   Sections
========================================================== */

.checkout-section-title{
    margin:0 0 22px;
    padding-bottom:12px;
    border-bottom:1px solid #ececec;
    color:var(--gl-text-primary);
}

.checkout-section-title:not(:first-child){
    margin-top:36px;
}

/* ==========================================================
   Form
========================================================== */

.checkout-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.checkout-group{
    min-width:0;
    margin-bottom:18px;
}

.checkout-label{
    display:block;
    margin-bottom:8px;
    font-size:15px;
    font-weight:500;
    color:var(--gl-text-primary);
}

.checkout-input,
.checkout-textarea{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:14px 16px;
    border:1px solid #d9dde3;
    border-radius:12px;
    background:var(--gl-control-bg);
    color:var(--gl-text-primary);
    font-size:15px;
    transition:.2s;
}

.checkout-textarea{
    resize:vertical;
    min-height:90px;
}

.checkout-input:focus,
.checkout-textarea:focus{
    outline:none;
    border-color:#FED254;
    box-shadow:0 0 0 3px rgba(254,210,84,.20);
}

/* ==========================================================
   Payment
========================================================== */

.checkout-payment-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.checkout-payment-option{
    display:block;
    cursor:pointer;
}

.checkout-payment-option input{
    display:none;
}

.checkout-payment-box{
    --gl-text-primary:var(--gl-surface-light-text-primary);
    --gl-text-secondary:var(--gl-surface-light-text-secondary);
    --gl-text-muted:var(--gl-surface-light-text-muted);
    --gl-text-disabled:var(--gl-surface-light-text-disabled);
    border:1px solid #dcdcdc;
    border-radius:14px;
    background:#fff;
    padding:18px;
    transition:.2s;
}

.checkout-payment-option input:checked + .checkout-payment-box{
    border:2px solid #2b6cff;
    background:#f5f8ff;
}

.checkout-payment-disabled{
    opacity:.55;
    cursor:not-allowed;
}

.checkout-payment-content{
    display:flex;
    align-items:center;
    gap:16px;
}

.checkout-payment-icon{
    font-size:24px;
    color:#2b6cff;
    flex-shrink:0;
}

.checkout-payment-title{
    font-size:18px;
    font-weight:700;
    color:var(--gl-text-primary);
}

.checkout-payment-text{
    margin-top:4px;
    font-size:14px;
    color:var(--gl-text-muted);
}

/* ==========================================================
   Summary
========================================================== */

.checkout-items{
    margin-top:10px;
}

.checkout-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:16px 0;
    border-bottom:1px solid #ececec;
}

.checkout-item:last-child{
    border-bottom:none;
}

.checkout-product{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
}

.checkout-product-image{
    width:55px;
    height:55px;
    border-radius:10px;
    object-fit:cover;
    flex-shrink:0;
}

.checkout-product-info{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.checkout-product-name{
    font-size:15px;
    font-weight:700;
    color:var(--gl-text-primary);
    overflow-wrap:anywhere;
}

.checkout-product-meta{
    margin-top:4px;
    font-size:14px;
    color:var(--gl-text-muted);
}

.checkout-product-price{
    font-size:16px;
    font-weight:700;
    color:var(--gl-text-primary);
    white-space:nowrap;
}

.checkout-divider{
    height:1px;
    background:#ececec;
    margin:20px 0;
}

.checkout-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:24px;
    font-size:18px;
    font-weight:700;
    color:var(--gl-text-primary);
}

/* ==========================================================
   Button
========================================================== */

/* ==========================================================
   Responsive
========================================================== */


















/* ==========================================================
   Responsive
========================================================== */






/* ==========================================
   Responsive
========================================== */





/* Cart drawer */
.cart-drawer {
    box-sizing: border-box;
    position: fixed;
    inset-inline-end: -400px;
    top: 0;
    height: 100vh;
    width: min(400px, 100vw);
    background: #fff;
    box-shadow: -4px 0 10px rgba(0,0,0,0.1);
    display:flex;
    flex-direction:column;
    padding:24px;
    overflow:hidden;
    transition: inset-inline-end 0.3s;
    z-index: 9999;
}

.cart-drawer.open {
    inset-inline-end: 0;
}

.cart-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items:flex-start;
    flex:0 0 auto;
    gap:16px;
    border-bottom: 1px solid #eee;
    padding-bottom:16px;
}

.cart-drawer-heading{
    min-width:0;
}

.cart-drawer-heading h5{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
}

.cart-drawer-heading p{
    margin:6px 0 0;
    color:var(--gl-text-muted,#67758b);
    font-size:.875rem;
}

.cart-item-count{
    color:var(--gl-text-muted,#67758b);
    font-size:.8rem;
    font-weight:600;
}

.cart-items{
    flex:0 1 auto;
    min-height:0;
    overflow-y:auto;
    padding-block:20px;
}

.cart-empty{
    margin:0;
    padding-block:32px;
    color:var(--gl-text-muted,#67758b);
    text-align:center;
}

.cart-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:14px;
    min-width:0;
    margin-bottom:12px;
    padding:14px;
}

.cart-item:last-child{
    margin-bottom:0;
}

.cart-item-main{
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:0;
}

.cart-item-image{
    width:56px;
    height:56px;
    flex:0 0 56px;
    object-fit:cover;
}

.cart-item-content{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:8px;
}

.cart-item-name{
    overflow-wrap:anywhere;
}

.cart-quantity{
    display:flex;
    align-items:center;
    gap:8px;
}

.cart-qty{
    min-width:2ch;
    text-align:center;
}

.cart-item-unit-price{
    color:var(--gl-text-muted,#67758b);
    font-size:.8rem;
}

.cart-item-aside{
    display:flex;
    align-items:flex-end;
    gap:10px;
    flex-direction:column;
}

.cart-line-total{
    white-space:nowrap;
}

.gl-btn.close-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    padding: 0;
    background: none;
    border: 0;
    color: #dc3545;
    font-size: 2.95rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.gl-btn.close-cart:hover,
.gl-btn.close-cart:focus-visible {
    color: #b02a37;
}

.cart-footer{
    flex:0 0 auto;
    padding-top:16px;
}

.cart-totals{
    display:grid;
    gap:10px;
    padding:14px;
}

.cart-total-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    color:var(--gl-text-muted,#67758b);
    font-size:.9rem;
}

.cart-total-row--grand{
    margin-top:2px;
    padding-top:12px;
    border-top:1px solid var(--gl-border,#e5e7eb);
    color:var(--gl-text,#172033);
    font-size:1rem;
}

.cart-actions{
    display:grid;
    gap:10px;
    margin-top:16px;
}

.cart-security{
    display:flex;
    gap:6px;
    margin-top:16px;
    padding:14px;
    flex-direction:column;
}

.cart-security span{
    color:var(--gl-text-muted,#67758b);
    font-size:.8rem;
    line-height:1.5;
}

@media (max-width:480px){
    .cart-drawer{
        padding:18px;
    }

    .cart-item{
        grid-template-columns:1fr;
    }

    .cart-item-aside{
        align-items:center;
        justify-content:space-between;
        flex-direction:row;
    }
}



button#openCartBtn {
    background: none;
    border: none;
}


.cart-count-badge {
    position: absolute;
    top: 5px;
    inset-inline-end: 4px;
    background: #ff3b30;
    color: white;
    padding: 2px 6px;
    border-radius: 50%;
    font-size: 7px;
    font-weight: 600;
}

/* Checkout Layout */
.checkout-wrapper {
    animation: fadeIn .3s ease;
}

.section-title {
    font-size: 1.2rem;
    font-weight: 700;
    padding-bottom: 6px;
    border-bottom: 2px solid #f0f0f5;
    margin-bottom: 10px;
}

/* Form Styling */
.checkout-box input {
    border-radius: 10px;
    padding: 12px 14px;
}

/* Sticky Summary */
.checkout-summary {
    position: sticky;
    top: 100px;
}

.payment-methods {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.payment-option {
    display: block;
    cursor: pointer;
}

.payment-option input {
    display: none;
}

.payment-box {
    border: 2px solid #e8e8e8;
    padding: 14px 18px;
    border-radius: 12px;
    transition: all 0.2s ease;
    background: #fff;
}

.payment-option input:checked + .payment-box {
    border-color: #0d6efd;
    background: #f3f8ff;
}

.payment-box:hover {
    border-color: #b9d7ff;
}

.payment-box.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.disabled-option {
    cursor: not-allowed;
}

.shop-img-box {
    width: 100%;
    border-radius: 12px;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.shop-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.out-stock-badge {
    padding: 12px;
    background: #ffe5e5;
    border: 1px solid #ffb5b5;
    color: #d9534f;
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
}


/* Fade-In Animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Semantic authentication components. */
.gl-auth-page { min-height: 100vh; margin: 0; background: #f8f9fa; color: #212529; }
.gl-auth-shell { width: min(100% - 2rem, 500px); margin: 0 auto; padding: 3rem 0; }
.gl-auth-card { display: block; padding: 2rem; }
.gl-auth-center { text-align: center; }
.gl-auth-end { text-align: end; }
.gl-auth-heading { margin-bottom: 1rem; }
.gl-auth-muted { color: rgba(255,255,255,.7); }
.gl-auth-label { display: block; margin-bottom: .5rem; font-weight: 600; }
.gl-auth-input { display: block; width: 100%; min-height: 44px; padding: .625rem .75rem; border: 1px solid #ced4da; border-radius: .375rem; color: #212529; background: #fff; }
.gl-auth-page .gl-auth-muted { color: #6b7280; }
.gl-auth-page .gl-auth-input::placeholder,
.gl-auth-page .login-card .gl-auth-input::placeholder { color: #6b7280 !important; opacity: 1 !important; }
.gl-public-shell .gl-auth-muted { color: #6b7280; }
.gl-public-shell .login-card .gl-auth-input::placeholder { color: #6b7280 !important; opacity: 1 !important; }
.gl-public-shell .auth-page .auth-title { color: #172033; }
.gl-public-shell .auth-page .auth-subtitle { color: #64748b; }
.gl-auth-input:focus { border-color: #8852c9; outline: 0; box-shadow: 0 0 0 .2rem rgba(136,82,201,.2); }
.gl-auth-input-group { display: flex; width: 100%; }
.gl-auth-input-group .gl-auth-input { flex: 1 1 auto; min-width: 0; border-radius: .375rem 0 0 .375rem; }
.gl-auth-input-addon { display: inline-flex; align-items: center; padding: 0 .75rem; border: 1px solid #ced4da; border-left: 0; border-radius: 0 .375rem .375rem 0; cursor: pointer; }
.gl-auth-alert { padding: .5rem .75rem; margin-bottom: 1rem; border-radius: .375rem; }
.gl-auth-alert-danger { color: #842029; background: #f8d7da; }
.gl-auth-alert-success { color: #0f5132; background: #d1e7dd; }
.gl-auth-loading-indicator { display:inline-block; width:1em; height:1em; border:.15em solid currentColor; border-inline-end-color:transparent; border-radius:50%; animation:gl-auth-spin .7s linear infinite; }
@keyframes gl-auth-spin { to { transform:rotate(360deg); } }
.gl-auth-check { display: flex; align-items: center; gap: .5rem; }
.gl-auth-check-input { width: 1rem; height: 1rem; }
.gl-auth-check-label { color: #6c757d; }
.gl-auth-link { color: var(--primary-color); font-weight: 600; text-decoration: underline; }
.gl-auth-small { font-size: .875rem; }
.gl-auth-footer-link { color: #fff; font-weight: 600; text-decoration: underline; }
.gl-auth-compact { padding-top: .5rem; padding-bottom: .5rem; }
.gl-mb-0 { margin-bottom: 0; }.gl-mb-2 { margin-bottom: .5rem; }.gl-mb-3 { margin-bottom: 1rem; }.gl-mt-3 { margin-top: 1rem; }
.gl-auth-bold { font-weight: 700; }
/* Public semantic layout and components. */
.gl-row{display:flex;flex-wrap:wrap;margin-inline:-.75rem}.gl-row>[class*="gl-col-"]{box-sizing:border-box;min-width:0;padding-inline:.75rem}.gl-col-6{width:50%}.gl-col-md-3,.gl-col-md-4,.gl-col-md-5,.gl-col-md-6{width:100%}@media(min-width:768px){.gl-col-md-3{width:25%}.gl-col-md-4{width:33.3333%}.gl-col-md-5{width:41.6667%}.gl-col-md-6{width:50%}}
.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-column{flex-direction:column}.gl-grid{display:grid}.gl-justify-center{justify-content:center}.gl-justify-end{justify-content:flex-end}.gl-align-center{align-items:center}.gl-gap-3{gap:1rem}.gl-gap-4{gap:1.5rem}.gl-gap-5{gap:3rem}.gl-text-center{text-align:center}.gl-text-start{text-align:start}.gl-text-end{text-align:end}.gl-text-white{color:#fff}.gl-text-muted{color:rgba(255,255,255,.7)}.gl-text-soft{color:rgba(255,255,255,.8)}.gl-text-dark{color:#212529}.gl-text-warning{color:#ffd968}.gl-text-primary{color:var(--primary-color)}.gl-fw-bold{font-weight:700}.gl-fw-semibold{font-weight:600}.gl-small{font-size:.875rem}.gl-lead{font-size:1.25rem;font-weight:300}.gl-display-3{font-size:4rem}.gl-display-5{font-size:3rem}.gl-fs-1{font-size:2.5rem}.gl-fs-6{font-size:1rem}.gl-mb-0{margin-bottom:0}.gl-mb-1{margin-bottom:.25rem}.gl-mb-2{margin-bottom:.5rem}.gl-mb-3{margin-bottom:1rem}.gl-mb-4{margin-bottom:1.5rem}.gl-mb-5{margin-bottom:3rem}.gl-mt-2{margin-top:.5rem}.gl-mt-3{margin-top:1rem}.gl-mt-4{margin-top:1.5rem}.gl-mt-md-0{margin-top:0}.gl-mt-auto{margin-top:auto}.gl-py-2{padding-block:.5rem}.gl-py-4{padding-block:1.5rem}.gl-py-5{padding-block:3rem}.gl-px-4{padding-inline:1.5rem}.gl-pb-4{padding-bottom:1.5rem}.gl-p-4{padding:1.5rem}.gl-w-100{width:100%}.gl-h-100{height:100%}.gl-mx-auto{margin-inline:auto}.gl-me-1{margin-inline-end:.25rem}.gl-me-2{margin-inline-end:.5rem}.gl-ms-2{margin-inline-start:.5rem}.gl-border-0{border:0}.gl-border-light{border-color:rgba(255,255,255,.6)}.gl-bg-dark{background:#111827}.gl-bg-dark-soft{background:rgba(17,24,39,.55)}.gl-bg-transparent{background:transparent}.gl-bg-warning{background:#ffd968}.gl-rounded{border-radius:.5rem}.gl-rounded-4{border-radius:1rem}.gl-rounded-pill{border-radius:999px}.gl-shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.gl-shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)}.gl-position-relative{position:relative}.gl-underline{text-decoration:underline}.gl-card{display:block;background:#fff;border-radius:1rem}.gl-badge{display:inline-block}.gl-btn-close{width:1.5rem;height:1.5rem;border:0;background:transparent;color:inherit;font-size:1.5rem;cursor:pointer}.gl-form-label{display:block;margin-bottom:.5rem;font-weight:600}.gl-form-input,.gl-form-select{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;min-height:44px;padding:.625rem .75rem;border:1px solid #ced4da;border-radius:.375rem;color:inherit;background:transparent}.gl-form-input:focus,.gl-form-select:focus{outline:0;box-shadow:0 0 0 .2rem rgba(136,82,201,.2)}.gl-alert{padding:.75rem 1rem;border-radius:.375rem;margin-top:1rem}.gl-alert-danger{color:#842029;background:#f8d7da}.gl-alert-success{color:#0f5132;background:#d1e7dd}.gl-modal{position:fixed;inset:0;z-index:1050;display:none;overflow:auto;background:rgba(0,0,0,.5)}.gl-modal.show{display:block}.gl-modal-dialog{position:relative;width:auto;margin:1.75rem auto;max-width:500px}.gl-modal-lg{max-width:800px}.gl-modal-content{position:relative;background:#fff;color:#212529;border-radius:.5rem}.gl-modal-header,.gl-modal-footer{display:flex;align-items:center;padding:1rem;border-bottom:1px solid #dee2e6}.gl-modal-footer{border-top:1px solid #dee2e6;border-bottom:0;justify-content:flex-end;gap:.5rem}.gl-modal-body{padding:1rem}.gl-modal-title{margin:0}.gl-fade{transition:opacity .15s linear}
.gl-img-fluid{max-width:100%;height:auto}.gl-form-input::placeholder{color:rgba(255,255,255,.65)}
.gl-modal-content{--gl-text-primary:var(--gl-surface-light-text-primary);--gl-text-secondary:var(--gl-surface-light-text-secondary);--gl-text-muted:var(--gl-surface-light-text-muted);--gl-text-disabled:var(--gl-surface-light-text-disabled);color:var(--gl-text-primary)}

/* LinkIt tactile cards and buttons — geometry inspired by the Celadon reference. */
:root {
  --linkit-tactile-ease: cubic-bezier(.19,.86,.22,1);
  --linkit-card-shadow: 0 22px 38px -22px rgba(31,41,55,.32), 0 8px 18px -12px rgba(31,41,55,.18), inset 2px 3px 4px rgba(255,255,255,.9), inset -3px -5px 9px rgba(31,41,55,.06);
  --linkit-card-shadow-hover: 0 30px 48px -24px rgba(31,41,55,.36), 0 12px 22px -14px rgba(31,41,55,.2), inset 2px 3px 4px rgba(255,255,255,.92), inset -3px -5px 9px rgba(31,41,55,.07);
}

.home-card {
  background-color: #fff;
  background-image: linear-gradient(155deg, #fff 0%, color-mix(in srgb, var(--primary-color) 4%, #fff) 48%, color-mix(in srgb, var(--primary-color) 11%, #fff) 100%);
  border-radius: 28px !important;
  box-shadow: var(--linkit-card-shadow) !important;
  transition: transform .28s var(--linkit-tactile-ease), box-shadow .28s var(--linkit-tactile-ease), border-color .28s ease;
}
.home-card:hover,
.home-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--linkit-card-shadow-hover) !important;
}

.discount-badge {
  border-radius: 999px;
  box-shadow: 0 8px 14px -9px rgba(31,41,55,.42), inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(31,41,55,.12);
}

@media (hover: none) {
  .home-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .home-card,
  .gl-auth-card,
  .home-final-cta { transition: none; }
}

/* Floating pill header matching the Celadon reference structure. */
body.gl-public-shell .gl-navbar.gl-navbar-sticky {
  box-sizing: border-box;
  position: relative;
  top: auto;
  z-index: 1020;
  width: min(1180px, calc(100% - 44px));
  margin: 16px auto 0;
  padding: 11px 11px 11px 22px;
  gap: 18px;
  border: 0;
  border-radius: 99px;
  background: linear-gradient(180deg, rgba(254,254,255,.94) 0%, color-mix(in srgb, var(--primary-color) 3%, #f4f7fd) 46%, color-mix(in srgb, var(--primary-color) 7%, #e8eef9) 46.01%, color-mix(in srgb, var(--primary-color) 11%, #dee7f6) 100%);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 18px -11px rgba(35,45,60,.6), 0 2px 4px -2px rgba(35,45,60,.16), inset 0 1px 0 0 #fff, inset 0 -1px 0 0 rgba(35,45,60,.12);
  transition: box-shadow .3s cubic-bezier(.19,.86,.22,1), transform .3s cubic-bezier(.19,.86,.22,1);
}
body.gl-public-shell .gl-navbar > .gl-container {
  box-sizing: border-box;
  width: 100%;
  padding: 0;
  gap: 18px;
}
/* Keep the Arabic menu grouped beside the brand instead of spreading it
   across the full navbar. The English layout keeps its existing spacing. */
html[dir="rtl"] body.gl-public-shell .gl-navbar > .gl-container {
  justify-content: space-between;
}
html[dir="rtl"] body.gl-public-shell .gl-desktop-nav {
  margin-inline-start: auto;
}
html[dir="rtl"] body.gl-public-shell .gl-nav-list {
  justify-content: flex-start;
}
body.gl-public-shell .gl-navbar-brand .gl-brand-mark-image { height: 30px !important; }
body.gl-public-shell .gl-nav-list { gap: 4px; }
body.gl-public-shell .gl-nav-link {
  padding: 9px 15px;
  border-radius: 999px;
  transition: color .2s ease, background-color .25s var(--linkit-tactile-ease), box-shadow .25s var(--linkit-tactile-ease);
}
body.gl-public-shell .gl-nav-link:hover,
body.gl-public-shell .gl-nav-link:focus-visible,
body.gl-public-shell .gl-nav-link.active {
  background: color-mix(in srgb, var(--primary-color) 10%, #fff);
  box-shadow: inset 3px 4px 9px -3px rgba(31,41,55,.2), inset -2px -3px 6px rgba(255,255,255,.9);
}
body.gl-public-shell .lang-switch {
  text-decoration:none;
  white-space:nowrap;
}
body.gl-public-shell .header-get-started { text-decoration:none; white-space:nowrap; }
body.gl-public-shell .header-mobile-login { display:none; }
body.gl-public-shell .header-login-icon,
body.gl-public-shell .header-icon-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0 !important;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(180deg, #fefeff 0%, #f5f8fd 46%, color-mix(in srgb, var(--primary-color) 5%, #e9effa) 46.01%, color-mix(in srgb, var(--primary-color) 8%, #dee7f6) 100%);
  color: #27354c;
  box-shadow: 0 10px 18px -11px rgba(35,45,60,.6), 0 2px 4px -2px rgba(35,45,60,.16), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(35,45,60,.12);
  font-size: 1rem;
  line-height: 1;
  transition: transform .3s cubic-bezier(.19,.86,.22,1), color .2s, background .25s, box-shadow .25s cubic-bezier(.19,.86,.22,1);
}
body.gl-public-shell .header-login-icon i,
body.gl-public-shell .header-icon-button i { margin: 0; }
body.gl-public-shell .header-sun-symbol { display:block; font-size:1.1rem; line-height:1; }
body.gl-public-shell .header-tag-emoji {
  display: block;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
  font-size: 1.05rem;
  line-height: 1;
  transform: rotate(-8deg);
}
body.gl-public-shell .header-login-icon:hover,
body.gl-public-shell .header-login-icon:focus-visible,
body.gl-public-shell .header-login-icon.active,
body.gl-public-shell .header-icon-button:hover,
body.gl-public-shell .header-icon-button:focus-visible,
body.gl-public-shell .header-icon-button.active {
  transform: translateY(-2px);
  color: var(--primary-color);
  background: linear-gradient(180deg, #fefeff 0%, #f5f8fd 46%, color-mix(in srgb, var(--primary-color) 8%, #e9effa) 46.01%, color-mix(in srgb, var(--primary-color) 12%, #dee7f6) 100%);
  box-shadow: 0 20px 30px -15px rgba(35,45,60,.6), 0 5px 9px -4px rgba(35,45,60,.2), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(35,45,60,.12);
}
body.gl-public-shell .header-theme-toggle { cursor: pointer; }

@media (max-width: 991.98px) {
  body.gl-public-shell .gl-navbar.gl-navbar-sticky {
    top: auto;
    width: min(1180px, calc(100% - 44px));
    margin-top: 16px;
    padding: 10px 10px 10px 20px;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: linear-gradient(160deg, #fafcff, color-mix(in srgb, var(--primary-color) 7%, #eaf0fa));
  }
  body.gl-public-shell .gl-navbar > .gl-container { padding: 0; gap: 18px; }
  body.gl-public-shell .gl-navbar-brand { min-width: 0; flex: 0 1 auto; }
  body.gl-public-shell .gl-mobile-only { min-width: 0; margin-inline-start: auto; gap: .35rem; }
  body.gl-public-shell .gl-mobile-only .header-login-icon,
  body.gl-public-shell .gl-mobile-only .header-icon-button { width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 0 !important; }
}
@media (max-width: 420px) {
  body.gl-public-shell .gl-navbar.gl-navbar-sticky { width: calc(100% - 24px); padding: 9px 9px 9px 16px; }
  body.gl-public-shell .gl-navbar > .gl-container { padding: 0; gap: .3rem; }
  body.gl-public-shell .gl-navbar-brand .gl-brand-mark-image { width: auto !important; max-width: 78px !important; height: 24px !important; }
  body.gl-public-shell .gl-mobile-only { gap: .25rem; }
  body.gl-public-shell .gl-mobile-only .header-login-icon,
  body.gl-public-shell .gl-mobile-only .header-icon-button { width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 0 !important; }
}

/* Centered hero with static, CSS-scaled public profile snapshots. */
.home-hero {
  min-height: 0;
  padding-block: 58px 82px !important;
  align-items: flex-start;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.home-hero .home-hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; }
.home-hero .home-hero-copy { width: min(100%, 760px); margin-inline: auto; }
.home-hero .home-hero-copy h1,
.home-hero .home-hero-copy p { margin-inline: auto; }
.home-hero .home-hero-actions { width:min(100%,860px); justify-content:center; align-items:center; margin-inline:auto; }
body.gl-public-shell .home-hero .home-hero-copy h1 { font-size: clamp(2.25rem, 4.2vw, 3.55rem); }
.home-hero-link-form { margin-top:0; }

.profile-fan {
  position: relative;
  width: min(100%, 1060px);
  height: 500px;
  margin: 42px auto 0;
  perspective: 1200px;
}
.profile-fan-card {
  --fan-card-x: var(--fan-x);
  position: absolute;
  top: 0;
  left: 50%;
  z-index: var(--fan-z);
  display: block;
  width: 250px;
  height: 449px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 24px;
  background: #fff;
  color: var(--gl-text-primary);
  text-decoration: none;
  box-shadow: 0 24px 40px -20px rgba(8,4,24,.7), inset 2px 2px 3px rgba(255,255,255,.9);
  transform: translate(calc(-50% + var(--fan-card-x)), var(--fan-y)) rotate(var(--fan-r)) scale(var(--fan-s));
  transform-origin: 50% 92%;
  transition: transform .25s cubic-bezier(.19,.86,.22,1);
}
.profile-fan-card img {
  display: block;
  width: 390px;
  height: 700px;
  border: 0;
  pointer-events: none;
  transform: scale(.641);
  transform-origin: top left;
  object-fit: cover;
  object-position: top;
  user-select: none;
  background: #fff;
}
html[dir="rtl"] body.gl-public-shell .profile-fan-card img { transform-origin: top right; }
html[dir="rtl"] body.gl-public-shell .profile-fan-card {
  --fan-card-x: calc(-1 * var(--fan-x));
}
html[dir="rtl"] body.gl-public-shell .profile-fan-card:focus-visible {
  transform: translate(calc(-50% + var(--fan-card-x)), calc(var(--fan-y) - 4px)) rotate(calc(-1 * var(--fan-r))) scale(calc(var(--fan-s) + .01));
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html[dir="rtl"] body.gl-public-shell .profile-fan-card:hover {
    transform: translate(calc(-50% + var(--fan-card-x)), calc(var(--fan-y) - 4px)) rotate(calc(-1 * var(--fan-r))) scale(calc(var(--fan-s) + .01));
  }
}
.profile-fan-card:focus-visible {
  z-index: 50;
  transform: translate(calc(-50% + var(--fan-card-x)), calc(var(--fan-y) - 4px)) rotate(var(--fan-r)) scale(calc(var(--fan-s) + .01));
  outline: none;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .profile-fan-card { will-change: transform; }
  .profile-fan-card:hover {
    z-index: 50;
    transform: translate(calc(-50% + var(--fan-card-x)), calc(var(--fan-y) - 4px)) rotate(var(--fan-r)) scale(calc(var(--fan-s) + .01));
  }
}

@media (max-width: 1199.98px) {
  .profile-fan-card--compact-hidden { display: none; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .home-hero { padding-block: 54px 68px !important; }
  body.gl-public-shell .home-hero .home-hero-copy h1 { font-size: clamp(2.55rem, 6.2vw, 3.25rem); }
  .home-hero .home-hero-copy { width: min(100%, 680px); }
  .profile-fan { width: min(100%, 760px); height: 390px; margin-top: 38px; }
  .profile-fan-card {
    --fan-card-x: var(--fan-tablet-x);
    width: 190px;
    height: 341px;
    border-radius: 20px;
  }
  html[dir="rtl"] body.gl-public-shell .profile-fan-card { --fan-card-x: calc(-1 * var(--fan-tablet-x)); }
  .profile-fan-card img { width: 154px; height: 276px; transform: scale(.641); }
}

@media (max-width: 767.98px) {
  .home-hero { min-height: 0; padding-block: 42px 60px !important; }
  body.gl-public-shell .home-hero .home-hero-copy h1 { font-size: clamp(2rem, 8.2vw, 2.4rem); line-height: 1.12; }
  .home-hero .home-hero-copy p { max-width: 370px; font-size: 1rem; line-height: 1.6; }
  .home-hero .home-hero-actions { flex-direction:column; gap:12px; }
  .home-hero-link-form .home-link-field,
  .home-hero-link-form .gl-btn { width:100%; }
  .profile-fan { width: 100%; height: 285px; margin-top: 30px; }
  .profile-fan-card {
    --fan-card-x: var(--fan-mobile-x);
    width: 146px;
    height: 262px;
    border-radius: 17px;
  }
  html[dir="rtl"] body.gl-public-shell .profile-fan-card { --fan-card-x: calc(-1 * var(--fan-mobile-x)); }
  .profile-fan-card img { width: 154px; height: 276px; transform: scale(.641); }
}
@media (prefers-reduced-motion: reduce) {
  .profile-fan-card { transition: none; }
  .profile-fan-card:focus-visible {
    transform: translate(calc(-50% + var(--fan-card-x)), var(--fan-y)) rotate(var(--fan-r)) scale(var(--fan-s));
  }
}

/* Bright rotating globe centered behind the live profile fan. */
.home-hero .hero-globe-bg { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.home-hero .hero-globe-bg::after {
  content:none;
}
.home-hero .hero-globe-bg::before {
  position:absolute;
  left:50%;
  top:50%;
  inset-inline-end:auto;
  width:clamp(660px,60vw,820px);
  height:auto;
  aspect-ratio:1;
  border-radius:50%;
  background-color:transparent;
  background-image:url("/assets/img/world.png");
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  background-blend-mode:normal;
  mix-blend-mode:multiply;
  opacity:.46;
  filter:hue-rotate(70deg) saturate(1.9) contrast(1.18) brightness(1.08) drop-shadow(0 0 20px color-mix(in srgb,var(--primary-color) 70%,transparent));
  animation:heroGlobeSpin 75s linear infinite;
  will-change:transform;
}
@keyframes heroGlobeSpin {
  from { transform:translate(-50%,-50%) rotate(0deg); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}
@media (max-width:767.98px) {
  .home-hero .hero-globe-bg::before { left:50%; top:50%; width:min(135vw,560px); opacity:.42; }
}
@media (prefers-reduced-motion:reduce) {
  .home-hero .hero-globe-bg::before { animation:none; }
}

/* Celadon-inspired one-page structure, using LinkIt's own color tokens. */
.home-section-heading { max-width: 760px; margin: 0 auto 46px; }
.home-section-heading h1,
.home-section-heading h2 { margin: 10px 0 12px; font-size: clamp(2.15rem, 4vw, 3.35rem); font-weight: 500; letter-spacing: -.035em; }
.home-section-heading p { margin: 0; }
.home-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--primary-color); font-size: .78rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.home-eyebrow::before { content:""; width: 20px; height: 3px; border-radius: 99px; background: var(--primary-color); }

.home-pricing-section,
.canonical-pricing {
  --home-ink:var(--gl-text-primary);
  --home-muted:var(--gl-text-muted);
  --pricing-plate:#f3f6fd;
  --pricing-plate-2:#eaf0fa;
  --pricing-sunk:color-mix(in srgb,var(--primary-color) 6%,#dce4f3);
  --pricing-well:inset 4px 5px 11px -3px rgba(35,45,60,.22),inset -2px -3px 6px rgba(255,255,255,.9);
  --pricing-clay:0 22px 38px -20px rgba(35,45,60,.36),0 8px 16px -10px rgba(35,45,60,.18),inset 2px 3px 4px rgba(255,255,255,.95),inset -3px -5px 9px rgba(35,45,60,.09);
  --pricing-gloss:linear-gradient(180deg,#fefeff 0%,#f5f8fd 46%,#e9effa 46.01%,#dee7f6 100%);
  --pricing-gloss-primary:linear-gradient(180deg,color-mix(in srgb,var(--primary-color) 35%,#fff) 0%,color-mix(in srgb,var(--primary-color) 62%,#fff) 46%,var(--primary-color) 46.01%,color-mix(in srgb,var(--primary-color) 88%,#111) 100%);
  --pricing-lip:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(35,45,60,.12);
  padding-block:clamp(76px,9vw,120px);
  background:var(--home-surface);
  color:var(--home-ink);
}
.canonical-pricing-heading { max-width:1200px; }
.canonical-pricing-heading,
.canonical-pricing-toggle,
.canonical-pricing-grid { width:min(100% - 2rem,1200px); margin-inline:auto; }
.canonical-pricing-heading h1,
.canonical-pricing-heading h2 { margin:10px 0 12px; font-size:clamp(2.15rem,4vw,3.35rem); font-weight:500; line-height:1.15; letter-spacing:-.035em; }
.upgrade-pricing { padding:clamp(24px,4vw,48px) clamp(18px,3vw,36px); background:transparent; }
.upgrade-pricing .canonical-pricing-toggle { margin-top:0; margin-bottom:26px; }
.pricing-page-shared { background:transparent; }
.pricing-context-public .canonical-pricing-grid { padding-top:42px; }
.home-pricing-section > .gl-container { width:min(100% - 2rem,1200px); }
.home-billing-toggle { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 26px; color: var(--home-muted); font-size: .9rem; }
.home-billing-toggle > b { padding: 6px 10px; border-radius: 999px; background: color-mix(in srgb, var(--primary-color) 13%, #fff); color: var(--primary-color); font-size: .72rem; }
.home-switch { position:relative; display:inline-flex; width:74px; height:38px; border-radius:99px; background:var(--pricing-sunk); box-shadow:var(--pricing-well); }
.home-switch input { position: absolute; opacity: 0; pointer-events: none; }
.home-switch > span { width:100%; border-radius:99px; cursor:pointer; }
.home-switch > span::after { content:""; position:absolute; top:5px; left:5px; width:28px; height:28px; border-radius:99px; background:var(--pricing-gloss); box-shadow:0 4px 7px -4px rgba(35,45,60,.7),var(--pricing-lip); transition:transform .34s cubic-bezier(.19,.86,.22,1),background .34s linear,box-shadow .34s; }
[dir="rtl"] .home-switch > span::after { left:auto; right:5px; }
.home-switch input:checked + span::after { transform:translateX(36px); background:var(--pricing-gloss-primary); }
[dir="rtl"] .home-switch input:checked + span::after { transform:translateX(-36px); }
.home-pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:26px; align-items:stretch; max-width:1200px; margin-inline:auto; }
.home-plan-card { box-sizing:border-box; position:relative; display:flex; flex-direction:column; width:100%; height:540px; min-width:0; padding:38px 34px; border-radius:30px; background:linear-gradient(160deg,#fafcff,var(--pricing-plate) 46%,var(--pricing-plate-2)); color:var(--home-ink); box-shadow:var(--pricing-clay); }
.home-plan-card.is-featured { background:linear-gradient(158deg,#fcfeff,color-mix(in srgb,var(--primary-color) 7%,#eff7f4) 50%,color-mix(in srgb,var(--primary-color) 12%,#e4f1ec)); box-shadow:0 34px 52px -24px color-mix(in srgb,var(--primary-color) 40%,transparent),0 12px 20px -12px rgba(35,45,60,.2),inset 2px 3px 5px rgba(255,255,255,.98),inset -4px -6px 12px color-mix(in srgb,var(--primary-color) 14%,transparent); transform:translateY(-14px); }
.home-plan-card h3.home-plan-name { margin:0; color:var(--home-muted); font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.home-plan-card.is-featured h3.home-plan-name { color:var(--primary-color); }
.home-plan-cost { display:flex; align-items:baseline; gap:7px; min-height:58px; margin-top:16px; }
.home-plan-cost strong { font-size:3rem; font-weight:300; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.home-plan-cost span,.home-plan-desc { color:var(--home-muted); font-size:.82rem; }
.home-plan-total,
.canonical-pricing .home-plan-total { align-self:flex-start; margin:12px 0 0; padding:7px 14px; border-radius:99px; background:var(--primary,#fed254); color:var(--gl-text-on-accent); box-shadow:0 8px 14px -10px rgba(35,45,60,.7),inset 0 1px 0 rgba(255,255,255,.55); font-size:.82rem; font-weight:650; }
.home-plan-desc { min-height:44px; margin:10px 0 0; }
.home-plan-cta { margin-top:22px; }
.home-plan-card ul { display:grid; gap:12px; margin:24px 0 0; padding:0; list-style:none; color:var(--home-muted); font-size:.93rem; }
.home-plan-card li { display:flex; align-items:flex-start; gap:11px; }
.home-plan-card li i { position:relative; display:block; flex:0 0 20px; width:20px; height:20px; margin-top:2px; border-radius:99px; background:linear-gradient(155deg,#a6e1cb,#7ccfb0); box-shadow:inset 0 -2px 3px rgba(20,80,62,.3),inset 0 2px 2px rgba(255,255,255,.6); color:transparent; font-size:0; }
.home-plan-card li i::before { content:none !important; }
.home-plan-card li i::after { content:""; position:absolute; left:6.5px; top:5px; width:5px; height:9px; border:solid #12433a; border-width:0 2px 2px 0; transform:rotate(42deg); }

.home-faq { padding-block:clamp(76px,9vw,120px) !important; background:var(--home-surface-soft); }
.home-faq-stack { display:grid; gap:14px; max-width:960px; margin:auto; }
.home-faq-item { border-radius:24px; background:linear-gradient(158deg,#fff,color-mix(in srgb,var(--primary-color) 5%,#edf2fa)); box-shadow:0 12px 22px -13px rgba(35,45,60,.34),inset 2px 2px 3px rgba(255,255,255,.92),inset -2px -3px 6px rgba(35,45,60,.1); overflow:hidden; }
.home-faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:62px; padding:14px 22px; cursor:pointer; list-style:none; color:var(--home-ink); font-size:1.05rem; font-weight:600; }
.home-faq-item summary::-webkit-details-marker { display:none; }
.home-faq-item summary i { position:relative; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:color-mix(in srgb,var(--primary-color) 10%,#fff); box-shadow:inset 0 2px 5px rgba(35,45,60,.16); }
.home-faq-item summary i::before,.home-faq-item summary i::after { content:""; position:absolute; top:50%; left:50%; width:14px; height:2px; border-radius:2px; background:var(--primary-color); transform:translate(-50%,-50%); }
.home-faq-item summary i::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform .42s cubic-bezier(.19,.86,.22,1); }
.home-faq-item[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.home-faq-item > div { padding:0; overflow:hidden; transform-origin:top; }
.home-faq-item p { box-sizing:border-box; margin:0; max-width:812px; padding:0 26px 24px; color:var(--home-muted); }

@media(max-width:1100px){.home-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-plan-card.is-featured{transform:none}}
@media(max-width:720px){.home-pricing-grid{grid-template-columns:1fr}.home-section-heading{margin-bottom:32px}.home-billing-toggle{flex-wrap:wrap}.home-faq-item summary{min-height:58px;padding:12px 16px}.home-faq-item summary i{flex-basis:30px;width:30px;height:30px}.home-faq-item>div{padding:0}.home-faq-item p{padding:0 16px 18px}}
.gl-my-5{margin-block:3rem}.gl-me-3{margin-inline-end:1rem}.gl-ms-auto{margin-inline-start:auto}.gl-bg-white{background:#fff}.gl-bg-light{background:#f8f9fa}.gl-bg-primary{background:var(--primary-color)}.gl-text-success{color:#198754}.gl-fs-5{font-size:1.25rem}.gl-p-3{padding:1rem}.gl-rounded-3{border-radius:.75rem}.gl-alert-info{color:#055160;background:#cff4fc}.gl-table-responsive{overflow-x:auto}.gl-table{width:100%;border-collapse:collapse}.gl-table th,.gl-table td{padding:.75rem;border-bottom:1px solid #dee2e6;text-align:start}.gl-table-bordered th,.gl-table-bordered td{border:1px solid #dee2e6}.gl-table-light{background:#f8f9fa}.gl-align-middle th,.gl-align-middle td{vertical-align:middle}
.gl-dashboard-page{min-height:100vh;background:#f8f9fa}.gl-min-vh-100{min-height:100vh}.gl-justify-between{justify-content:space-between}.gl-mb-0{margin-bottom:0}.gl-fs-3{font-size:1.75rem}.gl-lh-1{line-height:1}.gl-p-3{padding:1rem}.gl-border-top{border-top:1px solid #dee2e6}.gl-w-100{width:100%}
.gl-mb-2{margin-bottom:.5rem}
.gl-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-btn-group{display:inline-flex;gap:.35rem}

/* Match the light public-page canvas to the footer surface. */
html:not([data-public-theme="dark"]) body.gl-public-shell { background:var(--gl-surface-bg); }
body.gl-public-shell .gl-footer,
body.gl-public-shell .main-footer { background:var(--gl-surface-bg); }
html:not([data-public-theme="dark"]) body.gl-public-shell .home-page { background:var(--gl-surface-bg); }
html:not([data-public-theme="dark"]) body.gl-public-shell .home-page section:not(.home-hero):not(.home-final-cta) { background:transparent; }

/* Keep every main homepage section title on one line; scale type instead of wrapping. */
.home-features-heading,
.home-how .home-section-heading,
.home-pricing-section .home-section-heading,
.home-faq .home-section-heading { max-width:1200px; }
.home-intro h2,
.home-features-heading h2,
.home-how .home-section-heading h2,
.home-pricing-section .home-section-heading h2,
.home-faq .home-section-heading h2,
.home-final-cta h2 {
  max-width:none;
  white-space:nowrap;
  font-size:clamp(.9rem,4vw,3.35rem) !important;
  font-weight:300;
  line-height:1.08;
  letter-spacing:-.035em;
}
@media (max-width:420px) {
  .home-intro h2,
  .home-features-heading h2,
  .home-how .home-section-heading h2,
  .home-pricing-section .home-section-heading h2,
  .home-faq .home-section-heading h2,
  .home-final-cta h2 { font-size:3.5vw !important; }
}

/* ============================================================
   Celadon system for the remaining public pages
   ============================================================ */
body.gl-public-shell {
  --cel-canvas:#f7f7fc;
  --cel-plate:#f3f6fd;
  --cel-plate-2:#eaf0fa;
  --cel-sunk:color-mix(in srgb,var(--primary-color) 6%,#dce4f3);
  --cel-ink:#172033;
  --cel-muted:#67758b;
  --cel-ease:cubic-bezier(.19,.86,.22,1);
  --cel-clay:0 22px 38px -20px rgba(35,45,60,.36),0 8px 16px -10px rgba(35,45,60,.18),inset 2px 3px 4px rgba(255,255,255,.95),inset -3px -5px 9px rgba(35,45,60,.09);
  --cel-clay-sm:0 12px 22px -13px rgba(35,45,60,.34),inset 2px 2px 3px rgba(255,255,255,.92),inset -2px -3px 6px rgba(35,45,60,.10);
  --cel-well:inset 4px 5px 11px -3px rgba(35,45,60,.22),inset -2px -3px 6px rgba(255,255,255,.9);
  --cel-gloss:linear-gradient(180deg,#fefeff 0%,#f5f8fd 46%,#e9effa 46.01%,#dee7f6 100%);
}

/* Authentication: both legacy class families share one visual language. */
body.gl-public-shell .gl-auth-shell,
body.gl-public-shell .auth-page {
  box-sizing:border-box;
  width:min(calc(100% - 32px),560px);
  max-width:560px !important;
  margin:0 auto;
  padding:clamp(54px,7vw,88px) 0 clamp(72px,9vw,118px);
  color:var(--cel-ink);
}
body.gl-public-shell .auth-page { margin-inline:auto; }
body.gl-public-shell .gl-auth-heading,
body.gl-public-shell .auth-header { margin:0 0 28px; text-align:center; }
body.gl-public-shell .login-card-heading { margin-bottom:30px; }
body.gl-public-shell .gl-auth-heading::before,
body.gl-public-shell .auth-header::before {
  content:"—  WELCOME";
  display:block;
  margin-bottom:13px;
  color:var(--primary-color);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
[dir="rtl"] body.gl-public-shell .gl-auth-heading::before,
[dir="rtl"] body.gl-public-shell .auth-header::before { content:"مرحباً  —"; }
body.gl-public-shell .gl-auth-heading h3,
body.gl-public-shell h4.gl-auth-heading,
body.gl-public-shell .auth-title {
  margin:0;
  color:var(--cel-ink) !important;
  font-size:clamp(2rem,5vw,3rem);
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.035em;
}
body.gl-public-shell h4.gl-auth-heading { font-size:clamp(1.75rem,4vw,2.35rem); }
body.gl-public-shell .gl-auth-heading p,
body.gl-public-shell .auth-subtitle { margin:12px 0 0; color:var(--cel-muted) !important; line-height:1.6; }
body.gl-public-shell .gl-auth-card,
body.gl-public-shell .auth-card,
body.gl-public-shell .verify-card {
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  padding:34px;
  color:var(--cel-ink);
  backdrop-filter:none;
}
body.gl-public-shell .gl-auth-label,
body.gl-public-shell .auth-group label { margin:0 0 9px; color:var(--cel-ink); font-size:.86rem; font-weight:650; }
body.gl-public-shell .gl-auth-input,
body.gl-public-shell .auth-input {
  box-sizing:border-box;
  width:100%;
  min-height:54px;
  height:54px;
  padding:0 18px;
  border:0 !important;
  border-radius:16px !important;
  outline:0;
  background:var(--cel-sunk) !important;
  color:var(--cel-ink) !important;
  box-shadow:var(--cel-well) !important;
  transition:box-shadow .28s var(--cel-ease),transform .28s var(--cel-ease);
}
body.gl-public-shell .gl-auth-input:focus,
body.gl-public-shell .auth-input:focus { box-shadow:var(--cel-well),0 0 0 3px color-mix(in srgb,var(--primary-color) 48%,transparent) !important; transform:translateY(-1px); }
body.gl-public-shell .gl-auth-input::placeholder,
body.gl-public-shell .auth-input::placeholder { color:#738198 !important; opacity:1; }
body.gl-public-shell .password-toggle { color:var(--cel-muted); }
body.gl-public-shell .gl-auth-check { display:flex; align-items:center; gap:10px; color:var(--cel-muted); }
body.gl-public-shell .gl-auth-check-input { width:18px; height:18px; accent-color:var(--primary-color); }
body.gl-public-shell .auth-quick-divider {
  display:flex;
  align-items:center;
  gap:12px;
  margin:25px 0 18px;
  color:#8390a5;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.gl-public-shell .auth-quick-divider::before,
body.gl-public-shell .auth-quick-divider::after {
  content:"";
  flex:1 1 auto;
  height:1px;
  background:color-mix(in srgb,var(--cel-muted) 24%,transparent);
}
body.gl-public-shell .google-connect-button i { color:#4285f4; font-size:1.05rem; }
body.gl-public-shell .gl-auth-link,
body.gl-public-shell .gl-auth-footer-link,
body.gl-public-shell .auth-footer a,
body.gl-public-shell .terms-text a { color:var(--primary-color); text-decoration:none; font-weight:700; }
body.gl-public-shell .auth-footer span,
body.gl-public-shell .verify-hint,
body.gl-public-shell .terms-text { color:var(--cel-muted); }
body.gl-public-shell .gl-auth-alert,
body.gl-public-shell .auth-alert { border:0; box-shadow:var(--cel-clay-sm); }
body.gl-public-shell .verify-page { box-sizing:border-box; min-height:auto; width:min(calc(100% - 32px),560px); margin:0 auto; padding:clamp(54px,7vw,88px) 0 clamp(72px,9vw,118px); }
body.gl-public-shell .verify-icon { margin-inline:auto; background:var(--cel-sunk); color:var(--primary-color); box-shadow:var(--cel-well); }
body.gl-public-shell .verify-title { color:var(--cel-ink); }
body.gl-public-shell .verify-text { color:var(--cel-muted); }

body.gl-public-shell .pricing-page { background:transparent; color:var(--cel-ink); }

/* Contact and legal pages use the same plate, wells and typography. */
body.gl-public-shell .contact-page { padding:clamp(70px,8vw,110px) 0 clamp(80px,9vw,120px) !important; background:var(--cel-canvas); }
body.gl-public-shell .contact-page > .gl-container > .gl-row { align-items:start; gap:clamp(38px,7vw,90px); }
body.gl-public-shell .contact-page h1 { margin-top:28px; font-size:clamp(2.35rem,5vw,3.6rem); font-weight:500; letter-spacing:-.045em; }
body.gl-public-shell .contact-page h1::before { content:"—  SUPPORT"; display:block; margin-bottom:14px; color:var(--primary-color); font-size:.72rem; font-weight:700; letter-spacing:.16em; }
body.gl-public-shell .contact-page .support-card { padding:38px; }
body.gl-public-shell .contact-page .gl-form-input,
body.gl-public-shell .contact-page .gl-form-select { min-height:52px; padding:13px 16px; border:0; border-radius:15px; background:var(--cel-sunk) !important; color:var(--cel-ink) !important; box-shadow:var(--cel-well); }
body.gl-public-shell .contact-page textarea.gl-form-input { min-height:124px; resize:vertical; }
body.gl-public-shell .legal-page { box-sizing:border-box; width:min(calc(100% - 32px),1040px); margin:clamp(54px,7vw,84px) auto clamp(76px,9vw,120px); padding:clamp(34px,5vw,64px); color:var(--cel-muted); line-height:1.75; }
body.gl-public-shell .legal-page h1 { margin:0 0 38px; color:var(--cel-ink); font-size:clamp(2.15rem,5vw,3.4rem); font-weight:500; letter-spacing:-.04em; }
body.gl-public-shell .legal-page h1::before { content:"—  LEGAL"; display:block; margin-bottom:14px; color:var(--primary-color); font-size:.72rem; font-weight:700; letter-spacing:.16em; }
body.gl-public-shell .legal-page h2,
body.gl-public-shell .legal-page h3,
body.gl-public-shell .legal-page h4,
body.gl-public-shell .legal-page h5 { color:var(--cel-ink); }
body.gl-public-shell .legal-page a { color:var(--primary-color); font-weight:650; }

@media(max-width:767.98px){
  body.gl-public-shell .gl-auth-card,
  body.gl-public-shell .auth-card,
  body.gl-public-shell .verify-card { padding:26px 22px; }
  body.gl-public-shell .contact-page h1 { margin-top:0; }
  body.gl-public-shell .contact-page .support-card { padding:28px 22px; }
}
@media(max-width:575.98px){
  body.gl-public-shell .legal-page { padding:30px 22px; }
}

/* ============================================================
   Canonical semantic text tokens
   ============================================================ */
:root {
  --gl-text-primary:var(--linkit-text-primary, #172033);
  --gl-text-secondary:var(--linkit-text-secondary, #334155);
  --gl-text-muted:var(--linkit-text-muted, #64748b);
  --gl-text-disabled:var(--linkit-text-disabled, #94a3b8);
  --gl-text-inverse:var(--linkit-text-inverse, #fff);
  --gl-text-on-accent:var(--linkit-text-on-accent, #172033);
  --gl-control-bg:var(--linkit-control-bg, #fff);
  --gl-control-placeholder:var(--linkit-control-placeholder, #738198);
  --gl-status-success:#15803d;
  --gl-status-danger:#b91c1c;
  --gl-status-warning:#a16207;
  --gl-status-info:#1d4ed8;
}

body.gl-public-shell { color:var(--gl-text-primary); }
body.gl-public-shell :where(input, textarea, select) { color:var(--gl-text-primary); }
body.gl-public-shell :where(input, textarea)::placeholder { color:var(--gl-control-placeholder); }
body.gl-public-shell .gl-text-muted { color:var(--gl-text-muted); }
body.gl-public-shell .gl-text-dark { color:var(--gl-text-primary); }
body.gl-public-shell .gl-auth-muted,
body.gl-public-shell .auth-subtitle,
body.gl-public-shell .gl-auth-check,
body.gl-public-shell .terms-text { color:var(--gl-text-muted); }
body.gl-public-shell .gl-auth-heading h3,
body.gl-public-shell .auth-title,
body.gl-public-shell .gl-auth-label,
body.gl-public-shell .auth-group label { color:var(--gl-text-primary); }
body.gl-public-shell .gl-auth-input,
body.gl-public-shell .auth-input { background:var(--gl-control-bg); color:var(--gl-text-primary); }
body.gl-public-shell .gl-auth-input::placeholder,
body.gl-public-shell .auth-input::placeholder { color:var(--gl-control-placeholder); }

/* ============================================================
   Public dark theme — explicit visitor choice from the header.
   ============================================================ */
html[data-public-theme="dark"] { color-scheme: dark; }

html[data-public-theme="dark"] body.gl-public-shell {
  --public-dark-inset:#24063d;
  --public-dark-ink:#fbf7ff;
  --public-dark-muted:#cabbd8;
  --gl-text-primary:var(--public-dark-ink);
  --gl-text-secondary:#e2d8ec;
  --gl-text-muted:var(--public-dark-muted);
  --gl-text-disabled:#aa99bb;
  --gl-text-inverse:#fff;
  --gl-control-bg:var(--public-dark-inset);
  --gl-control-placeholder:#aa99bb;
  --gl-status-success:#86efac;
  --gl-status-danger:#fca5a5;
  --gl-status-warning:#fde68a;
  --gl-status-info:#93c5fd;
  --linkit-text-primary:var(--public-dark-ink);
  --linkit-text-secondary:#e2d8ec;
  --linkit-text-muted:var(--public-dark-muted);
  --linkit-text-disabled:#aa99bb;
  --linkit-text-inverse:#fff;
  --linkit-text-on-accent:#172033;
  --linkit-control-bg:var(--public-dark-inset);
  --linkit-control-placeholder:#aa99bb;
  --home-ink:var(--public-dark-ink);
  --home-muted:var(--public-dark-muted);
  --home-surface:var(--gl-canvas-bg);
  --home-surface-soft:var(--gl-canvas-bg);
  --home-border:rgba(255,255,255,.12);
  --cel-canvas:var(--gl-canvas-bg);
  --cel-plate:var(--gl-surface-bg);
  --cel-plate-2:var(--gl-surface-bg);
  --cel-sunk:var(--public-dark-inset);
  --cel-ink:var(--public-dark-ink);
  --cel-muted:var(--public-dark-muted);
  --cel-clay:0 24px 42px -22px rgba(4,0,10,.82),0 9px 18px -11px rgba(4,0,10,.62),inset 1px 1px 0 rgba(255,255,255,.11),inset -2px -3px 7px rgba(0,0,0,.28);
  --cel-clay-sm:0 14px 26px -15px rgba(4,0,10,.8),inset 1px 1px 0 rgba(255,255,255,.09),inset -2px -3px 6px rgba(0,0,0,.25);
  --cel-well:inset 4px 5px 11px -3px rgba(3,0,8,.7),inset -1px -2px 5px rgba(255,255,255,.08);
  background:var(--gl-canvas-bg);
  color:var(--gl-text-primary);
}

html[data-public-theme="dark"] body.gl-public-shell .gl-navbar.gl-navbar-sticky {
  background:var(--gl-surface-bg);
  box-shadow:var(--gl-surface-shadow);
  color:var(--gl-text-primary);
}

html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .gl-nav-link {
  color:var(--gl-text-secondary);
}

html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .gl-nav-link:hover,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .gl-nav-link:focus-visible,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .gl-nav-link.active {
  background:color-mix(in srgb,var(--primary-color) 18%,var(--gl-control-bg));
  color:var(--gl-text-primary);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gl-text-primary) 16%,transparent);
}

html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-login-icon,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-icon-button {
  background:var(--gl-control-bg);
  color:var(--gl-text-primary);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gl-text-primary) 16%,transparent);
}

html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-login-icon:hover,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-login-icon:focus-visible,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-login-icon.active,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-icon-button:hover,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-icon-button:focus-visible,
html[data-public-theme="dark"] body.gl-public-shell .gl-navbar .header-icon-button.active {
  background:color-mix(in srgb,var(--primary-color) 18%,var(--gl-control-bg));
  color:var(--gl-text-primary);
  box-shadow:0 12px 22px -14px color-mix(in srgb,var(--gl-text-primary) 42%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--gl-text-primary) 18%,transparent);
}

html[data-public-theme="dark"] body.gl-public-shell .home-hero {
  background:transparent;
}

html[data-public-theme="dark"] body.gl-public-shell .home-link-field {
  box-shadow:inset 4px 5px 11px -3px rgba(35,45,60,.22),inset -2px -3px 6px rgb(90 23 146);
}

html[data-public-theme="dark"] body.gl-public-shell .home-link-field:focus-within {
  box-shadow:inset 4px 5px 11px -3px rgba(35,45,60,.22),inset -2px -3px 6px rgb(90 23 146),0 0 0 3px color-mix(in srgb,var(--primary-color) 48%,transparent);
}

html[data-public-theme="dark"] body.gl-public-shell .home-page,
html[data-public-theme="dark"] body.gl-public-shell .home-page > section:not(.home-final-cta) {
  background:transparent;
}

html[data-public-theme="dark"] body.gl-public-shell .home-process-disc {
  color:#172033;
}

html[data-public-theme="dark"] body.gl-public-shell .popup-header,
html[data-public-theme="dark"] body.gl-public-shell .close-popup {
  color:var(--gl-text-primary);
}

html[data-public-theme="dark"] body.gl-public-shell .popup-heading small {
  color:var(--gl-text-muted);
}

html[data-public-theme="dark"] :is(.home-plan-card, .home-faq-item, .home-final-cta) {
  --home-ink:var(--gl-text-primary);
  --home-muted:var(--gl-text-muted);
  background:var(--gl-surface-bg);
  color:var(--gl-text-primary);
  box-shadow:var(--gl-surface-shadow);
}
