:root {

  --color-gs-blue: #ff6900;

  --color-gs-blue-light: #ff8533;

  --color-gs-blue-soft: #fff1e8;

  --color-gs-accent: #ff6900;

  --color-gs-surface: #f7f7f8;

  --color-gs-ink: #1a1a1a;

  --shadow-soft: 0 10px 32px rgba(255, 105, 0, 0.12);

  --shadow-card: 0 2px 12px rgba(17, 17, 17, 0.06);

  --radius-lg: 1.5rem;

}

/* ---------- Header ---------- */

.gs-header {

  background: rgba(255, 255, 255, 0.92);

  backdrop-filter: blur(16px);

  -webkit-backdrop-filter: blur(16px);

  border-bottom: 1px solid rgba(0, 0, 0, 0.06);

  box-shadow: none;

}

.gs-header__logo-img {

  display: block;

  height: 43px;

  width: auto;

}

.gs-header__menu-link {

  font-weight: 500;

  letter-spacing: 0.01em;

}

.gs-header__menu-link--active {

  border-bottom-color: var(--color-gs-blue);

  color: var(--color-gs-blue);

}

.gs-header__menu-link:hover {

  color: var(--color-gs-blue);

}

.gs-header__cart-badge {

  background: var(--color-gs-blue);

}

.gs-header__phone {

  color: var(--color-gs-ink);

  font-weight: 600;

}

.gs-header__cart,

.gs-header__burger {

  color: #111827 !important;

}

/* ---------- Hero ---------- */

.gs-hero {

  position: relative;

  overflow: hidden;

  color: #fff !important;

  background:

    radial-gradient(ellipse 60% 50% at 90% 10%, rgba(255, 105, 0, 0.35) 0%, transparent 55%),

    radial-gradient(ellipse 40% 40% at 10% 90%, rgba(255, 133, 51, 0.18) 0%, transparent 50%),

    linear-gradient(160deg, #1a1a1a 0%, #2a1a12 45%, #111111 100%) !important;

}

.gs-hero .text-white,

.gs-hero__headline,

.gs-hero__subhead {

  color: #ffffff !important;

}

.gs-hero__row {

  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(140px, 0.95fr);

  gap: 0.5rem 0.65rem;

  align-items: center;

}

@media (min-width: 640px) {

  .gs-hero__row {

    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr);

    gap: 1.5rem 2rem;

  }

}

.gs-hero__headline {

  font-weight: 800;

  letter-spacing: -0.03em;

  line-height: 1.15;

}

.gs-hero__xm {

  white-space: nowrap;

}

.gs-hero__subhead {

  color: rgba(255, 255, 255, 0.82) !important;

  max-width: 32rem;

}

.gs-hero .cta--contained {

  background: #ff6900 !important;

  color: #fff !important;

  border-color: #ff6900 !important;

  border-radius: 999px !important;

  font-weight: 700;

  box-shadow: 0 10px 28px rgba(255, 105, 0, 0.35);

}

.gs-hero .cta--outlined {

  background: transparent !important;

  color: #fff !important;

  border: 1.5px solid rgba(255, 255, 255, 0.85) !important;

  border-radius: 999px !important;

}

.gs-hero__product {

  width: 100%;

  height: auto;

  max-height: clamp(220px, 48vw, 520px);

  object-fit: contain;

  filter: drop-shadow(0 18px 32px rgba(0, 0, 0, 0.45));

}

/* ---------- Lineup / benefits / catalog accents ---------- */

.gs-lineup__title,

.gs-product-grid__title {

  letter-spacing: -0.02em;

}

.gs-benefit-card__icon {

  background: var(--color-gs-blue-soft) !important;

  color: var(--color-gs-blue);

}

.cta--contained,

.btn-primary,

button.bg-gs-blue {

  background: var(--color-gs-blue) !important;

  border-color: var(--color-gs-blue) !important;

}

.text-gs-blue {

  color: var(--color-gs-blue) !important;

}

