html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.home-promo-section { background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%); }
.home-promo-banner { border:1px solid #dfccf6; border-radius:22px; background:#24142f; box-shadow:0 20px 48px rgba(59,31,82,.16); }
.home-promo-shade { background:linear-gradient(90deg,rgba(18,8,25,.82) 0%,rgba(32,12,47,.68) 30%,rgba(48,20,64,.22) 54%,transparent 72%); }
.home-promo-kicker { display:inline-flex; width:fit-content; align-items:center; gap:7px; margin-bottom:8px; padding:6px 10px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#ead7ff; background:rgba(138,51,253,.28); backdrop-filter:blur(8px); font-size:9px; font-weight:850; letter-spacing:1.25px; text-transform:uppercase; }
.home-promo-title { max-width:560px; margin:0; color:#fff; font-size:clamp(22px,calc(3vw - 2px),37px); font-weight:900; letter-spacing:-.8px; line-height:1.08; text-shadow:0 3px 16px rgba(0,0,0,.28); }
.home-promo-subtitle { max-width:540px; margin:9px 0 0; color:rgba(255,255,255,.85); font-size:clamp(12px,1.3vw,16px); font-weight:550; line-height:1.5; }
.home-promo-cta { display:inline-flex; width:fit-content; align-items:center; gap:9px; margin-top:16px; padding:10px 16px; border-radius:999px; color:#7024d5; background:#fff; box-shadow:0 9px 22px rgba(0,0,0,.16); font-size:12px; font-weight:850; transition:transform .2s ease,box-shadow .2s ease; }
.home-promo-banner:hover .home-promo-cta { transform:translateY(-2px); box-shadow:0 13px 27px rgba(0,0,0,.22); }
@media(max-width:639px){.home-promo-banner{border-radius:16px}.home-promo-copy{max-width:72%!important}.home-promo-kicker{display:none}.home-promo-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-promo-cta{margin-top:11px;padding:8px 12px;font-size:10px}}
/* Shared storefront product card — used by home, listing and new-arrival grids. */
.product-ui-card { display: block; padding-bottom: 2px; }
.product-card-info { position: relative; min-height: 112px; margin-top: -1px; padding: 17px 15px 15px; border: 1px solid #e3d3f4; border-top: 2px solid #d3aff8; border-radius: 0 0 14px 14px; background: linear-gradient(145deg,#ffffff 0%,#f7efff 100%); box-shadow: 0 10px 24px rgba(55,35,75,.09); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.product-card-info::before { content:""; position:absolute; top:-2px; left:15px; width:44px; height:2px; border-radius:999px; background:#8a33fd; }
.product-ui-card:hover .product-card-info { border-color: #ddc8f8; box-shadow: 0 14px 30px rgba(115,56,176,.12); transform: translateY(-2px); }
.product-card-brand { margin: 0 0 5px; padding-right: 35px; color: #8a33fd; font-size: 10px; font-weight: 800; letter-spacing: 1.15px; line-height: 1.2; text-transform: uppercase; }
.product-card-name { overflow: hidden; min-height: 39px; margin: 0; padding-right: 28px; color: #332d39; display: -webkit-box; font-size: 15px; font-weight: 750; letter-spacing: -.15px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-card-price-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.product-card-price { color: #332d39; font-size: 16px; font-weight: 850; letter-spacing: -.35px; line-height: 1; }
.product-card-mrp { color: #9c96a0; font-size: 11px; font-weight: 600; text-decoration: line-through; }
.product-card-saving { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; border-radius: 6px; color: #16834c; background: #eaf9f0; font-size: 9px; font-weight: 850; letter-spacing: .35px; }
.product-card-arrow { position: absolute; right: 14px; top: 15px; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #8a33fd; background: #f1e7ff; font-size: 10px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.product-ui-card:hover .product-card-arrow { color: #fff; background: #8a33fd; transform: translateX(2px); }
.product-discount-badge { position: absolute; z-index: 2; top: 13px; left: 13px; display: inline-flex; align-items: center; gap: 4px; padding: 6px 9px; border: 2px solid rgba(255,255,255,.85); border-radius: 999px; color: #fff; background: linear-gradient(135deg,#ec4899,#8a33fd); box-shadow: 0 6px 16px rgba(138,51,253,.28); font-size: 10px; font-weight: 900; letter-spacing: .45px; }
.product-ui-card > .relative { margin-bottom: 0 !important; border-radius: 14px 14px 0 0 !important; }

@media (max-width: 639px) {
    .product-card-info { min-height: 106px; padding: 13px 12px; }
    .product-card-brand { padding-right: 26px; }
    .product-card-name { min-height: 35px; padding-right: 22px; font-size: 13px; }
    .product-card-price { font-size: 14px; }
    .product-card-mrp { font-size: 10px; }
    .product-card-saving { min-height: 20px; padding-inline: 6px; font-size: 8px; }
    .product-card-arrow { right: 10px; top: 12px; width: 25px; height: 25px; }
    .product-discount-badge { top: 9px; left: 9px; padding: 5px 7px; font-size: 9px; }
}

/* Shared product showcase heading and Top Selling presentation. */
.home-merch-section { position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#fbf7ff 55%,#fff 100%); }
.home-merch-section::before { content:""; position:absolute; top:-180px; right:-120px; width:390px; height:390px; border-radius:50%; background:radial-gradient(circle,rgba(138,51,253,.09),rgba(138,51,253,0) 70%); pointer-events:none; }
.home-merch-section > div { position:relative; z-index:1; }
.home-merch-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.home-merch-heading { display:flex; align-items:center; gap:16px; }
.home-merch-icon { display:grid; width:49px; height:49px; flex:0 0 49px; place-items:center; border-radius:15px; color:#fff; background:linear-gradient(145deg,#a855f7,#7c3aed 60%,#5b21b6); box-shadow:0 10px 23px rgba(138,51,253,.24); font-size:17px; transform:rotate(-3deg); }
.home-merch-icon i { transform:rotate(3deg); }
.home-merch-kicker { margin:0 0 3px; color:#8a33fd; font-size:10px; font-weight:850; letter-spacing:1.9px; line-height:1.2; text-transform:uppercase; }
.home-merch-title { margin:0; color:#332d39; font-size:clamp(24.5px,calc(3vw - 3.5px),34.5px); font-weight:850; letter-spacing:-.9px; line-height:1.08; }
.home-merch-copy { max-width:690px; margin:7px 0 0; color:#746d78; font-size:13px; font-weight:500; line-height:1.5; }
.home-merch-see-all { display:inline-flex; align-items:center; gap:9px; flex:0 0 auto; padding:10px 15px; border:1px solid #dec8fa; border-radius:999px; color:#7c2ee8; background:#fff; box-shadow:0 7px 18px rgba(83,45,119,.07); font-size:12px; font-weight:800; white-space:nowrap; transition:color .2s ease,background .2s ease,transform .2s ease; }
.home-merch-see-all:hover { color:#fff; background:#8a33fd; transform:translateY(-2px); }
.top-selling-showcase .product-ui-card { border-radius:15px; box-shadow:0 13px 30px rgba(70,43,91,.08); }
@media (max-width:639px) {
    .home-merch-header { align-items:flex-start; gap:12px; }
    .home-merch-icon { width:43px; height:43px; flex-basis:43px; border-radius:13px; }
    .home-merch-copy { display:none; }
    .home-merch-see-all { padding:9px 11px; font-size:10px; }
}
/* Account center + cart: shared CodeTrex visual system. Scoped to preserve page behavior. */
.customer-shell,
.cart-page-shell {
    --ct-purple: #8a33fd;
    --ct-purple-dark: #6f22df;
    --ct-ink: #262233;
    --ct-muted: #746f7d;
    --ct-line: #eadff8;
    --ct-surface: #ffffff;
    --ct-tint: #faf7ff;
}

.customer-shell {
    position: relative;
    max-width: 1660px !important;
    padding-top: 52px !important;
    padding-bottom: 72px !important;
}

.customer-shell::before {
    content: "";
    position: fixed;
    inset: 285px 0 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 15%, rgba(138,51,253,.08), transparent 25%),
        radial-gradient(circle at 92% 35%, rgba(199,91,255,.07), transparent 24%),
        linear-gradient(180deg, #fff 0, #fdfbff 58%, #fff 100%);
}

.customer-shell > .flex > :has(.customer-menu) {
    border: 1px solid var(--ct-line) !important;
    border-radius: 24px !important;
    padding: 24px 16px !important;
    box-shadow: 0 16px 50px rgba(69, 37, 104, .08) !important;
    background: rgba(255,255,255,.96) !important;
}

.customer-menu > div:first-child > div:first-child {
    width: 48px !important;
    height: 48px !important;
    margin-top: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #a94cff, #7025e8) !important;
    box-shadow: 0 10px 25px rgba(138,51,253,.24);
}

.customer-menu > div:first-child > div:first-child::after {
    content: "\f007";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #fff;
    font-size: 17px;
    margin: auto;
}

.customer-menu > div:first-child {
    align-items: center !important;
    margin-bottom: 8px !important;
}

.customer-menu > div:first-child h2 {
    color: var(--ct-ink) !important;
    font-size: clamp(22px, 1.6vw, 27px) !important;
}

.customer-menu > p:first-of-type {
    margin: 0 8px 26px 63px !important;
    color: var(--ct-muted) !important;
    line-height: 1.5 !important;
}

.customer-menu nav { gap: 8px !important; }
.customer-menu nav > a,
.customer-menu nav > form > button {
    min-height: 52px;
    border-radius: 14px !important;
    border: 1px solid transparent;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.customer-menu nav > a:hover,
.customer-menu nav > form > button:hover {
    transform: translateX(3px);
    background: #faf6ff !important;
    border-color: #eadbff;
}
.customer-menu nav > a.bg-\[\#f6f6f6\] {
    color: var(--ct-purple) !important;
    background: linear-gradient(90deg, #f1e7ff, #fbf8ff) !important;
    border-color: #e1cbff;
    box-shadow: 0 7px 20px rgba(138,51,253,.10);
}
.customer-menu nav > a.bg-\[\#f6f6f6\] i,
.customer-menu nav > a.bg-\[\#f6f6f6\] span { color: var(--ct-purple) !important; }
.customer-menu nav span { font-size: 16px !important; }

.customer-shell h1,
.customer-shell h2 { color: var(--ct-ink) !important; }
.customer-shell section > h1,
.customer-shell > .flex > div:last-child > div > h1 {
    font-size: clamp(28px, 2.2vw, 38px) !important;
    letter-spacing: -.6px !important;
}
.customer-shell section > h1::after,
.customer-shell > .flex > div:last-child > div > h1::after {
    content: "";
    display: block;
    width: 52px;
    height: 4px;
    border-radius: 999px;
    margin-top: 12px;
    background: linear-gradient(90deg, var(--ct-purple), #cf55ff);
}

.customer-shell section > div.bg-\[\#f1f4fe\] {
    position: relative;
    overflow: hidden;
    color: #fff;
    border: 0 !important;
    background: linear-gradient(125deg, #312043 0%, #542385 48%, #8a33fd 100%) !important;
    box-shadow: 0 18px 42px rgba(83,36,132,.20);
}
.customer-shell section > div.bg-\[\#f1f4fe\]::after {
    content: "";
    position: absolute;
    width: 220px; height: 220px; right: -55px; top: -85px;
    border: 38px solid rgba(255,255,255,.09); border-radius: 50%;
}
.customer-shell section > div.bg-\[\#f1f4fe\] p,
.customer-shell section > div.bg-\[\#f1f4fe\] a { color: #fff !important; }

.customer-shell .grid > a.rounded-xl,
.customer-shell article,
.customer-shell #wishlistItemsContainer,
.customer-shell #wishlistEmpty,
.customer-shell .bg-white.rounded-2xl {
    border-color: var(--ct-line) !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 35px rgba(55,31,83,.07) !important;
}
.customer-shell .grid > a.rounded-xl {
    position: relative;
    overflow: hidden;
    padding: 20px !important;
    background: linear-gradient(150deg, #fff, #fcf9ff) !important;
}
.customer-shell .grid > a.rounded-xl::before {
    content: "";
    position: absolute; inset: 0 auto 0 0; width: 4px;
    background: linear-gradient(#8a33fd, #d454ff);
}
.customer-shell .grid > a.rounded-xl:hover {
    transform: translateY(-4px);
    border-color: #cfb2f7 !important;
    box-shadow: 0 18px 38px rgba(91,43,139,.13) !important;
}

.customer-shell button.bg-\[\#8a33fd\],
.customer-shell a.bg-\[\#8a33fd\],
.customer-shell button[type="submit"].bg-\[\#8a33fd\] {
    border-radius: 12px !important;
    background: linear-gradient(135deg, #9638ff, #7425e8) !important;
    box-shadow: 0 10px 22px rgba(138,51,253,.22);
}
.customer-shell input:not([type="checkbox"]):not([type="radio"]),
.customer-shell select,
.customer-shell textarea {
    border: 1px solid #e4d9f0 !important;
    border-radius: 12px !important;
    background-color: #fbf9fd !important;
}
.customer-shell input:focus,
.customer-shell select:focus,
.customer-shell textarea:focus {
    border-color: #aa68ff !important;
    box-shadow: 0 0 0 4px rgba(138,51,253,.10) !important;
}
.customer-shell input[type="checkbox"] { accent-color: var(--ct-purple); }

.customer-shell .order-tab { transition: color .2s ease, background .2s ease; border-radius: 12px 12px 0 0; }
.customer-shell .order-tab:hover { background: #faf6ff; color: var(--ct-purple); }
.customer-shell .tab-panel article > div:first-child { background: linear-gradient(100deg, #faf6ff, #f6f3f9) !important; }
.customer-shell .tab-panel article img { border: 1px solid #eadff8; box-shadow: 0 8px 20px rgba(49,30,70,.10); }

.customer-shell #wishlistItemsContainer > div,
.customer-shell #wishlistItemsContainer > article {
    background: linear-gradient(110deg, #fff, #fdfaff) !important;
    border-color: #eee5f7 !important;
}

.cart-page-shell > section {
    background:
        radial-gradient(circle at 90% 10%, rgba(138,51,253,.08), transparent 26%),
        linear-gradient(180deg, #fff, #fcf9ff) !important;
}
.cart-page-shell .max-w-8xl { max-width: 1660px !important; }
.cart-page-shell table,
.cart-page-shell .border.rounded-xl,
.cart-page-shell .overflow-x-auto {
    overflow: hidden;
    border: 1px solid #e8ddf4 !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 40px rgba(57,30,88,.08);
}
.cart-page-shell thead,
.cart-page-shell thead tr {
    background: linear-gradient(100deg, #291d38, #523073) !important;
}
.cart-page-shell tbody tr { background: #fff; }
.cart-page-shell tbody tr:hover { background: #fdfaff; }
.cart-page-shell tbody img { border-radius: 14px !important; box-shadow: 0 9px 22px rgba(42,25,60,.12); }
.cart-page-shell .bg-\[\#f6f6f6\] {
    border: 1px solid #eadff5;
    background: linear-gradient(135deg, #fbf8ff, #f5effc) !important;
}
.cart-page-shell button.bg-\[\#8a33fd\],
.cart-page-shell a.bg-\[\#8a33fd\] {
    border-radius: 12px !important;
    background: linear-gradient(135deg, #9638ff, #7425e8) !important;
    box-shadow: 0 10px 24px rgba(138,51,253,.24);
}

@media (max-width: 1279px) {
    .customer-shell > .flex > :has(.customer-menu) { position: static !important; }
    .customer-menu nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
    .customer-menu > p:first-of-type { margin-bottom: 20px !important; }
}
@media (max-width: 700px) {
    .customer-shell { padding-top: 28px !important; }
    .customer-menu nav { display: flex; flex-direction: row; overflow-x: auto; padding-bottom: 5px; }
    .customer-menu nav > a,
    .customer-menu nav > form { min-width: max-content; }
    .customer-menu > p:first-of-type { margin-left: 0 !important; }
    .customer-shell .order-tab { padding-left: 12px !important; padding-right: 12px !important; font-size: 14px !important; }
}