.gs-mega-menu__category:hover .gs-mega-menu__category-name,

.gs-mega-menu__quick-link:hover .gs-mega-menu__quick-title {

  color: var(--color-gs-blue);

}

.gs-mobile-nav__phone {

  color: var(--color-gs-blue);

}

.gs-mobile-nav {

  gap: 0 !important;

  padding: 0.35rem 0 0.75rem !important;

  max-height: calc(100dvh - 64px);

  overflow-y: auto;

  -webkit-overflow-scrolling: touch;

}

.gs-mobile-nav__phone {

  display: flex !important;

  align-items: center;

  justify-content: flex-start;

  gap: 0.4rem;

  margin: 0.15rem 0 0.45rem;

  padding: 0.55rem 0.75rem !important;

  border-radius: 0.65rem;

  background: var(--color-gs-blue-soft);

  color: #c75300 !important;

  font-size: 0.95rem !important;

  font-weight: 700 !important;

  text-decoration: none;

  border-bottom: none !important;

}

.gs-mobile-nav__item {

  padding: 0.45rem 0 !important;

}

.gs-contact-cta {

  padding-top: 3.5rem;

  padding-bottom: 3.5rem;

}

@media (min-width: 1024px) {

  .gs-contact-cta {

    padding-top: 4.5rem;

    padding-bottom: 4.5rem;

  }

}

/* ---------- Delivery promo ---------- */

.gs-delivery-promo {

  position: relative;

  overflow: hidden;

  color: #fff !important;

  background-color: #1a120c;

  background-image: var(--gs-delivery-bg);

  background-size: cover;

  background-position: center right;

  background-repeat: no-repeat;

  isolation: isolate;

}

.gs-delivery-promo__overlay {

  position: absolute;

  inset: 0;

  z-index: 0;

  background:

    linear-gradient(105deg, rgba(20, 12, 8, 0.94) 0%, rgba(20, 12, 8, 0.78) 42%, rgba(255, 105, 0, 0.28) 72%, rgba(20, 12, 8, 0.25) 100%);

}

.gs-delivery-promo__inner {

  position: relative;

  z-index: 1;

  padding: 2.25rem 1rem;

}

@media (min-width: 640px) {

  .gs-delivery-promo__inner { padding: 3rem 1.5rem; }

}

@media (min-width: 1024px) {

  .gs-delivery-promo__inner { padding: 3.5rem 2rem; }

}

.gs-delivery-promo__content { max-width: 34rem; }

.gs-delivery-promo__label {

  display: block;

  margin-bottom: 0.5rem;

  font-size: 0.7rem;

  font-weight: 700;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.7);

}

.gs-delivery-promo__title {

  margin: 0 0 0.65rem;

  font-size: clamp(1.5rem, 3.5vw, 2.35rem);

  font-weight: 700;

  letter-spacing: -0.02em;

  line-height: 1.15;

  color: #fff !important;

}

.gs-delivery-promo__text {

  margin: 0 0 1.15rem;

  color: rgba(255, 255, 255, 0.88) !important;

  font-size: 0.95rem;

  line-height: 1.45;

}

.gs-delivery-promo__actions {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 0.75rem 1.1rem;

}

.gs-delivery-promo__btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 0.7rem 1.25rem;

  background: #ff6900 !important;

  color: #fff !important;

  border-radius: 999px !important;

  font-weight: 700;

  text-decoration: none;

}

.gs-delivery-promo__btn:hover {

  background: #fff !important;

  color: #1a1a1a !important;

}

.gs-delivery-promo__link {

  color: #fff !important;

  font-weight: 600;

  text-decoration: none;

}

.gs-delivery-promo__link:hover { color: #ffb380 !important; }

/* Consult CTA — high-contrast Xiaomi orange */

.gs-consult,

.gs-consult--pixel,

.gs-consult--xiaomi {

  background: linear-gradient(135deg, #ff6900 0%, #ff7a1a 50%, #ff8533 100%) !important;

  color: #fff !important;

  border-radius: 1.5rem;

}

.gs-consult__title,

.gs-consult h2 {

  color: #ffffff !important;

}

.gs-consult__text,

.gs-consult p,

.gs-consult .text-white\/80 {

  color: #ffffff !important;

  opacity: 1 !important;

}

.gs-consult .cta,

.gs-consult .cta--contained,

.gs-consult .cta--black {

  background: #ffffff !important;

  color: #c75300 !important;

  border: none !important;

  border-radius: 999px !important;

  font-weight: 700 !important;

  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18) !important;

}

.gs-consult .cta:hover,

.gs-consult .cta--contained:hover {

  background: #1a1a1a !important;

  color: #ffffff !important;

}

/* ---------- Header layout ---------- */

.gs-header {

  position: sticky;

  top: 0;

  z-index: 50;

}

.gs-header__inner {

  max-width: 80rem !important;

  width: 100% !important;

  margin-left: auto !important;

  margin-right: auto !important;

  padding-left: clamp(1rem, 2.5vw, 2rem) !important;

  padding-right: clamp(1rem, 2.5vw, 2rem) !important;

  padding-top: 0.85rem !important;

  padding-bottom: 0.85rem !important;

}

.gs-header__row {

  display: flex !important;

  align-items: center !important;

  justify-content: flex-start !important;

  gap: 1rem !important;

  width: 100% !important;

}

.gs-header__logo { flex: 0 0 auto !important; }

.gs-header__nav {

  flex: 1 1 auto !important;

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  gap: 0.35rem !important;

  margin: 0 0.75rem !important;

  min-width: 0 !important;

}

.gs-header__menu-link {

  flex: 1 1 auto !important;

  text-align: center !important;

  white-space: nowrap !important;

  padding-left: 0.35rem !important;

  padding-right: 0.35rem !important;

}

.gs-header__actions {

  flex: 0 0 auto !important;

  margin-left: auto !important;

  display: flex !important;

  align-items: center !important;

  gap: 0.75rem !important;

}

@media (max-width: 1023px) {

  .gs-header__nav { display: none !important; }

  /* Hide desktop tel link only; keep icon-only .gs-header__phone--mobile */
  .gs-header__phone:not(.gs-header__phone--mobile) { display: none !important; }

  .gs-header__phone--mobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ff6900 !important;
    padding: 4px !important;
  }

  .gs-header__phone--mobile svg {
    width: 22px !important;
    height: 22px !important;
    stroke: #ff6900 !important;
    color: #ff6900 !important;
  }

}

/* ---------- Footer ---------- */

.gs-footer {

  background: #141414 !important;

  color: #fff !important;

  margin-top: 3rem;

}

.gs-footer__inner {

  padding-top: 1.75rem !important;

  padding-bottom: 1.25rem !important;

}

.gs-footer__top {

  display: grid !important;

  gap: 1.25rem 1.5rem !important;

}

@media (min-width: 1024px) {

  .gs-footer__top {

    grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.2fr) !important;

    align-items: start !important;

  }

}

.gs-footer__brand-logo {

  display: block !important;

  height: 28px !important;

  width: auto !important;

  margin-bottom: 0.55rem !important;

  filter: none !important;

}

.gs-footer__brand-text {

  margin: 0 0 0.65rem !important;

  max-width: 22rem !important;

  font-size: 0.75rem !important;

  line-height: 1.45 !important;

  color: rgba(255, 255, 255, 0.55) !important;

}

.gs-footer__columns {

  display: grid !important;

  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  gap: 0.95rem 1.1rem !important;

}

@media (min-width: 768px) {

  .gs-footer__columns {

    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

  }

}

.gs-footer__title {

  margin: 0 0 0.45rem !important;

  font-size: 0.72rem !important;

  font-weight: 700 !important;

  letter-spacing: 0.06em !important;

  text-transform: uppercase !important;

  color: rgba(255, 255, 255, 0.9) !important;

}

.gs-footer__list {

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;

  display: grid !important;

  gap: 0.25rem !important;

}

.gs-footer__link,

.gs-footer__text {

  font-size: 0.82rem !important;

  line-height: 1.4 !important;

  color: rgba(255, 255, 255, 0.62) !important;

  text-decoration: none !important;

}

.gs-footer__link:hover { color: #ff8533 !important; }

.gs-footer__bottom {

  margin-top: 1.15rem !important;

  padding-top: 0.85rem !important;

  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 0.3rem !important;

}

@media (min-width: 640px) {

  .gs-footer__bottom {

    flex-direction: row !important;

    justify-content: space-between !important;

    align-items: center !important;

    gap: 1rem !important;

  }

}

.gs-footer__bottom p {

  margin: 0 !important;

  font-size: 0.7rem !important;

  color: rgba(255, 255, 255, 0.42) !important;

}

.gs-footer__brand-name { display: none !important; }

/* Compact Samsung-style page title bar (internal pages) */

.gs-page-bar,

.gs-page-hero,

.gs-samsung-hero,

section[class*="-hero"]:not(.gs-hero) {

  background: #f5f6f8 !important;

  color: #010101 !important;

  min-height: 0 !important;

  position: relative;

  overflow: visible !important;

  border-bottom: 1px solid rgba(1, 1, 1, 0.06);

}

.gs-page-bar__inner {

  padding-top: 1.25rem;

  padding-bottom: 1.25rem;

}

.gs-page-bar__crumbs {

  font-size: 0.75rem;

  color: rgba(1, 1, 1, 0.45);

  margin-bottom: 0.4rem;

}

.gs-page-bar__crumbs a {

  color: rgba(1, 1, 1, 0.45);

  text-decoration: none;

}

.gs-page-bar__crumbs a:hover {

  color: var(--color-gs-blue);

}

.gs-page-bar__sep {

  margin: 0 0.4rem;

  opacity: 0.5;

}

.gs-page-bar__label {

  display: block;

  font-size: 0.7rem;

  font-weight: 700;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: var(--color-gs-blue);

  margin-bottom: 0.35rem;

}

.gs-page-bar__title {

  font-size: clamp(1.35rem, 2.2vw, 1.85rem);

  font-weight: 700;

  letter-spacing: -0.02em;

  line-height: 1.2;

  color: #010101 !important;

  margin: 0;

}

.gs-page-bar__desc {

  margin: 0.45rem 0 0;

  max-width: 42rem;

  font-size: 0.9rem;

  line-height: 1.45;

  color: rgba(1, 1, 1, 0.58) !important;

}

.gs-page-bar__actions {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem 1.25rem;

  margin-top: 0.7rem;

}

.gs-page-bar__link {

  font-size: 0.875rem;

  font-weight: 600;

  color: var(--color-gs-blue);

  text-decoration: none;

}

.gs-page-bar__link:hover {

  text-decoration: underline;

}

/* FAQ: light surface so it doesn't blend with white sections */

.gs-faq,

.gs-faq-main,

.gs-credit-faq,

.gs-installment-faq,

.gs-payment-faq,

section[class*="-faq"]:not(.gs-faq-contacts):not(.gs-faq-info):not(.gs-faq-pickup):not(.gs-faq-note):not(.gs-faq-tradein):not(.gs-faq-contact) {

  background: #f5f6f8 !important;

}

.gs-faq__item,

.gs-faq-main__item,

[class*="-faq__item"] {

  border-color: rgba(1, 1, 1, 0.08) !important;

}

/* Hide leftover hero images on internal pages */

.gs-page-bar .gs-page-hero__img,

.gs-page-hero__img,

.gs-samsung-hero .absolute.inset-0 {

  display: none !important;

}

/* Brands lineup styles live in theme.css */

/* ===== Contact CTA block (redmi) ===== */

.gs-contact-cta,

section.gs-contact {

  background: #f7f7f8 !important;

  color: #1a1a1a !important;

  border-top: 1px solid rgba(0, 0, 0, 0.06);

  border-bottom: 1px solid rgba(0, 0, 0, 0.06);

  padding-top: 3.5rem !important;

  padding-bottom: 3.5rem !important;

}

@media (min-width: 1024px) {

  .gs-contact-cta,

  section.gs-contact {

    padding-top: 4.5rem !important;

    padding-bottom: 4.5rem !important;

  }

}

.gs-contact-cta > [class$="__inner"] {

  padding-top: 0 !important;

  padding-bottom: 0 !important;

}

.gs-contact-cta__grid {

  display: grid !important;

  gap: 1.75rem 2.5rem !important;

  align-items: start !important;

}

@media (min-width: 1024px) {

  .gs-contact-cta__grid {

    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;

    align-items: center !important;

  }

}

.gs-contact-cta__title {

  margin: 0 0 0.65rem !important;

  font-size: clamp(1.35rem, 2.4vw, 1.9rem) !important;

  font-weight: 800 !important;

  letter-spacing: -0.02em !important;

  line-height: 1.25 !important;

  color: #1a1a1a !important;

}

.gs-contact-cta__text {

  margin: 0 0 1.15rem !important;

  font-size: 0.98rem !important;

  line-height: 1.5 !important;

  color: rgba(26, 26, 26, 0.68) !important;

  max-width: 34rem !important;

}

.gs-contact-cta__phones {

  display: flex !important;

  flex-wrap: wrap !important;

  gap: 0.65rem !important;

  margin-bottom: 1.1rem !important;

}

.gs-contact-cta__phone {

  display: inline-flex !important;

  align-items: center !important;

  gap: 0.55rem !important;

  padding: 0.7rem 1.1rem !important;

  border-radius: 999px !important;

  background: #ff6900 !important;

  color: #fff !important;

  font-weight: 700 !important;

  font-size: 1rem !important;

  text-decoration: none !important;

  box-shadow: 0 8px 22px rgba(255, 105, 0, 0.28) !important;

}

.gs-contact-cta__phone:hover {

  background: #e65f00 !important;

  color: #fff !important;

}

.gs-contact-cta__phone svg {

  width: 1.15rem !important;

  height: 1.15rem !important;

  flex: 0 0 auto !important;

}

.gs-contact-cta__address {

  font-size: 0.92rem !important;

  line-height: 1.45 !important;

  color: rgba(26, 26, 26, 0.78) !important;

}

.gs-contact-cta__address strong {

  color: #1a1a1a !important;

  font-weight: 700 !important;

}

.gs-contact-cta__address-link {

  color: #c75300 !important;

  font-weight: 600 !important;

  text-decoration: none !important;

}

.gs-contact-cta__address-link:hover {

  color: #ff6900 !important;

  text-decoration: underline !important;

}

.gs-contact-cta__hours {

  margin: 0.45rem 0 0 !important;

  color: rgba(26, 26, 26, 0.55) !important;

  font-size: 0.85rem !important;

}

.gs-contact-cta__map-wrap {

  border-radius: 1.25rem !important;

  overflow: hidden !important;

  background: #fff !important;

  border: 1px solid rgba(0, 0, 0, 0.08) !important;

  box-shadow: 0 10px 28px rgba(17, 17, 17, 0.06) !important;

  min-height: 240px !important;

}

@media (min-width: 1024px) {

  .gs-contact-cta__map-wrap {

    min-height: 300px !important;

  }

}

.gs-contact-cta__map {

  display: block !important;

  width: 100% !important;

  height: 240px !important;

  border: 0 !important;

}

@media (min-width: 1024px) {

  .gs-contact-cta__map {

    height: 300px !important;

  }

}

/* ===== Xiaomi orange accents + delivery bg ===== */
:root {
  --color-gs-blue: #ff6900;
  --color-gs-blue-light: #ff8533;
  --color-gs-blue-soft: #fff1e8;
  --color-gs-accent: #ff6900;
}
